} else if (!strcmp(buf, "28_8")) { st->codec.codec_id = CODEC_ID_RA_288; st->codec.extradata_size= 10; st->codec.extradata= av_mallocz(st->codec.extradata_size);   ((uint16_t*)st->codec.extradata)[1]= sub_packet_h; ((uint16_t*)st->codec.extradata)[2]= flavor; ((uint16_t*)st->codec.extradata)[3]= coded_framesize;
static void rm_read_audio_stream_info(AVFormatContext *s, AVStream *st,                                       int read_all){    ByteIOContext *pb = &s->pb;    char buf[128];    uint32_t version;    int i;    /* ra type header */    version = get_be32(pb); /* version */    if (((version >> 16) & 0xff) == 3) {        /* very old version */        for(i = 0; i < 14; i++)            get_byte(pb);        get_str8(pb, s->title, sizeof(s->title));        get_str8(pb, s->author, sizeof(s->author));        get_str8(pb, s->copyright, sizeof(s->copyright));        get_str8(pb, s->comment, sizeof(s->comment));        get_byte(pb);        get_str8(pb, buf, sizeof(buf));        st->codec.sample_rate = 8000;        st->codec.channels = 1;        st->codec.codec_type = CODEC_TYPE_AUDIO;        st->codec.codec_id = CODEC_ID_RA_144;    } else {        /* old version (4) */        get_be32(pb); /* .ra4 */        get_be32(pb);        get_be16(pb);        get_be32(pb); /* header size */        get_be16(pb); /* add codec info */        get_be32(pb); /* coded frame size */        get_be32(pb); /* ??? */        get_be32(pb); /* ??? */        get_be32(pb); /* ??? */        get_be16(pb); /* 1 */         get_be16(pb); /* coded frame size */        get_be32(pb);        st->codec.sample_rate = get_be16(pb);        get_be32(pb);        st->codec.channels = get_be16(pb);        get_str8(pb, buf, sizeof(buf)); /* desc */        get_str8(pb, buf, sizeof(buf)); /* desc */        st->codec.codec_type = CODEC_TYPE_AUDIO;        if (!strcmp(buf, "dnet")) {            st->codec.codec_id = CODEC_ID_AC3;        } else {            st->codec.codec_id = CODEC_ID_NONE;            pstrcpy(st->codec.codec_name, sizeof(st->codec.codec_name),                    buf);        }        if (read_all) {            get_byte(pb);            get_byte(pb);            get_byte(pb);                        get_str8(pb, s->title, sizeof(s->title));            get_str8(pb, s->author, sizeof(s->author));            get_str8(pb, s->copyright, sizeof(s->copyright));            get_str8(pb, s->comment, sizeof(s->comment));        }    }}