avformat/flvdec: Change subtitle stream type to subtitle type

Previous-version-reviewed-by: Andreas Cadhalpun
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2015-03-13 16:00:53 +01:00
parent 7b0daec233
commit 7869b2959d
1 changed files with 8 additions and 8 deletions

View File

@ -92,8 +92,8 @@ static AVStream *create_stream(AVFormatContext *s, int codec_type)
return NULL; return NULL;
st->codec->codec_type = codec_type; st->codec->codec_type = codec_type;
if (s->nb_streams>=3 ||( s->nb_streams==2 if (s->nb_streams>=3 ||( s->nb_streams==2
&& s->streams[0]->codec->codec_type != AVMEDIA_TYPE_DATA && s->streams[0]->codec->codec_type != AVMEDIA_TYPE_SUBTITLE
&& s->streams[1]->codec->codec_type != AVMEDIA_TYPE_DATA)) && s->streams[1]->codec->codec_type != AVMEDIA_TYPE_SUBTITLE))
s->ctx_flags &= ~AVFMTCTX_NOHEADER; s->ctx_flags &= ~AVFMTCTX_NOHEADER;
avpriv_set_pts_info(st, 32, 1, 1000); /* 32 bit pts in ms */ avpriv_set_pts_info(st, 32, 1, 1000); /* 32 bit pts in ms */
@ -482,7 +482,7 @@ static int amf_parse_object(AVFormatContext *s, AVStream *astream,
0 <= (int)(num_val * 1024.0)) 0 <= (int)(num_val * 1024.0))
acodec->bit_rate = num_val * 1024.0; acodec->bit_rate = num_val * 1024.0;
else if (!strcmp(key, "datastream")) { else if (!strcmp(key, "datastream")) {
AVStream *st = create_stream(s, AVMEDIA_TYPE_DATA); AVStream *st = create_stream(s, AVMEDIA_TYPE_SUBTITLE);
if (!st) if (!st)
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
st->codec->codec_id = AV_CODEC_ID_TEXT; st->codec->codec_id = AV_CODEC_ID_TEXT;
@ -584,7 +584,7 @@ static int flv_read_metabody(AVFormatContext *s, int64_t next_pos)
vstream = stream; vstream = stream;
else if (stream->codec->codec_type == AVMEDIA_TYPE_AUDIO) else if (stream->codec->codec_type == AVMEDIA_TYPE_AUDIO)
astream = stream; astream = stream;
else if (stream->codec->codec_type == AVMEDIA_TYPE_DATA) else if (stream->codec->codec_type == AVMEDIA_TYPE_SUBTITLE)
dstream = stream; dstream = stream;
} }
@ -749,12 +749,12 @@ static int flv_data_packet(AVFormatContext *s, AVPacket *pkt,
for (i = 0; i < s->nb_streams; i++) { for (i = 0; i < s->nb_streams; i++) {
st = s->streams[i]; st = s->streams[i];
if (st->codec->codec_type == AVMEDIA_TYPE_DATA) if (st->codec->codec_type == AVMEDIA_TYPE_SUBTITLE)
break; break;
} }
if (i == s->nb_streams) { if (i == s->nb_streams) {
st = create_stream(s, AVMEDIA_TYPE_DATA); st = create_stream(s, AVMEDIA_TYPE_SUBTITLE);
if (!st) if (!st)
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
st->codec->codec_id = AV_CODEC_ID_TEXT; st->codec->codec_id = AV_CODEC_ID_TEXT;
@ -862,12 +862,12 @@ skip:
(s->video_codec_id || flv_same_video_codec(st->codec, flags))) (s->video_codec_id || flv_same_video_codec(st->codec, flags)))
break; break;
} else if (stream_type == FLV_STREAM_TYPE_DATA) { } else if (stream_type == FLV_STREAM_TYPE_DATA) {
if (st->codec->codec_type == AVMEDIA_TYPE_DATA) if (st->codec->codec_type == AVMEDIA_TYPE_SUBTITLE)
break; break;
} }
} }
if (i == s->nb_streams) { if (i == s->nb_streams) {
static const enum AVMediaType stream_types[] = {AVMEDIA_TYPE_VIDEO, AVMEDIA_TYPE_AUDIO, AVMEDIA_TYPE_DATA}; static const enum AVMediaType stream_types[] = {AVMEDIA_TYPE_VIDEO, AVMEDIA_TYPE_AUDIO, AVMEDIA_TYPE_SUBTITLE};
av_log(s, AV_LOG_WARNING, "Stream discovered after head already parsed\n"); av_log(s, AV_LOG_WARNING, "Stream discovered after head already parsed\n");
st = create_stream(s, stream_types[stream_type]); st = create_stream(s, stream_types[stream_type]);
if (!st) if (!st)