Luca Barbato wrote:
> Do you have a sample of this behaviour to share, I want to understand it
> better. 

If no carrier has been present between calling av_reset_event_flags() and 
any number of stream-related functions, the flag will be raised.

Call av_reset_event_flags() and read any MPEG-TS capture for any length of time,
preferably one with subtitles, then check the flags on each stream. If any given
stream has been outright missing between the reset of the flags and the time you
check them, then its NO_CARRIER flag will be set.

> How it would behave regarding seeking?

I've left that behavior undefined for now as I'm not entirely sure what's
desired. Most formats that support seeking don't really have the problem that
this flag is supposed to address. What would you like to see?

wm4 wrote:
> I think this is worse. Before, the API users was responsible for clearing the
> event flags, and suddenly a function has to be called? The previous approach
> seemed less intrusive too.

I can appreciate that, but the previous approach had one serious deficiency;
doing it in av_read_frame was quite hacky and unexpectedly took control of the
flags away from the API user. The new approach returns control to the API user,
while retaining backwards-compatibility for applications that don't handle the
new flag. No application code needs to be altered as a result of this change.

Do you have any thoughts on how to address this problem?
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to