On 2025/06/30 21:32, Pavel Koshevoy wrote:
On Mon, Jun 30, 2025 at 3:46 PM Scott Theisen <
scott.the.elm-at-gmail....@ffmpeg.org> wrote:

On 2025/06/29 23:55, Pavel Koshevoy wrote:
Make midstream AVStream.codecpar updates optional and disabled
by default, so that avformat API clients can enable this feature
explicitly when they add support for midstream codec changes.
Is this signaled in any way or is the client expected to check if
codecpar has changed?

The client is expected to check codecpar for changes ...
I've described it a bit more here
https://ffmpeg.org/pipermail/ffmpeg-devel/2025-June/344921.html



I ask because MythTV added checking and a callback for streams changing
between PMT versions, including adding or removing streams.


In my code (outside ffmpeg) I've also added a similar mechanism.
BTW, in mpeg-ts captures that I have the PMT version doesn't always change,
even when there are significant changes in the program structure.

If the PMT version_number is not incremented, that doesn't comply with the standard ("The version number shall be incremented by 1 modulo 32 when a change in the information carried within the section occurs." ISO/IEC 13818-1:2021 §2.4.4.10 Semantic definition of fields in transport stream program map section).

Since the CRC would be different, the non-compliant PMT is parsed and used (see skip_identical() in mpegts.c).

I had tried to just check the version_number (and current_next_indicator), but the Blu-ray for Rio (2011) has a new PMT version_number for (I think) every frame, which broke playback of that Blu-ray in MythTV since the decoder was resetting every frame, so we had to revert back to comparing the PMT data (ignoring the descriptors). https://github.com/MythTV/mythtv/commit/616074a0a5f4fa9ad7241e673d6693cbd7b5e310

Regards,

Scott Theisen
_______________________________________________
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