[FFmpeg-soc] [Patch] Maxis EA XA decoder - GSoC Task

Benoit Fouet benoit.fouet at purplelabs.com
Mon Apr 14 16:32:50 CEST 2008


Michael Niedermayer wrote:
> On Sun, Apr 13, 2008 at 07:39:27PM +0200, Robert Marston wrote:
>   
>> On Sun, Apr 13, 2008 at 7:21 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
>>     
>>> On Sun, Apr 13, 2008 at 06:38:27PM +0200, Robert Marston wrote:
>>>  > On Sun, Apr 13, 2008 at 12:41 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
>>>  [...]
>>>
>>>       
>>>>>  > +    int ret = 0;
>>>>>           
>>>  > >  > +
>>>  > >  > +    if(xa->sent_bytes > xa->out_size)
>>>  > >  > +        return AVERROR(EIO);
>>>  > >  > +    /* 1 byte header and 14 bytes worth of samples * number channels per block */
>>>  > >  > +    packet_size = 15*st->codec->channels;
>>>  > >  > +
>>>  > >  > +    ret = av_get_packet(pb, pkt, packet_size);
>>>  > >
>>>  > >  ret is writen to twice but not read between.
>>>  [...]
>>>  > Corrected above issues.
>>>
>>> [...]
>>>  > +static int xa_read_packet(AVFormatContext *s,
>>>  > +                          AVPacket *pkt)
>>>  > +{
>>>  > +    MaxisXADemuxContext *xa = s->priv_data;
>>>  > +    AVStream *st = s->streams[0];
>>>  > +    ByteIOContext *pb = s->pb;
>>>  > +    unsigned int packet_size;
>>>
>>>  > +    int ret = 0;
>>>  > +
>>>  > +    if(xa->sent_bytes > xa->out_size)
>>>  > +        return AVERROR(EIO);
>>>  > +    /* 1 byte header and 14 bytes worth of samples * number channels per block */
>>>  > +    packet_size = 15*st->codec->channels;
>>>  > +
>>>  > +    ret = av_get_packet(pb, pkt, packet_size);
>>>
>>>  ret is still initialized twice
>>>
>>>       
>> Apologies, misunderstood. Corrected.
>>     
>
> patch looks ok
>
>   

seems to work with samples from [1]

applied

[1] http://samples.mplayerhq.hu/game-formats/maxis-xa/

-- 
Benoit Fouet
Purple Labs S.A.
www.purplelabs.com



More information about the FFmpeg-soc mailing list