[MPlayer-users] mplayer SVN plays video too fast on FreeBSD

Tom Evans tevans.uk at googlemail.com
Wed Dec 16 15:58:29 CET 2009


On Tue, Dec 8, 2009 at 9:07 PM, Reimar Döffinger
<Reimar.Doeffinger at gmx.de> wrote:
> On Tue, Dec 08, 2009 at 08:29:14PM +0000, Tom Evans wrote:
>> Discovered the problem, reverting the following diff fixes it:
>>
>> ------------------------------------------------------------------------
>> r29750 | cladisch | 2009-10-05 08:42:02 +0100 (Mon, 05 Oct 2009) | 1 line
>>
>> fix calculation of ao_data.bps for sample formats with more than 16 bits
>> ------------------------------------------------------------------------
>> Index: libao2/ao_oss.c
>> ===================================================================
>> --- libao2/ao_oss.c     (revision 29749)
>> +++ libao2/ao_oss.c     (revision 29750)
>> @@ -396,8 +396,19 @@
>>    }
>>
>>    ao_data.bps=ao_data.channels;
>> -  if(ao_data.format != AF_FORMAT_U8 && ao_data.format != AF_FORMAT_S8)
>> +  switch (ao_data.format & AF_FORMAT_BITS_MASK) {
>> +  case AF_FORMAT_8BIT:
>> +    break;
>> +  case AF_FORMAT_16BIT:
>>      ao_data.bps*=2;
>> +    break;
>> +  case AF_FORMAT_24BIT:
>> +    ao_data.bps*=3;
>> +    break;
>> +  case AF_FORMAT_32BIT:
>> +    ao_data.bps*=4;
>> +    break;
>> +  }
>>
>>    ao_data.outburst-=ao_data.outburst % ao_data.bps; // round down
>>    ao_data.bps*=ao_data.samplerate;
>>
>>
>> In this case, .format is AF_FORMAT_AC3 (256), which gets masked out
>> for this switch, and matches the AF_FORMAT_8BIT (0) case, and so
>> doesn't get doubled. I don't know much about sound formats and their
>> ilk, so wouldn't like to speculate on what the correct fix would be,
>> but to get a working version I've reverted it for now.
>
> Could you try this patch and check if it breaks something (it's probably a good idea to do a make clean):
> Index: libaf/af_format.h
> ===================================================================
> --- libaf/af_format.h   (revision 29976)
> +++ libaf/af_format.h   (working copy)
> @@ -59,7 +59,7 @@
>  #define AF_FORMAT_MU_LAW       (1<<6)
>  #define AF_FORMAT_A_LAW                (2<<6)
>  #define AF_FORMAT_MPEG2                (3<<6) // MPEG(2) audio
> -#define AF_FORMAT_AC3          (4<<6) // Dolby Digital AC3
> +#define AF_FORMAT_AC3          ((4<<6)|AF_FORMAT_16BIT) // Dolby Digital AC3
>  #define AF_FORMAT_IMA_ADPCM    (5<<6)
>  #define AF_FORMAT_SPECIAL_MASK (7<<6)
>


I've been running with this patch for last week or so, no problems as far.

Cheers

Tom


More information about the MPlayer-users mailing list