Skip to content

Conversation

jbaudanza
Copy link

This PR adds an interrupt() function to the demuxer instance. Calling interrupt will cause any blocking IO on the demuxer to abort with the AVERROR_EXIT error code.

This is accomplished using the AVIOInterruptCB structure in ffmpeg https://github.com/FFmpeg/FFmpeg/blob/6087692a60699a5eac5b061dd458e5a856e0662f/libavformat/avio.h#L47-L61

I considered adding some special error handling for AVERROR_EXIT, but I wanted to get your feedback first. It might be useful for client applications to be able to differentiate between intentional early exit errors and regular errors. In my app, I'm doing a string match for "Immediate exit requested" on error.message. It's not ideal, but good enough for now.

This resolves my issue #54 and I think could also help with #53

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant