mirror of https://git.ffmpeg.org/ffmpeg.git
ffserver: use avcodec_copy_context to copy context
Copying context using dedicated function is safer that raw memcpy which creates shallow copy. Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
This commit is contained in:
parent
d0b0fe6691
commit
8b0226f2a6
|
@ -3297,13 +3297,8 @@ static AVStream *add_av_stream1(FFServerStream *stream, AVCodecContext *codec, i
|
||||||
if (!fst)
|
if (!fst)
|
||||||
return NULL;
|
return NULL;
|
||||||
if (copy) {
|
if (copy) {
|
||||||
fst->codec = avcodec_alloc_context3(NULL);
|
fst->codec = avcodec_alloc_context3(codec->codec);
|
||||||
memcpy(fst->codec, codec, sizeof(AVCodecContext));
|
avcodec_copy_context(fst->codec, codec);
|
||||||
if (codec->extradata_size) {
|
|
||||||
fst->codec->extradata = av_mallocz(codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
|
||||||
memcpy(fst->codec->extradata, codec->extradata,
|
|
||||||
codec->extradata_size);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
/* live streams must use the actual feed's codec since it may be
|
/* live streams must use the actual feed's codec since it may be
|
||||||
* updated later to carry extradata needed by them.
|
* updated later to carry extradata needed by them.
|
||||||
|
|
Loading…
Reference in New Issue