Steve Lhomme: > LGTM. > > In general it would be nice if this was "automatic". In other words when > writing any element the value is automatically checked against the default > value. Maybe using a macro that would also check the default value like this > > PUT_EBML_VALUE(cp, EDITIONFLAGHIDDEN, value) > > doing : > if (value != MATROSKA_DEFAULT_EDITIONFLAGHIDDEN) > put_ebml_uint(cp, MATROSKA_ID_EDITIONFLAGHIDDEN, value) > > even better : > #ifdef MATROSKA_DEFAULT_EDITIONFLAGHIDDEN > if (value != MATROSKA_DEFAULT_EDITIONFLAGHIDDEN) > #endif > put_ebml_uint(cp, MATROSKA_ID_EDITIONFLAGHIDDEN, value) > > I could easily generate all the default values from the specs. >
Yeah, yeah, I know. Our whole writing process is pretty archaic. With this patch I removed all (except one: BlockAddID) elements where we only write the default value; yet in other places where runtime checks were needed they have not been added yet (think of the TrackLanguage). - Andreas >> On April 14, 2020 3:46 AM Andreas Rheinhardt <[email protected]> >> wrote: >> >> >> This has happened when writing chapters: Both editions as well as >> chapters are by default not hidden and given that we don't support >> writing hidden chapters at all, we don't need to write said elements at >> all. The same goes for ChapterFlagEnabled. >> >> Signed-off-by: Andreas Rheinhardt <[email protected]> >> --- >> This is supposed to get applied before the cosmetics patch. >> >> libavformat/matroskaenc.c | 5 ----- >> 1 file changed, 5 deletions(-) >> >> diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c >> index d0a02c0f5d..d3256d8f5d 100644 >> --- a/libavformat/matroskaenc.c >> +++ b/libavformat/matroskaenc.c >> @@ -1400,7 +1400,6 @@ static int mkv_write_chapters(AVFormatContext *s) >> editionentry = start_ebml_master(dyn_cp, MATROSKA_ID_EDITIONENTRY, 0); >> if (mkv->mode != MODE_WEBM) { >> put_ebml_uint(dyn_cp, MATROSKA_ID_EDITIONFLAGDEFAULT, 1); >> - put_ebml_uint(dyn_cp, MATROSKA_ID_EDITIONFLAGHIDDEN , 0); >> } >> for (i = 0; i < s->nb_chapters; i++) { >> ebml_master chapteratom, chapterdisplay; >> @@ -1420,10 +1419,6 @@ static int mkv_write_chapters(AVFormatContext *s) >> (uint32_t)c->id + (uint64_t)mkv->chapter_id_offset); >> put_ebml_uint(dyn_cp, MATROSKA_ID_CHAPTERTIMESTART, chapterstart); >> put_ebml_uint(dyn_cp, MATROSKA_ID_CHAPTERTIMEEND, chapterend); >> - if (mkv->mode != MODE_WEBM) { >> - put_ebml_uint(dyn_cp, MATROSKA_ID_CHAPTERFLAGHIDDEN , 0); >> - put_ebml_uint(dyn_cp, MATROSKA_ID_CHAPTERFLAGENABLED, 1); >> - } >> if ((t = av_dict_get(c->metadata, "title", NULL, 0))) { >> chapterdisplay = start_ebml_master(dyn_cp, >> MATROSKA_ID_CHAPTERDISPLAY, 0); >> put_ebml_string(dyn_cp, MATROSKA_ID_CHAPSTRING, t->value); >> -- >> 2.20.1 >> >> _______________________________________________ >> ffmpeg-devel mailing list >> [email protected] >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> >> To unsubscribe, visit link above, or email >> [email protected] with subject "unsubscribe". > _______________________________________________ > ffmpeg-devel mailing list > [email protected] > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > [email protected] with subject "unsubscribe". > _______________________________________________ ffmpeg-devel mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
