[FFmpeg-cvslog] ffserver: use avcodec_copy_context to copy context
Lukasz Marek
git at videolan.org
Tue Dec 2 22:12:30 CET 2014
ffmpeg | branch: master | Lukasz Marek <lukasz.m.luki2 at gmail.com> | Sat Nov 22 02:33:29 2014 +0100| [8b0226f2a6d71d47c7578681e2580cb6b337adb9] | committer: Lukasz Marek
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 at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8b0226f2a6d71d47c7578681e2580cb6b337adb9
---
ffserver.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/ffserver.c b/ffserver.c
index 8ef51a1..ab3e6e9 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -3297,13 +3297,8 @@ static AVStream *add_av_stream1(FFServerStream *stream, AVCodecContext *codec, i
if (!fst)
return NULL;
if (copy) {
- fst->codec = avcodec_alloc_context3(NULL);
- memcpy(fst->codec, codec, sizeof(AVCodecContext));
- 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);
- }
+ fst->codec = avcodec_alloc_context3(codec->codec);
+ avcodec_copy_context(fst->codec, codec);
} else {
/* live streams must use the actual feed's codec since it may be
* updated later to carry extradata needed by them.
More information about the ffmpeg-cvslog
mailing list