freebsd-ports/audio/sox/files/patch-ffmpeg
Wesley Shields e4ce71c1e2 - Update to 14.3.2.
- Add LICENSE.
- Add a patch to fix build if ffmpeg-devel is installed.

PR:		ports/157673
Submitted by:	Ryan Steinmetz <rpsfa@rit.edu>
Approved by:	Dan Nelson <dnelson@allantgroup.com> (maintainer)
2011-06-11 02:47:50 +00:00

55 lines
2 KiB
Text

*** diff
Update to use the new ffmpeg library API, but still work with
the old one.
--- src/ffmpeg.c 2011-06-07 00:29:34.000000000 -0500
+++ src/ffmpeg.c 2011-06-07 00:34:12.830996927 -0500
@@ -50,6 +50,11 @@
#include <ctype.h>
#include "ffmpeg.h"
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(52, 64, 0)
+#define AVMEDIA_TYPE_AUDIO CODEC_TYPE_AUDIO
+#define AV_PKT_FLAG_KEY PKT_FLAG_KEY
+#endif
+
/* Private data for ffmpeg files */
typedef struct {
int audio_index;
@@ -91,7 +96,7 @@ static int stream_component_open(priv_t
if (!codec || avcodec_open(enc, codec) < 0)
return -1;
- if (enc->codec_type != CODEC_TYPE_AUDIO) {
+ if (enc->codec_type != AVMEDIA_TYPE_AUDIO) {
lsx_fail("ffmpeg CODEC %x is not an audio CODEC", enc->codec_type);
return -1;
}
@@ -182,7 +187,7 @@ static int startread(sox_format_t * ft)
/* Find audio stream (FIXME: allow different stream to be selected) */
for (i = 0; (unsigned)i < ffmpeg->ctxt->nb_streams; i++) {
AVCodecContext *enc = ffmpeg->ctxt->streams[i]->codec;
- if (enc->codec_type == CODEC_TYPE_AUDIO && ffmpeg->audio_index < 0) {
+ if (enc->codec_type == AVMEDIA_TYPE_AUDIO && ffmpeg->audio_index < 0) {
ffmpeg->audio_index = i;
break;
}
@@ -273,7 +278,7 @@ static AVStream *add_audio_stream(sox_fo
c = st->codec;
c->codec_id = codec_id;
- c->codec_type = CODEC_TYPE_AUDIO;
+ c->codec_type = AVMEDIA_TYPE_AUDIO;
/* put sample parameters */
c->bit_rate = 256000; /* FIXME: allow specification */
@@ -423,7 +428,7 @@ static size_t write_samples(sox_format_t
av_init_packet(&pkt);
pkt.size = avcodec_encode_audio(c, ffmpeg->audio_buf_aligned, AVCODEC_MAX_AUDIO_FRAME_SIZE, ffmpeg->samples);
pkt.pts = av_rescale_q(c->coded_frame->pts, c->time_base, ffmpeg->audio_st->time_base);
- pkt.flags |= PKT_FLAG_KEY;
+ pkt.flags |= AV_PKT_FLAG_KEY;
pkt.stream_index = ffmpeg->audio_st->index;
pkt.data = ffmpeg->audio_buf_aligned;