diff options
Diffstat (limited to 'multimedia/miro/ffmpeg-0.8.patch')
-rw-r--r-- | multimedia/miro/ffmpeg-0.8.patch | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/multimedia/miro/ffmpeg-0.8.patch b/multimedia/miro/ffmpeg-0.8.patch new file mode 100644 index 000000000000..622e080dc5c9 --- /dev/null +++ b/multimedia/miro/ffmpeg-0.8.patch @@ -0,0 +1,126 @@ +diff -Naur miro-4.0.3.orig/linux/miro-segmenter.c miro-4.0.3/linux/miro-segmenter.c +--- miro-4.0.3.orig/linux/miro-segmenter.c 2011-08-10 17:53:51.000000000 +0000 ++++ miro-4.0.3/linux/miro-segmenter.c 2011-12-18 23:14:21.423409001 +0000 +@@ -60,7 +60,11 @@ + } + + switch (input_codec_context->codec_type) { ++#if LIBAVFORMAT_VERSION_MAJOR > 52 ++ case AVMEDIA_TYPE_AUDIO: ++#else + case CODEC_TYPE_AUDIO: ++#endif + output_codec_context->channel_layout = input_codec_context->channel_layout; + output_codec_context->sample_rate = input_codec_context->sample_rate; + output_codec_context->channels = input_codec_context->channels; +@@ -72,7 +76,11 @@ + output_codec_context->block_align = input_codec_context->block_align; + } + break; ++#if LIBAVFORMAT_VERSION_MAJOR > 52 ++ case AVMEDIA_TYPE_VIDEO: ++#else + case CODEC_TYPE_VIDEO: ++#endif + output_codec_context->pix_fmt = input_codec_context->pix_fmt; + output_codec_context->width = input_codec_context->width; + output_codec_context->height = input_codec_context->height; +@@ -154,7 +162,11 @@ + exit(1); + } + ++#if LIBAVFORMAT_VERSION_MAJOR > 52 ++ ofmt = av_guess_format("mpegts", NULL, NULL); ++#else + ofmt = guess_format("mpegts", NULL, NULL); ++#endif + if (!ofmt) { + fprintf(stderr, "Could not find MPEG-TS muxer\n"); + exit(1); +@@ -174,12 +186,20 @@ + + for (i = 0; i < ic->nb_streams && (video_index < 0 || audio_index < 0); i++) { + switch (ic->streams[i]->codec->codec_type) { ++#if LIBAVFORMAT_VERSION_MAJOR > 52 ++ case AVMEDIA_TYPE_VIDEO: ++#else + case CODEC_TYPE_VIDEO: ++#endif + video_index = i; + ic->streams[i]->discard = AVDISCARD_NONE; + video_st = add_output_stream(oc, ic->streams[i]); + break; ++#if LIBAVFORMAT_VERSION_MAJOR > 52 ++ case AVMEDIA_TYPE_AUDIO: ++#else + case CODEC_TYPE_AUDIO: ++#endif + audio_index = i; + ic->streams[i]->discard = AVDISCARD_NONE; + audio_st = add_output_stream(oc, ic->streams[i]); +@@ -195,7 +215,11 @@ + exit(1); + } + ++#if LIBAVFORMAT_VERSION_MAJOR > 52 ++ av_dump_format(oc, 0, input, 1); ++#else + dump_format(oc, 0, input, 1); ++#endif + + if (video_st) { + codec = avcodec_find_decoder(video_st->codec->codec_id); +@@ -208,7 +232,11 @@ + } + } + ++#if LIBAVFORMAT_VERSION_MAJOR > 52 ++ if (avio_open(&oc->pb, output_filename, URL_WRONLY) < 0) { ++#else + if (url_fopen(&oc->pb, output_filename, URL_WRONLY) < 0) { ++#endif + fprintf(stderr, "Could not open '%s'\n", output_filename); + exit(1); + } +@@ -234,7 +262,11 @@ + break; + } + ++#if LIBAVFORMAT_VERSION_MAJOR > 52 ++ if (packet.stream_index == video_index && (packet.flags & AV_PKT_FLAG_KEY)) { ++#else + if (packet.stream_index == video_index && (packet.flags & PKT_FLAG_KEY)) { ++#endif + segment_time = (double)video_st->pts.val * video_st->time_base.num / video_st->time_base.den; + } + else if (video_index < 0) { +@@ -245,10 +277,17 @@ + } + + if (segment_time - prev_segment_time >= segment_duration) { ++#if LIBAVFORMAT_VERSION_MAJOR > 52 ++ avio_flush(oc->pb); ++ avio_close(oc->pb); ++ ++ if (avio_open(&oc->pb, output_filename, URL_WRONLY) < 0) { ++#else + put_flush_packet(oc->pb); + url_fclose(oc->pb); + + if (url_fopen(&oc->pb, output_filename, URL_WRONLY) < 0) { ++#endif + fprintf(stderr, "Could not open '%s'\n", output_filename); + break; + } +@@ -278,7 +317,11 @@ + av_freep(&oc->streams[i]); + } + ++#if LIBAVFORMAT_VERSION_MAJOR > 52 ++ avio_close(oc->pb); ++#else + url_fclose(oc->pb); ++#endif + av_free(oc); + + return 0; |