[MPlayer-dev-eng] [BUG] DVB input/MPEG-TS not working correctly

Nico nsabbi at libero.it
Wed Aug 20 10:04:18 CEST 2003


----- Original Message -----
From: David Kuehling <dvdkhlng at gmx.de>
To: <mplayer-dev-eng at mplayerhq.hu>
Sent: Tuesday, August 19, 2003 2:24 PM
Subject: [MPlayer-dev-eng] [BUG] DVB input/MPEG-TS not working correctly


> Hi,
>
> just got a PCI Nova-t some days ago and am now trying to use MPlayer-CVS
> for watching video.  Unfortunately it doesn't work reliably.  Seems to
> be so damn broken, that I don't even know, where to start
> bug-reporting...
>
> Well, that what works so far (without zapping or trying to seek):
>

you can't seek in a pipe or in a non-file stream


> mplayer dvb:// -cache 4096
>
> tzap -r "Das Erste" & sleep 1; mplayer - -cache 4096 <
/dev/dvb/adapter0/dvr0
>
> tzap -r "Das Erste" & sleep 1; buffer -m1m < /dev/dvb/adapter0/dvr0 | (
>     sleep 1; mplayer -)
>
> And now what's going wrong:
>
> 1.)  MPEG-TS demuxer problem?
>
> tzap -r "Das Erste" & sleep 1; mplayer - -cache 4096 <
/dev/dvb/adapter0/dvr0
>
> Strangely, one is allowed to seek in that stream when using -cache.  But
> that makes MPlayer crash.  The bug can be reproduced, when trying to
> seek in the MPEG-TS data recorded to hard disk:
>
> cat /dev/dvb/adapter0/dvr0 > dvbt-berlin.mpg
> mplayer dvbt-berlin.mpg
>
> <<after trying to seek, using "left" button>>


seeking in a TS file works only if you have libavcodec compiled in mplayer
and appending -vc ffmpeg12 to the cli.

tzap -r "Das Erste" & sleep 1; mplayer -vc ffmpeg12 - -cache 4096 </dev/dvb/adapter0/dvr0

Seeking with libmpeg2 is reportedly broken.


>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 1024 (LWP 13751)]
> 0x080fc058 in mpeg2_set_buf (mpeg2dec=0x84400a0, buf=0x844b320,
id=0x844b300)
>     at decode.c:383
> 383         if (mpeg2dec->custom_fbuf && !mpeg2dec->fbuf[1]->buf[0]){
> (gdb) bt
> #0  0x080fc058 in mpeg2_set_buf (mpeg2dec=0x84400a0, buf=0x844b320,
>     id=0x844b300) at decode.c:383
> #1  0x080bb9c1 in decode (sh=0x842b360, data=0x40765008, len=74452,
flags=0)
>     at vd_libmpeg2.c:145
> #2  0x080b7356 in decode_video (sh_video=0x842b360, start=0x40765008 "",
>     in_size=74452, drop_frame=0) at dec_video.c:304
> #3  0x0806f4a8 in main (argc=2, argv=0xbffffa44) at mplayer.c:2043
>
> The line at decode.c:382 says " // HACK! FIXME! At first I frame, copy
> pointers to prediction frame too!", any clue?
>
> I'll try to upload the sample file, dvbt-berlin.mpg, this evening (18Mb
> with Modem should take some time :-( ).


please, let me know the name, so I can give it a look (but I will be back home 
friday)


>
> 2.)  Without caching or hard-disk-recording, A/V sync dies with "Too
> many video packets in the buffer: (4096 in 749258 bytes)."
>
> It works perfectly when using -cache 4096.
>
> mplayer - < /dev/dvb/adapter0/dvr0 -v > mplayer-dump1.txt 2>&1
>
> First there is audio, but video plays at 2 fps.  After about 3 seconds
> the message "Too many video packets in the buffer: (4096 in 749258
> bytes)." appears and I loose sound.  At that point video starts playing
> at normal speed:
>
> `mplayer-dump1.txt' attached as .bz2.
>
> Using "-mc 0", "-autosync 30" etc. doesn't help.  My soundcard is a
> Soundblaster 128 PCI with great support in Linux (ie not Alsa).  Never
> had any problems with it.
>

try increasing MAX_PACKS and MAX_PACKS_BYTES in libmpdemux/demuxer.h to
something
like 32768 and 0x800000;
you can also try my demux_ts patch that I posted in this ML few days ago (last version, dated 20030817), but you also need to increase those values.

> 3.) Zapping doesn't work correctly when using "mplayer dvb://"
>
> Since A/V sync crashes without cache, I use
>
> mplayer dvb:// -cache 4096
>
> First video plays correctly.  Than I press 'h' for zapping.  The video
> stops, and MPlayer prints out
>
> dvb_streaming_read, attempt N. 5 failed with errno 11 when reading 1684
bytes
> dvb_streaming_read, attempt N. 4 failed with errno 11 when reading 1684
bytes

this means that the dvb code is emptying the stream cache.

Are you sure that you don't have encrypted channels in
you channels.conf? Those are unsupported, so you should remove them. It's
written in the HTML docs.

> ...
>
> This continues for some seconds, then MPlayer seems to replay the
> contents of the cache.  After some more seconds (end of cache
> reached!?), MPlayer exits with "Broken frame at 0x24000".
>
> If I wait for some time before zapping (ie, making sure the cache is
> really full), zapping seems to succeed (I get to a different channel),
> but therefore A/V sync dies, excactly as described under 2.).
>
> Two corresponding dumps using option "-v" are attached as
> mplayer-dump2.txt.bz2 and -dump3.txt.bz2.
>
>
> There are some more problems, that I cannot recall right now.  Maybe I
> file some more bug-reports later on.  Here are my system information:
>
> Debian Woody 3.0
> Linux 2.4.17
> AMD/Duron 750 MHz
> SoundBlaster PCI 128
> Hauppauge WinTV NOVA-t
> gcc version 2.95.4 20011002 (Debian prerelease)
> MPlayer-CVS checked out today
> linuxtv-dvb-1.0.0
>
> The boradcasts I'm receiving are from Berlin's DVB-t.
>
> `config.h' attached as .bz2
>
> David
> --
> GnuPG public key: http://user.cs.tu-berlin.de/~dvdkhlng/dk.gpg
> Fingerprint: B17A DC95 D293 657B 4205  D016 7DEF 5323 C174 7D40
>
>


----------------------------------------------------------------------------
----


> _______________________________________________
> MPlayer-dev-eng mailing list
> MPlayer-dev-eng at mplayerhq.hu
> http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
>





More information about the MPlayer-dev-eng mailing list