rmdec: pass mime type to ff_rm_read_mdpr_codecdata()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -176,7 +176,7 @@ rdt_load_mdpr (PayloadContext *rdt, AVStream *st, int rule_nr)
|
|||||||
size = rdt->mlti_data_size;
|
size = rdt->mlti_data_size;
|
||||||
avio_seek(&pb, 0, SEEK_SET);
|
avio_seek(&pb, 0, SEEK_SET);
|
||||||
}
|
}
|
||||||
if (ff_rm_read_mdpr_codecdata(rdt->rmctx, &pb, st, rdt->rmst[st->index], size) < 0)
|
if (ff_rm_read_mdpr_codecdata(rdt->rmctx, &pb, st, rdt->rmst[st->index], size, NULL) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ extern AVInputFormat ff_rdt_demuxer;
|
|||||||
*/
|
*/
|
||||||
int ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVIOContext *pb,
|
int ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVIOContext *pb,
|
||||||
AVStream *st, RMStream *rst,
|
AVStream *st, RMStream *rst,
|
||||||
int codec_data_size);
|
int codec_data_size, const uint8_t *mime);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse one rm-stream packet from the input bytestream.
|
* Parse one rm-stream packet from the input bytestream.
|
||||||
|
|||||||
@@ -298,7 +298,7 @@ static int rm_read_audio_stream_info(AVFormatContext *s, AVIOContext *pb,
|
|||||||
|
|
||||||
int
|
int
|
||||||
ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVIOContext *pb,
|
ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVIOContext *pb,
|
||||||
AVStream *st, RMStream *rst, int codec_data_size)
|
AVStream *st, RMStream *rst, int codec_data_size, const uint8_t *mime)
|
||||||
{
|
{
|
||||||
unsigned int v;
|
unsigned int v;
|
||||||
int size;
|
int size;
|
||||||
@@ -440,7 +440,7 @@ static int rm_read_header(AVFormatContext *s)
|
|||||||
int tag_size;
|
int tag_size;
|
||||||
unsigned int start_time, duration;
|
unsigned int start_time, duration;
|
||||||
unsigned int data_off = 0, indx_off = 0;
|
unsigned int data_off = 0, indx_off = 0;
|
||||||
char buf[128];
|
char buf[128], mime[128];
|
||||||
int flags = 0;
|
int flags = 0;
|
||||||
|
|
||||||
tag = avio_rl32(pb);
|
tag = avio_rl32(pb);
|
||||||
@@ -505,11 +505,11 @@ static int rm_read_header(AVFormatContext *s)
|
|||||||
if(duration>0)
|
if(duration>0)
|
||||||
s->duration = AV_NOPTS_VALUE;
|
s->duration = AV_NOPTS_VALUE;
|
||||||
get_str8(pb, buf, sizeof(buf)); /* desc */
|
get_str8(pb, buf, sizeof(buf)); /* desc */
|
||||||
get_str8(pb, buf, sizeof(buf)); /* mimetype */
|
get_str8(pb, mime, sizeof(mime)); /* mimetype */
|
||||||
st->codec->codec_type = AVMEDIA_TYPE_DATA;
|
st->codec->codec_type = AVMEDIA_TYPE_DATA;
|
||||||
st->priv_data = ff_rm_alloc_rmstream();
|
st->priv_data = ff_rm_alloc_rmstream();
|
||||||
if (ff_rm_read_mdpr_codecdata(s, s->pb, st, st->priv_data,
|
if (ff_rm_read_mdpr_codecdata(s, s->pb, st, st->priv_data,
|
||||||
avio_rb32(pb)) < 0)
|
avio_rb32(pb), mime) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
break;
|
break;
|
||||||
case MKTAG('D', 'A', 'T', 'A'):
|
case MKTAG('D', 'A', 'T', 'A'):
|
||||||
|
|||||||
Reference in New Issue
Block a user