demuxer-stream-id

This commit is contained in:
Romain Vimont 2023-02-09 21:52:37 +01:00
parent e131b9c667
commit e93fd94842
3 changed files with 17 additions and 8 deletions

View file

@ -273,10 +273,12 @@ end:
}
void
sc_demuxer_init(struct sc_demuxer *demuxer, sc_socket socket,
const struct sc_demuxer_callbacks *cbs, void *cbs_userdata) {
sc_demuxer_init(struct sc_demuxer *demuxer, enum sc_stream_id stream_id,
sc_socket socket, const struct sc_demuxer_callbacks *cbs,
void *cbs_userdata) {
assert(socket != SC_SOCKET_NONE);
demuxer->stream_id = stream_id;
demuxer->socket = socket;
demuxer->pending = NULL;
demuxer->sink_count = 0;

View file

@ -14,7 +14,13 @@
#define SC_DEMUXER_MAX_SINKS 2
enum sc_stream_id {
SC_STREAM_ID_VIDEO,
SC_STREAM_ID_AUDIO,
};
struct sc_demuxer {
enum sc_stream_id stream_id;
sc_socket socket;
sc_thread thread;
@ -36,8 +42,9 @@ struct sc_demuxer_callbacks {
};
void
sc_demuxer_init(struct sc_demuxer *demuxer, sc_socket socket,
const struct sc_demuxer_callbacks *cbs, void *cbs_userdata);
sc_demuxer_init(struct sc_demuxer *demuxer, enum sc_stream_id stream_id,
sc_socket socket, const struct sc_demuxer_callbacks *cbs,
void *cbs_userdata);
void
sc_demuxer_add_sink(struct sc_demuxer *demuxer, struct sc_packet_sink *sink);

View file

@ -434,15 +434,15 @@ scrcpy(struct scrcpy_options *options) {
static const struct sc_demuxer_callbacks video_demuxer_cbs = {
.on_eos = sc_video_demuxer_on_eos,
};
sc_demuxer_init(&s->video_demuxer, s->server.video_socket,
&video_demuxer_cbs, NULL);
sc_demuxer_init(&s->video_demuxer, SC_STREAM_ID_VIDEO,
s->server.video_socket, &video_demuxer_cbs, NULL);
if (options->audio) {
static const struct sc_demuxer_callbacks audio_demuxer_cbs = {
.on_eos = sc_audio_demuxer_on_eos,
};
sc_demuxer_init(&s->audio_demuxer, s->server.audio_socket,
&audio_demuxer_cbs, NULL);
sc_demuxer_init(&s->audio_demuxer, SC_STREAM_ID_AUDIO,
s->server.audio_socket, &audio_demuxer_cbs, NULL);
}
if (dec) {