try { HardMediaData data=cache.poll(50, TimeUnit.MILLISECONDS); synchronized (Lock){ Log.d(TAG,"data is null?"+(data==null)); if(muxStarted&&data!=null){ Log.v(TAG, "info.offset:= " + data.info.offset + "info.size:= " + data.info.size + "info.time:= " + data.info.presentationTimeUs + "info.flg:= " + data.info.flags); if(data.info.size==0 || data.info.presentationTimeUs<0){ continue; } mMuxer.writeSampleData(data.index, data.data, data.info); recycler.put(data.index,data); } } } catch (InterruptedException e) { e.printStackTrace(); break; }
写muxer前先判断info的值,不合格时不写文件。