rsodec: use ff_pcm_read_packet()
authorPaul B Mahol <onemda@gmail.com>
Mon, 3 Dec 2012 17:47:11 +0000 (17:47 +0000)
committerPaul B Mahol <onemda@gmail.com>
Wed, 5 Dec 2012 12:40:57 +0000 (12:40 +0000)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavformat/rsodec.c

index 19c21e0..d8ed695 100644 (file)
@@ -65,34 +65,19 @@ static int rso_read_header(AVFormatContext *s)
     st->codec->channels     = 1;
     st->codec->channel_layout = AV_CH_LAYOUT_MONO;
     st->codec->sample_rate  = rate;
+    st->codec->block_align  = 1;
 
     avpriv_set_pts_info(st, 64, 1, rate);
 
     return 0;
 }
 
-#define BLOCK_SIZE 1024 /* in samples */
-
-static int rso_read_packet(AVFormatContext *s, AVPacket *pkt)
-{
-    int bps = av_get_bits_per_sample(s->streams[0]->codec->codec_id);
-    int ret = av_get_packet(s->pb, pkt, BLOCK_SIZE * bps >> 3);
-
-    if (ret < 0)
-        return ret;
-
-    pkt->flags &= ~AV_PKT_FLAG_CORRUPT;
-    pkt->stream_index = 0;
-
-    return 0;
-}
-
 AVInputFormat ff_rso_demuxer = {
     .name           =   "rso",
     .long_name      =   NULL_IF_CONFIG_SMALL("Lego Mindstorms RSO"),
     .extensions     =   "rso",
     .read_header    =   rso_read_header,
-    .read_packet    =   rso_read_packet,
+    .read_packet    =   ff_pcm_read_packet,
     .read_seek      =   ff_pcm_read_seek,
     .codec_tag      =   (const AVCodecTag* const []){ff_codec_rso_tags, 0},
 };