Michael Niedermayer wrote:
On Thu, May 21, 2015 at 10:20:46AM +0200, wm4 wrote:
On Thu, 21 May 2015 00:40:41 +0200
Michael Niedermayer<michae...@gmx.at>  wrote:

Signed-off-by: Michael Niedermayer<michae...@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",
Doesn't this raise the risk of creating invalid files?

i dont know
ive posted a patch that would require the user to explicitly enable
copying unknown streams, if you prefer that ?

Probably it makes much more sense to require explicit confirmation from the user than doing automatically. What kind of formats can have unknown streams anyway?

Best,
Alex
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to