mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 20:19:55 +00:00
factorize stream creation
Originally committed as revision 10886 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
ff21c1b056
commit
6f910bcf39
@ -224,11 +224,19 @@ static int flv_read_metabody(AVFormatContext *s, unsigned int next_pos) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static AVStream *create_stream(AVFormatContext *s, int is_audio){
|
||||
AVStream *st = av_new_stream(s, is_audio);
|
||||
if (!st)
|
||||
return NULL;
|
||||
st->codec->codec_type = is_audio ? CODEC_TYPE_AUDIO : CODEC_TYPE_VIDEO;
|
||||
av_set_pts_info(st, 24, 1, 1000); /* 24 bit pts in ms */
|
||||
return st;
|
||||
}
|
||||
|
||||
static int flv_read_header(AVFormatContext *s,
|
||||
AVFormatParameters *ap)
|
||||
{
|
||||
int offset, flags;
|
||||
AVStream *st;
|
||||
|
||||
url_fskip(&s->pb, 4);
|
||||
flags = get_byte(&s->pb);
|
||||
@ -240,18 +248,12 @@ static int flv_read_header(AVFormatContext *s,
|
||||
}
|
||||
|
||||
if(flags & FLV_HEADER_FLAG_HASVIDEO){
|
||||
st = av_new_stream(s, 0);
|
||||
if (!st)
|
||||
if(!create_stream(s, 0))
|
||||
return AVERROR(ENOMEM);
|
||||
st->codec->codec_type = CODEC_TYPE_VIDEO;
|
||||
av_set_pts_info(st, 24, 1, 1000); /* 24 bit pts in ms */
|
||||
}
|
||||
if(flags & FLV_HEADER_FLAG_HASAUDIO){
|
||||
st = av_new_stream(s, 1);
|
||||
if (!st)
|
||||
if(!create_stream(s, 1))
|
||||
return AVERROR(ENOMEM);
|
||||
st->codec->codec_type = CODEC_TYPE_AUDIO;
|
||||
av_set_pts_info(st, 24, 1, 1000); /* 24 bit pts in ms */
|
||||
}
|
||||
|
||||
offset = get_be32(&s->pb);
|
||||
|
Loading…
Reference in New Issue
Block a user