diff options
author | dinoex <dinoex@FreeBSD.org> | 2007-05-27 15:56:43 +0800 |
---|---|---|
committer | dinoex <dinoex@FreeBSD.org> | 2007-05-27 15:56:43 +0800 |
commit | eb5b46a28e508cb1162cb6625210dbcf06413c8d (patch) | |
tree | a512f3d730f8180e80017fefb05b3cd60cc19b5d /multimedia/sabbu | |
parent | 80faaa74fdea028effbeb64734195ea7152fe0c0 (diff) | |
download | freebsd-ports-gnome-eb5b46a28e508cb1162cb6625210dbcf06413c8d.tar.gz freebsd-ports-gnome-eb5b46a28e508cb1162cb6625210dbcf06413c8d.tar.zst freebsd-ports-gnome-eb5b46a28e508cb1162cb6625210dbcf06413c8d.zip |
- fix API breakage with ffmpeg
Obtained from: gentoo.zugaina.org
Diffstat (limited to 'multimedia/sabbu')
-rw-r--r-- | multimedia/sabbu/files/patch-video.cpp | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/multimedia/sabbu/files/patch-video.cpp b/multimedia/sabbu/files/patch-video.cpp new file mode 100644 index 000000000000..03fbe88ef80a --- /dev/null +++ b/multimedia/sabbu/files/patch-video.cpp @@ -0,0 +1,100 @@ +Index: Source/video.cpp +=================================================================== +RCS file: /cvsroot/sabbu/sabbu/Source/video.cpp,v +retrieving revision 1.36 +diff -u -r1.36 video.cpp +--- Source/video.cpp 11 Aug 2005 17:16:17 -0000 1.36 ++++ Source/video.cpp 24 Nov 2005 09:40:33 -0000 +@@ -213,7 +213,7 @@ + + for(i = 0; i < video->ic->nb_streams; i++) + { +- AVCodecContext *enc = &video->ic->streams[i]->codec; ++ AVCodecContext *enc = video->ic->streams[i]->codec; + if(enc->codec_type == CODEC_TYPE_VIDEO) + { + video->video_index = i; +@@ -227,7 +227,7 @@ + throw kryError(_("The video file does not seem to contain a video stream.")); + } + +- enc = &video->ic->streams[video->video_index]->codec; ++ enc = video->ic->streams[video->video_index]->codec; + enc->debug_mv = 0; + enc->debug = 0; + enc->workaround_bugs = 1; +@@ -291,9 +291,9 @@ + frame = avcodec_alloc_frame(); + while(1) + { +- len = avcodec_decode_video(&video->ic->streams[video->video_index]->codec, +- frame, &got_picture, +- video->last_pkt->data, video->last_pkt->size); ++ len = avcodec_decode_video(video->ic->streams[video->video_index]->codec, ++ frame, &got_picture, ++ video->last_pkt->data, video->last_pkt->size); + + if(got_picture) + break; +@@ -302,14 +302,14 @@ + return FALSE; + } + +- width = video->ic->streams[video->video_index]->codec.width; +- height = video->ic->streams[video->video_index]->codec.height; ++ width = video->ic->streams[video->video_index]->codec->width; ++ height = video->ic->streams[video->video_index]->codec->height; + + pict->data[0] = (uint8_t*) malloc(4 * width * height); + pict->linesize[0] = width * 4; + + if(img_convert(pict, dst_pix_fmt, +- (AVPicture *) frame, video->ic->streams[video->video_index]->codec.pix_fmt, ++ (AVPicture *) frame, video->ic->streams[video->video_index]->codec->pix_fmt, + width, height) < 0) + { + av_free(frame); +@@ -323,17 +323,17 @@ + + int video_get_width(struct video_ffmpeg *video) + { +- return video->ic->streams[video->video_index]->codec.width; ++ return video->ic->streams[video->video_index]->codec->width; + } + + int video_get_height(struct video_ffmpeg *video) + { +- return video->ic->streams[video->video_index]->codec.height; ++ return video->ic->streams[video->video_index]->codec->height; + } + + double video_get_fps(struct video_ffmpeg *video) + { +- return (video->ic->streams[video->video_index]->r_frame_rate / (double) video->ic->streams[video->video_index]->r_frame_rate_base); ++ return (video->ic->streams[video->video_index]->r_frame_rate.num / (double) video->ic->streams[video->video_index]->r_frame_rate.den); + } + + int64_t video_get_duration(struct video_ffmpeg *video) +@@ -348,7 +348,7 @@ + free(video->last_pkt); + video->last_pkt = NULL; + } +- avcodec_close(&video->ic->streams[video->video_index]->codec); ++ avcodec_close(video->ic->streams[video->video_index]->codec); + av_close_input_file(video->ic); + } + +@@ -376,11 +376,11 @@ + if(av_seek_frame(video->ic, -1, target_time) < 0) + #endif + { +- g_warning("seek failed... %lld", target_time); ++ g_warning("seek failed... %lld", (long long) target_time); + return FALSE; + } + +- avcodec_flush_buffers(&video->ic->streams[video->video_index]->codec); ++ avcodec_flush_buffers(video->ic->streams[video->video_index]->codec); + } + + if(video->last_pkt) |