Hi,

I've fixed some issues with the "no carrier" patches I sent last week, and since
they had no comments and I've split them into three patches I figured that it's
simpler to mark the old ones as superseded and resend the patch set.

libavformat currently doesn't provide any mechanism for detecting when a
substream is no longer present but the stream as a whole is otherwise OK. Your
best guess is to check when you last got any frames on it, which tends to work
for video and audio but not for substreams that sometimes spend a long amount of
time without presenting anything, like subtitles.

Why is this an issue? Formats like MPEG-TS and MSS in push/ingest mode have
separate transports for each stream; audio, video, and subtitles come from
separate sources. If one of these breaks you have a fairly big problem on your
hands, but returning an error on av_read_frame would be a bad course of action
-- it may just be that the broadcaster has switched to regional news or similar
which lacks subtitles or only runs one audio track, and things will return to
normal once it's over.

Put shortly, the API user needs to know that something is potentially broken,
but without preventing further processing of the stream. This set of patches is
an attempt at addressing this.

Regards,
John Högberg
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to