aboutsummaryrefslogtreecommitdiffstats
path: root/fftools/ffmpeg.h
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2024-01-23 19:53:59 +0100
committerAnton Khirnov <anton@khirnov.net>2024-01-30 09:52:00 +0100
commit0d00e2e2f7fc39152eca85c8c3e3eea95ad79fd7 (patch)
treed788ed16e49b38804cc0c31f31f4a2d18806ed96 /fftools/ffmpeg.h
parentfe3be6f78fe3c9a362ad042403e4b699894d0fc2 (diff)
downloadffmpeg-0d00e2e2f7fc39152eca85c8c3e3eea95ad79fd7.tar.gz
fftools/ffmpeg_dec: eliminate all remaining InputStream uses
Previously, the demuxer would register decoder with the scheduler, using InputStream as opaque, and pass the scheduling index to the decoder. Now the registration is done by the decoder itself, using DecoderPriv as opaque, and the scheduling index is returned to demuxer from dec_open(). decoder_thread() then no longer needs to be accessed from outside of ffmpeg_dec and can be made static.
Diffstat (limited to 'fftools/ffmpeg.h')
-rw-r--r--fftools/ffmpeg.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
index c8cba72006..4881174632 100644
--- a/fftools/ffmpeg.h
+++ b/fftools/ffmpeg.h
@@ -290,6 +290,7 @@ enum DecoderFlags {
#if FFMPEG_OPT_TOP
DECODER_FLAG_TOP_FIELD_FIRST = (1 << 3),
#endif
+ DECODER_FLAG_SEND_END_TS = (1 << 4),
};
typedef struct DecoderOpts {
@@ -756,8 +757,11 @@ AVBufferRef *hw_device_for_filter(void);
/**
* @param dec_opts Dictionary filled with decoder options. Its ownership
* is transferred to the decoder.
+ *
+ * @retval ">=0" non-negative scheduler index on success
+ * @retval "<0" an error code on failure
*/
-int dec_open(Decoder **pdec, Scheduler *sch, unsigned sch_idx,
+int dec_open(Decoder **pdec, Scheduler *sch,
AVDictionary **dec_opts, const DecoderOpts *o);
void dec_free(Decoder **pdec);
@@ -847,7 +851,6 @@ const char *opt_match_per_type_str(const SpecifierOptList *sol,
char mediatype);
void *muxer_thread(void *arg);
-void *decoder_thread(void *arg);
void *encoder_thread(void *arg);
#endif /* FFTOOLS_FFMPEG_H */