multimedia/miro: Patched to build with new ffmpeg.

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
Larry Hajali 2011-12-18 21:10:07 -06:00 committed by Robby Workman
parent ccdbd0aa12
commit 7dff35001a
3 changed files with 131 additions and 2 deletions

View File

@ -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;

View File

@ -24,7 +24,7 @@
PRGNAM=miro
VERSION=4.0.3
BUILD=${BUILD:-1}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@ -69,6 +69,9 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# Patch to build against ffmpeg 0.6.x, 0.7.x and 0.8.x.
patch -p1 < $CWD/ffmpeg-0.8.patch
cd linux
sed -i 's|share/man|man|' setup.py
CFLAGS="$SLKCFLAGS" python setup.py install --root=$PKG

View File

@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Larry Hajali"
EMAIL="larryhaja[at]gmail[dot]com"
APPROVED="Niels Horn"
APPROVED="rworkman"