summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2012-07-05 15:12:48 +0000
committerAlexis Ballier <aballier@gentoo.org>2012-07-05 15:12:48 +0000
commitbad328c1c9771c420a88928b64b7cdb5e8dc245c (patch)
tree0178f3f4d40cfa0cacf1e501ae2f20f66cc36a58 /media-video/transcode/files/transcode-1.1.7-preset-free.patch
parentFix compile failure with glibc-2.16 (updated gets in gnulib). Bug 424755. (diff)
downloadhistorical-bad328c1c9771c420a88928b64b7cdb5e8dc245c.tar.gz
historical-bad328c1c9771c420a88928b64b7cdb5e8dc245c.tar.bz2
historical-bad328c1c9771c420a88928b64b7cdb5e8dc245c.zip
Fix build with ffmpeg 0.11 and encoding x264 with ffmpeg, both patches by Brennan Shacklett, bugs #322945 and #419551
Package-Manager: portage-2.2.0_alpha116/cvs/Linux x86_64
Diffstat (limited to 'media-video/transcode/files/transcode-1.1.7-preset-free.patch')
-rw-r--r--media-video/transcode/files/transcode-1.1.7-preset-free.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/media-video/transcode/files/transcode-1.1.7-preset-free.patch b/media-video/transcode/files/transcode-1.1.7-preset-free.patch
new file mode 100644
index 000000000000..00494b94ba9f
--- /dev/null
+++ b/media-video/transcode/files/transcode-1.1.7-preset-free.patch
@@ -0,0 +1,34 @@
+Fix invalid free when preset file not found
+https://bugs.gentoo.org/show_bug.cgi?id=322945
+Author: Brennan Shacklett
+
+diff -urN transcode-1.1.7-orig/export/export_ffmpeg.c transcode-1.1.7/export/export_ffmpeg.c
+--- transcode-1.1.7-orig/export/export_ffmpeg.c 2011-11-19 08:50:27.000000000 -0800
++++ transcode-1.1.7/export/export_ffmpeg.c 2012-07-03 20:07:05.669083945 -0700
+@@ -321,7 +321,7 @@
+ }
+
+ if(!f){
+- fprintf(stderr, "File for preset '%s' not found\n", arg);
++ tc_log_error(MOD_NAME, "File for preset '%s' not found", arg);
+ av_exit(1);
+ }
+
+@@ -1207,7 +1207,7 @@
+ /* FIXME: transcode itself contains "broken ffmpeg default settings", thus we need to override them! */
+ if (lavc_param_video_preset) {
+ avcodec_opts[AVMEDIA_TYPE_VIDEO] = lavc_venc_context;
+- video_codec_name = ffmpeg_codec_name(codec->name);
++ video_codec_name = av_strdup(ffmpeg_codec_name(codec->name));
+
+ const char *preset_start = lavc_param_video_preset;
+ while (preset_start) {
+@@ -1225,6 +1225,8 @@
+ if (opt_preset("vpre", preset_name) != 0) {
+ tc_log_warn(MOD_NAME, "Parsing ffmpeg preset '%s' failed", preset_name);
+ }
++ av_free(video_codec_name);
++ video_codec_name = NULL;
+ if (verbose) {
+ int i;
+ tc_log_info(MOD_NAME, "After parsing preset '%s', %i options are overridden:", preset_name, opt_name_count);