[FFmpeg-devel] [PATCH] ffmpeg: Support copying unknown streams
Michael Niedermayer
michaelni at gmx.at
Thu May 21 00:40:41 CEST 2015
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
---
ffmpeg.c | 1 +
ffmpeg_opt.c | 14 ++++++++++++++
2 files changed, 15 insertions(+)
diff --git a/ffmpeg.c b/ffmpeg.c
index a89ae39..da3ab91 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2822,6 +2822,7 @@ static int transcode_init(void)
enc_ctx->width = dec_ctx->width;
enc_ctx->height = dec_ctx->height;
break;
+ case AVMEDIA_TYPE_UNKNOWN:
case AVMEDIA_TYPE_DATA:
case AVMEDIA_TYPE_ATTACHMENT:
break;
diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c
index a8d433e..4b783a5 100644
--- a/ffmpeg_opt.c
+++ b/ffmpeg_opt.c
@@ -1565,6 +1565,19 @@ static OutputStream *new_data_stream(OptionsContext *o, AVFormatContext *oc, int
return ost;
}
+static OutputStream *new_unknown_stream(OptionsContext *o, AVFormatContext *oc, int source_index)
+{
+ OutputStream *ost;
+
+ ost = new_output_stream(o, oc, AVMEDIA_TYPE_UNKNOWN, source_index);
+ if (!ost->stream_copy) {
+ av_log(NULL, AV_LOG_FATAL, "Unknown stream encoding not supported yet (only streamcopy)\n");
+ exit_program(1);
+ }
+
+ return ost;
+}
+
static OutputStream *new_attachment_stream(OptionsContext *o, AVFormatContext *oc, int source_index)
{
OutputStream *ost = new_output_stream(o, oc, AVMEDIA_TYPE_ATTACHMENT, source_index);
@@ -2016,6 +2029,7 @@ loop_end:
case AVMEDIA_TYPE_AUDIO: ost = new_audio_stream (o, oc, src_idx); break;
case AVMEDIA_TYPE_SUBTITLE: ost = new_subtitle_stream (o, oc, src_idx); break;
case AVMEDIA_TYPE_DATA: ost = new_data_stream (o, oc, src_idx); break;
+ case AVMEDIA_TYPE_UNKNOWN: ost = new_unknown_stream (o, oc, src_idx); break;
case AVMEDIA_TYPE_ATTACHMENT: ost = new_attachment_stream(o, oc, src_idx); break;
default:
av_log(NULL, AV_LOG_FATAL, "Cannot map stream #%d:%d - unsupported type.\n",
--
1.7.9.5
More information about the ffmpeg-devel
mailing list