Dear all,<br><br>I am writing a MP4Demux and MP4DemuxedElementaryStream, in way as MPEG1or2Demux and MPEG1or2DemuxedElementaryStream.
In specific, my MP4Demux uses FFMPEG to read AVPacket from MP4 file,
and feed the Packet->data to MP4DemuxedElementaryStream. I tested my code in following ways, with different results:<br><br>Audio based test:<br><br>(1) Only getAudioStream() from my MP4DemuxedElementaryStream (I set presentation time stamp here according to AVPacket's pts value) and feed the stream to BasicUDPSink as source. In this way, the streamed audio can be perfectly replayed on my vlc player.<br>
(2) Still getAudioStream() from my MP4DemuxedElementarystream, but this time feed it to MPEGTransportStreamFromESStream + MPEG2TransportStreamFramer + BasicUDPSink. This time the program reads through the input mp4 file very fast without correct delaying between audio frames. Of course, this stream is not playable on vlc. Why so, even though (as I mentioned in test 1) the presentation Time is set correctly? <br>
<br>Video based test (this is a mess):<br><div id=":v7" class="ii gt">No matter I use BasicUDPSink nor MPEGTransportStreamFromESStream+MPEG2TransportStreamFramer+BasicUDPSink, the stream is not playable on vlc player. But when I only use BasicUDPSink, the delaying between video frames is correct. But in both cases, the streamed video is recognized by VLC. I even record those video packets to be sent as a .m4e file, which is still not playable on vlc. So I want know is the extracted AVPacket the wanted video elementary packets? Can they be used to feed liveMedia classes as I described?<br>
<br>I have tried this code for 2 weeks, no more idea now. :-(<br><br>I will appreciate if someone could give me suggestion on this! Thank you very much.<br clear="all"></div><br clear="all"><br>-- <br>Woods<br>