From: Miguel F. <mi...@ce...> - 2002-05-27 16:27:45
|
Hi Mauro, Here we go again... i think it's the third time i talk about this problem with TS demuxer... ;) Take a look at this message: From: Miguel Freitas <mi...@ce...> To: xine-dev <xin...@li...> Cc: shaheed <sr...@ie...> Subject: [xine-devel] transport streams question Date: 17 May 2002 18:53:26 -0300 Hi folks, While testing latest demux_ts patches i noticed problems to play some cnn transport streams under xine. One problem is related to still frame code and i will do tests with dvd menus before commiting my fix. The other problem really puzzles me, so i'd like to ask advice to TS especialists over there... Shaheed? ;) The ts files i tried have audio data much ahead (in time) from video. This causes the audio decoder fifo to get full while video decoder is still processing old frames. Since the full fifo blocks the demuxer, video playback gets very sluggish (triggering still frame code several times) while the audio plays fine. If i run xine without audio, the demuxer doesn't block and video playback is ok. Since i can't control how these streams are generated, i hope something could be done at demuxer stage to handle it better. debuging demux_ts i noticed that all buffers being passed to decoders are only 156 or 168 bytes long! This is too small and will create a needless pressure on xine engine. Besides, it makes the stream unplayable. Is it possible to deliver data in larger chunks? Perhaps joining several of this 156 bytes buffers into a single buffer? regards, Miguel On Mon, 2002-05-27 at 12:57, Mauro Borghi wrote: > > Hello, > > MPEG TS files that were working perfectly with 0.9.9 do not always work with > 0.9.10. Anybody did some similar testing? "possible still frames" > everywhere... any idea? > > Input is from file. This does not happen always, but there is no recovery > after the first "possible still frame". While video jumps from still frame to > still frame, audio is playing smoothly. > > Same problems with the DVB input plugin I just merged against 0.9.10. > > Ciao, > Mauro. > > > Here is some xine-logging: > > system layer format 'MPEG_TS' detected. > metronom: video discontinuity #2, type is 0, disc_off is 0 > metronom: waiting for audio discontinuity #2 > metronom: audio discontinuity #2, type is 0, disc_off 0 > metronom: audio vpts adjusted with prebuffer to 481672 > metronom: waiting for in_discontinuity update #2 > metronom: video vpts adjusted to 481672 > video_decoder: new pts 1083158517 > metronom: video discontinuity #3, type is 2, disc_off is 1083158517 > metronom: waiting for audio discontinuity #3 > metronom: audio discontinuity #3, type is 2, disc_off 1083158517 > metronom: waiting for in_discontinuity update #3 > audio_decoder: using audio decoder plugin 'mad' > input_file: get optional data, type 00000003, sub (nil) > input_file: get optional data, type 00000003, sub (nil) > audio_out: stream audio format is 48000 kHz sampling rate, 16 bits. mode is > 8. > audio_oss_out: ao_open rate=48000, mode=8, dev=/dev/dsp > audio_oss_out: audio rate : 48000 requested, 48000 provided by device/sec > audio_oss_out : 2 channels output > audio_out: output sample rate 48000 > audio_out: thread created > video_decoder: using decoder >mpeg2dec< > using video decoder plugin 'mpeg2dec' > libmpeg2: frame size is 0 x 0, ratio is 3 > libmpeg2: frame size has changed to from 0 x 0 to 704 x 576 > libmpeg2: old frames fr7eed. > audio_out: inserting 4489 0-frames to fill a gap of 8420 pts > video_out: freeing frame backup > video_out: possible still frame (fifosize = 0) > video_out: freeing frame backup > video_out: possible still frame (fifosize = 0) > video_out: freeing frame backup > video_out: possible still frame (fifosize = 0) > 200 frames delivered, 187 frames skipped, 0 frames discarded > video_out: freeing frame backup > video_out: possible still frame (fifosize = 0) > video_out: freeing frame backup > video_out: possible still frame (fifosize = 0) > video_out: freeing frame backup > video_out: possible still frame (fifosize = 0) > video_out: freeing frame backup > video_out: possible still frame (fifosize = 0) > video_out: freeing frame backup > 200 frames delivered, 191 frames skipped, 0 frames discarded > video_out: possible still frame (fifosize = 0) > video_out: freeing frame backup > video_out: possible still frame (fifosize = 0) > 200 frames delivered, 193 frames skipped, 0 frames discarded > 200 frames delivered, 196 frames skipped, 0 frames discarded > video_out: freeing frame backup > video_out: possible still frame (fifosize = 0) > video_out: freeing frame backup > video_out: possible still frame (fifosize = 0) > metronom: video jump > video_out: freeing frame backup > video_out: possible still frame (fifosize = 0) > 200 frames delivered, 196 frames skipped, 0 frames discarded > video_out: freeing frame backup > 200 frames delivered, 197 frames skipped, 0 frames discarded > video_out: possible still frame (fifosize = 0) > > > > _______________________________________________________________ > > Don't miss the 2002 Sprint PCS Application Developer's Conference > August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm > > _______________________________________________ > xine-devel mailing list > xin...@li... > https://lists.sourceforge.net/lists/listinfo/xine-devel |