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.

> On April 14, 2020 3:46 AM Andreas Rheinhardt <andreas.rheinha...@gmail.com> 
> 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 <andreas.rheinha...@gmail.com>
> ---
> 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
> 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".
_______________________________________________
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