Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

UMC Muxing Video + Audio, Attn: Gennady

New Contributor I

Legacy v6 and v7 UMC libraries have sample code to encode single track MPEG-4 files [video only]. I built a C++ class calling that code, worked fine. Then enhanced the C++ class to contain both a video and audio track, and now it's broken. In audio-video-codecs\codec\mpeg4_mux\src\umc_mp4_mux.cpp, function MuxData, there's a call to function FindMinTrackEnd, which MuxData then uses to decide which track to write to. Initially, FindMinTrackEnd returns 0 which is the video track. Soon after, FiindMinTrackEnd returns 1 which is the audio track, but there is no audio data to write. This confuses code calling MuxData, causes memory leaks, failures to call UnlockOutputBuffer from PutVideoData, and eventually everything breaks.

Has anyone any examples of writing multiple track MPEG-4 files?

Gennady: I don't so much need a code fix as much as I need to know if anyone has ever done this. Either I am mis-using the UMC, or the UMC was never used to mux video+audio into an MPEG-4 file. Can you please comment? Thanks.

0 Kudos
0 Replies