[MPlayer-dev-eng] Another ATSC "a52: CRC check failed" problem

Mark Haun haunma at keteu.org
Sun Feb 19 05:52:49 CET 2006


Hello list,

I've been experiencing persistent "a52: CRC check failed" errors with two of
my local ATSC broadcasters (KTWB and KCPQ in Seattle, WB and FOX networks). 
Upon launching mplayer as, e.g.,

mplayer dvb://KCPQ

the audio stutters for a couple of seconds, the video slows down to 1
frame/sec trying to resync, and then it dies.  After hours of fruitless
effort trying to find something wrong with my ALSA setup, I stumbled onto
the following patch, posted last year:

On 29 November 2005, Scott W. Larson wrote:
> Rich Felker wrote:
> > diff -u is _unified_ diff. context diff (diff -c) is something else
> > that we don't like.
>
> Whatever it's called, here it is in the hope it will help someone figure out
> the problem:
>
> --- libmpdemux/demux_ts.c       6 Nov 2005 16:17:17 -0000       1.39
> +++ libmpdemux/demux_ts.c       29 Nov 2005 15:54:40 -0000
> @@ -1315,8 +1315,8 @@
>                 else if ((p[0] & 0xF0) == 0x80)
>                 {
>                        mp_msg(MSGT_DEMUX, MSGL_DBG2, "A52 WITH HEADER\n");
> -                       es->start   = p+4;
> -                       es->size    = packet_len - 4;
> +                       es->start   = p;
> +                       es->size    = packet_len;
>                        es->type    = AUDIO_A52;
>                        es->payload_size -= packet_len;

After applying this to MPlayer-1.0pre7try2, the CRC errors are eliminated
and both channels decode flawlessly.

Here is my mplayer config:

vo=xv
vf=pp=md
ao=alsa:device=nforce
ac=hwac3

(nforce is a dmix device in my asoundrc)

I hope this data point will help someone figure out why the patch works.  If
a sample of either transport stream would be helpful, I can provide it.

Regards,

Mark




More information about the MPlayer-dev-eng mailing list