[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