diff --git a/app/src/demuxer.c b/app/src/demuxer.c index 69d82c19..b48859d9 100644 --- a/app/src/demuxer.c +++ b/app/src/demuxer.c @@ -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; diff --git a/app/src/demuxer.h b/app/src/demuxer.h index 11e20ad6..a2fe6bf3 100644 --- a/app/src/demuxer.h +++ b/app/src/demuxer.h @@ -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); diff --git a/app/src/scrcpy.c b/app/src/scrcpy.c index 7b4ca6a6..77a5ad21 100644 --- a/app/src/scrcpy.c +++ b/app/src/scrcpy.c @@ -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) {