From eaced0ebb03a078394ed01bcbe641b5b7a4312aa Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 29 Jan 2018 13:51:47 +0100 Subject: demux: add a per stream wakeup callback This is supposed to help making data flow easier and wakeup handling more efficient. Once that change is done, reading a packet on any stream won't have to wakeup and poll all decoders (which helps reducing the mess even if all decoders are on the same thread). This also improves the accuracy of wakeups by tracking better whether a wakeup is needed. --- demux/demux.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'demux/demux.h') diff --git a/demux/demux.h b/demux/demux.h index be6c336a95..b3088db8c4 100644 --- a/demux/demux.h +++ b/demux/demux.h @@ -255,6 +255,8 @@ struct demux_packet *demux_read_packet(struct sh_stream *sh); int demux_read_packet_async(struct sh_stream *sh, struct demux_packet **out_pkt); bool demux_stream_is_selected(struct sh_stream *stream); bool demux_has_packet(struct sh_stream *sh); +void demux_set_stream_wakeup_cb(struct sh_stream *sh, + void (*cb)(void *ctx), void *ctx); struct demux_packet *demux_read_any_packet(struct demuxer *demuxer); struct sh_stream *demux_get_stream(struct demuxer *demuxer, int index); -- cgit v1.2.3