summaryrefslogtreecommitdiff
path: root/segmenter
diff options
context:
space:
mode:
Diffstat (limited to 'segmenter')
-rw-r--r--segmenter/segmenter.c56
1 files changed, 39 insertions, 17 deletions
diff --git a/segmenter/segmenter.c b/segmenter/segmenter.c
index 69627e4..699bc68 100644
--- a/segmenter/segmenter.c
+++ b/segmenter/segmenter.c
@@ -1,19 +1,19 @@
/*
- * Copyright (c) 2009 Chase Douglas
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
+* Copyright (c) 2009 Chase Douglas
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License version 2
+* as published by the Free Software Foundation.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
@@ -50,7 +50,11 @@ static AVStream *add_output_stream(AVFormatContext *output_format_context, AVStr
}
switch (input_codec_context->codec_type) {
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0)
+ 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;
@@ -62,7 +66,11 @@ static AVStream *add_output_stream(AVFormatContext *output_format_context, AVStr
output_codec_context->block_align = input_codec_context->block_align;
}
break;
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0)
+ 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;
@@ -257,12 +265,20 @@ int main(int argc, char **argv)
for (i = 0; i < ic->nb_streams && (video_index < 0 || audio_index < 0); i++) {
switch (ic->streams[i]->codec->codec_type) {
- case CODEC_TYPE_VIDEO:
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0)
+ 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;
- case CODEC_TYPE_AUDIO:
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0)
+ 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]);
@@ -317,7 +333,11 @@ int main(int argc, char **argv)
break;
}
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0)
+ 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) {
@@ -403,3 +423,5 @@ int main(int argc, char **argv)
}
// vim:sw=4:tw=4:ts=4:ai:expandtab
+
+