summaryrefslogtreecommitdiff
path: root/src/lib/ffmpeg_decoder.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-06-03 22:55:44 +0200
committerCarl Hetherington <cth@carlh.net>2021-06-04 22:31:07 +0200
commit9f4cb3b340376d93be39dc97c2e0c631e9cf73c4 (patch)
tree9fae847281fbe1a0c674723f6eb36f19ebcd03d3 /src/lib/ffmpeg_decoder.h
parenta498b8819ab431ecc2aac058b1aadb9e15d396ac (diff)
Fix errors when seeking FFmpeg for some formats.
The comments discuss this in a bit more depth, but basically we see errors from avcodec_send_packet after seek. ffplay etc. seem basically to ignore all errors from avcodec_send_packet, and I can't find a "proper" fix, so here's a half-way house hack: ignore some errors after seek. Nasty.
Diffstat (limited to 'src/lib/ffmpeg_decoder.h')
-rw-r--r--src/lib/ffmpeg_decoder.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/ffmpeg_decoder.h b/src/lib/ffmpeg_decoder.h
index fce3fcae9..def824feb 100644
--- a/src/lib/ffmpeg_decoder.h
+++ b/src/lib/ffmpeg_decoder.h
@@ -79,6 +79,9 @@ private:
/** true if we have a subtitle which has not had emit_stop called for it yet */
bool _have_current_subtitle = false;
+ /** number of errors from avcodec_send_packet to ignore */
+ int _errors_to_ignore = 0;
+
std::shared_ptr<Image> _black_image;
std::map<std::shared_ptr<FFmpegAudioStream>, boost::optional<dcpomatic::ContentTime>> _next_time;