### Question:
H264AnnexBTrack extends H264NalConsumingTrack implements Callable<Void> { public Void call() throws IOException, InterruptedException { byte[] nal; NalStreamTokenizer st = new NalStreamTokenizer(inputStream); while ((nal = st.getNext()) != null) { consumeNal(ByteBuffer.wrap(nal)); } pushSample(createSample(buffered, fvnd.sliceHeader, sliceNalUnitHeader), true, true); return null; } H264AnnexBTrack(InputStream inputStream); Void call(); @Override String toString();  }### Answer:
@Test public void testMuxing() throws Exception { H264AnnexBTrack b = new H264AnnexBTrack(H264AnnexBTrackTest.class.getResourceAsStream("/org/mp4parser/streaming/input/h264/tos.h264")); ByteArrayOutputStream baos = new ByteArrayOutputStream(); FragmentedMp4Writer writer = new FragmentedMp4Writer(Collections.<StreamingTrack>singletonList(b), Channels.newChannel(baos)); b.call(); writer.close(); IsoFile isoFile = new IsoFile(Channels.newChannel(new ByteArrayInputStream(baos.toByteArray()))); Walk.through(isoFile); List<Sample> s = new Mp4SampleList(1, isoFile, new InMemRandomAccessSourceImpl(baos.toByteArray())); for (Sample sample : s) { sample.asByteBuffer(); } }