@Override public void outputAudioPacket(Packet audioPkt, AudioCodecMeta audioCodecMeta) throws IOException { if (!outputFormat.isAudio()) return; if (audioOutputTrack == null) { audioOutputTrack = muxer.addAudioTrack(outputAudioCodec, audioCodecMeta); } audioOutputTrack.addFrame(audioPkt); framesOutput = true; }
@Override public void outputVideoPacket(Packet packet, VideoCodecMeta codecMeta) throws IOException { if (!outputFormat.isVideo()) return; if (videoOutputTrack == null) { videoOutputTrack = muxer.addVideoTrack(outputVideoCodec, codecMeta); } videoOutputTrack.addFrame(packet); framesOutput = true; }
public void finish() throws IOException { if (framesOutput) { muxer.finish(); } else { Logger.warn("No frames output."); } if (destStream != null) { IOUtils.closeQuietly(destStream); } }