Am Di., 21. Jan. 2020 um 00:43 Uhr schrieb Andreas Rheinhardt <andreas.rheinha...@gmail.com>: > > On Tue, Jan 21, 2020 at 12:11 AM Carl Eugen Hoyos <ceffm...@gmail.com> > wrote: > > > Am Sa., 18. Jan. 2020 um 09:46 Uhr schrieb Andreas Rheinhardt > > <andreas.rheinha...@gmail.com>: > > > > > > Up until now, the Matroska muxer would mark a track as default if it had > > > the disposition AV_DISPOSITION_DEFAULT or if there was no track with > > > AV_DISPOSITION_DEFAULT set; in the latter case even more than one track > > > of a kind (audio, video, subtitles) was marked as default which is not > > > sensible. > > > > It would not help only to change this strange behaviour? > > > > So you mean: If no stream with disposition default exist at all, then only > mark the first track of each kind as default; otherwise pass the > disposition through unchanged? That would be possible, of course; and it > would be better than the current behaviour. But it would not allow to > create files with no track marked as default at all (requested in #8173) > and if one muxed several tracks from different Matroska files, each of > which is marked as default in its source, one would still have multiple > tracks of the same kind marked as default in the output. This should not be > the default behaviour.
(The behaviour could be to only mark one stream as default, I always considered that as the only sane approach and never understood what the intention was with the code we have now...) > > > This commit changes the logic used to mark tracks as default. There are > > > now three modes for this: > > > a) In the "infer" mode the first track of every type (audio, video, > > > subtitles) with default disposition set will be marked as default; if > > > there is no such track (for a given type), then the first track of this > > > type (if existing) will be marked as default. This behaviour is inspired > > > by mkvmerge. It ensures that the default flags will be set in a sensible > > > way even if the input comes from containers that lack the concept of > > > default flags. This mode is the default mode. > > > b) The "infer_no_subs" mode is similar to the "infer" mode; the > > > difference is that if no subtitle track with default disposition exists, > > > no subtitle track will be marked as default at all. > > > c) The "passthrough" mode: Here the track will be marked as default if > > > and only the corresponding input stream had disposition default. > > > > > > This fixes ticket #8173 (the passthrough mode is ideal for this) as > > > well as ticket #8416 (the "infer_no_subs" mode leads to the desired > > > output). > > > > Doesn't this duplicate the cli option for disposition? > > (Just asking, I know this is a can of worms) > > > > I am wondering if a new option is necessary and useful. > > > > Without a new option, one could not distinguish the case where the user > explicitly wants no dispositions at all and the case where one remuxes from > a source container that does not have the concept of default streams. > Furthermore, having an option allows to distinguish the infer and > "infer_no_subs" cases (the latter makes (some) players not show the > subtitles unless one explicitly enables them which is what (some) users > (including myself and apparently the guy behind #8416) want; I am actually > unsure whether infer_no_subs would make a better default value). Thank you for the explanation, I do not immediately see a better solution. Carl Eugen _______________________________________________ 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".