From 8595ef82b37f9219962d21ca9b985b256b125774 Mon Sep 17 00:00:00 2001 From: jeanlf Date: Wed, 18 May 2022 11:05:21 +0200 Subject: [PATCH] allow fragment identifiers in mp4box dash for non-isobmf input - cf #2192 --- src/media_tools/dash_segmenter.c | 34 +++++++++++++++++++++++--------- testsuite | 2 +- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/media_tools/dash_segmenter.c b/src/media_tools/dash_segmenter.c index 730aa53705..15fd02af14 100644 --- a/src/media_tools/dash_segmenter.c +++ b/src/media_tools/dash_segmenter.c @@ -160,7 +160,7 @@ void gf_dasher_clean_inputs(GF_DASHSegmenter *dasher) { gf_list_reset(dasher->inputs); if (dasher->fsess) { - gf_fs_print_unused_args(dasher->fsess, "smode"); + gf_fs_print_unused_args(dasher->fsess, "smode,tkid"); gf_fs_del(dasher->fsess); dasher->fsess = NULL; } @@ -900,6 +900,7 @@ static GF_Err gf_dasher_setup(GF_DASHSegmenter *dasher) for (i=0; itrack_id) { - sprintf(szArg, "tkid=%d", di->track_id ); + sprintf(szSourceID, "PID=%d", di->track_id); + //we need tkid for isobmf + sprintf(szArg, "tkid=%d", di->track_id); e |= gf_dynstrcat(&args, szArg, ":"); } @@ -1080,7 +1096,7 @@ static GF_Err gf_dasher_setup(GF_DASHSegmenter *dasher) if (!di->filter_chain) { //assign this source - gf_filter_set_source(dasher->output, src, NULL); + gf_filter_set_source(dasher->output, src, szSourceID[0] ? szSourceID : NULL); continue; } //create the filter chain between source (or rt if it was set) and dasher @@ -1129,7 +1145,7 @@ static GF_Err gf_dasher_setup(GF_DASHSegmenter *dasher) } } if (prev_filter) { - gf_filter_set_source(dasher->output, prev_filter, NULL); + gf_filter_set_source(dasher->output, prev_filter, szSourceID[0] ? szSourceID : NULL); } } @@ -1233,7 +1249,7 @@ GF_Err gf_dasher_process(GF_DASHSegmenter *dasher) GF_LOG(GF_LOG_INFO, GF_LOG_APP, ("\n")); if (dasher->no_cache) { - if (!e) gf_fs_print_unused_args(dasher->fsess, "smode"); + if (!e) gf_fs_print_unused_args(dasher->fsess, "smode,tkid"); gf_fs_del(dasher->fsess); dasher->fsess = NULL; } diff --git a/testsuite b/testsuite index 44ead76d9c..b2ed6e151f 160000 --- a/testsuite +++ b/testsuite @@ -1 +1 @@ -Subproject commit 44ead76d9ceb408ed0055afd2d83aebfb3082f01 +Subproject commit b2ed6e151fbee25a13d66737036116f0ff8ae514