On 19/06/2019 07:21, Jeyapal, Karthick wrote:

On 6/18/19 1:48 PM, Alfred E. Heggestad wrote:
On 18/06/2019 04:02, Steven Liu wrote:
Alfred E. Heggestad <alfred.hegges...@gmail.com> 于2019年6月17日周一 下午4:02写道:

   From 923da82598bddd1ed05750427dbc71e607d296a2 Mon Sep 17 00:00:00 2001
From: "Alfred E. Heggestad" <alfred.hegges...@gmail.com>
Date: Mon, 17 Jun 2019 09:59:04 +0200
Subject: [PATCH] dash: change default MP4 extension to .m4s

this was changed in commit 281a21ed50849e3c8c0d03005230e9fd07c24370
---
    libavformat/dashenc.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index 3fd7e78166..a51a1da0ca 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -166,7 +166,7 @@ static struct format_string {
        const char *str;
    } formats[] = {
        { SEGMENT_TYPE_AUTO, "auto" },
-    { SEGMENT_TYPE_MP4, "mp4" },
+    { SEGMENT_TYPE_MP4, "m4s" },
        { SEGMENT_TYPE_WEBM, "webm" },
        { 0, NULL }
    };
--
2.20.1 (Apple Git-117)

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".



LGTM


the background for this is the extension for DASH media files
used to be *.m4s and it is now *.mp4


the patch is a suggestion and should be checked by the DASH experts

what is correct according to the standard ?

the media-file is not really an .mp4 file, it cannot be
played with e.g. ffplay:

   $ ffplay chunk-stream1-00001.m4s
Thanks for submitting the patch. I agree that m4s should be extension for media 
segments.
mp4 should be used only for complete files.
With respect to the patch, dashenc generates either multiple segments or a single 
file(with byte range as segments) based on "single_file" option.
The default of mp4 is correct when "single_file" is enabled. But it is wrong when 
"single_file" is disabled. The proposed patch just reverses this situation.
I would suggest the patch should handle both cases correctly.

Hi,

many thanks for your review comments.

I have updated the patch based on your comments, please see below.


this code works in my application (both single and multi files)
but the code should be reviewed by someone who has better
knowledge with the code.


...



From 2059bfad56eadbccee968cc34dd594089a1e8984 Mon Sep 17 00:00:00 2001
From: "Alfred E. Heggestad" <alfred.hegges...@gmail.com>
Date: Wed, 19 Jun 2019 11:33:13 +0200
Subject: [PATCH] dash: change default MP4 extension to .m4s

---
 libavformat/dashenc.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index 3fd7e78166..a60547ef0d 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -250,6 +250,10 @@ static int init_segment_types(AVFormatContext *s)
             c->segment_type_option, s->streams[i]->codecpar->codec_id);
         os->segment_type = segment_type;
         os->format_name = get_format_str(segment_type);
+
+        if (segment_type == SEGMENT_TYPE_MP4 && !c->single_file)
+            os->format_name = "m4s";
+
         if (!os->format_name) {
av_log(s, AV_LOG_ERROR, "Could not select DASH segment type for stream %d\n", i);
             return AVERROR_MUXER_NOT_FOUND;
@@ -1210,7 +1214,7 @@ static int dash_init(AVFormatContext *s)
             }
         }

-        ctx->oformat = av_guess_format(os->format_name, NULL, NULL);
+ ctx->oformat = av_guess_format(get_format_str(os->segment_type), NULL, NULL);
         if (!ctx->oformat)
             return AVERROR_MUXER_NOT_FOUND;
         os->ctx = ctx;
--
2.20.1 (Apple Git-117)




_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to