mirror of
https://github.com/Genymobile/scrcpy.git
synced 2025-08-03 06:39:39 +00:00
demuxer-stream-id
This commit is contained in:
parent
e131b9c667
commit
e93fd94842
3 changed files with 17 additions and 8 deletions
|
@ -273,10 +273,12 @@ end:
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
sc_demuxer_init(struct sc_demuxer *demuxer, sc_socket socket,
|
sc_demuxer_init(struct sc_demuxer *demuxer, enum sc_stream_id stream_id,
|
||||||
const struct sc_demuxer_callbacks *cbs, void *cbs_userdata) {
|
sc_socket socket, const struct sc_demuxer_callbacks *cbs,
|
||||||
|
void *cbs_userdata) {
|
||||||
assert(socket != SC_SOCKET_NONE);
|
assert(socket != SC_SOCKET_NONE);
|
||||||
|
|
||||||
|
demuxer->stream_id = stream_id;
|
||||||
demuxer->socket = socket;
|
demuxer->socket = socket;
|
||||||
demuxer->pending = NULL;
|
demuxer->pending = NULL;
|
||||||
demuxer->sink_count = 0;
|
demuxer->sink_count = 0;
|
||||||
|
|
|
@ -14,7 +14,13 @@
|
||||||
|
|
||||||
#define SC_DEMUXER_MAX_SINKS 2
|
#define SC_DEMUXER_MAX_SINKS 2
|
||||||
|
|
||||||
|
enum sc_stream_id {
|
||||||
|
SC_STREAM_ID_VIDEO,
|
||||||
|
SC_STREAM_ID_AUDIO,
|
||||||
|
};
|
||||||
|
|
||||||
struct sc_demuxer {
|
struct sc_demuxer {
|
||||||
|
enum sc_stream_id stream_id;
|
||||||
sc_socket socket;
|
sc_socket socket;
|
||||||
sc_thread thread;
|
sc_thread thread;
|
||||||
|
|
||||||
|
@ -36,8 +42,9 @@ struct sc_demuxer_callbacks {
|
||||||
};
|
};
|
||||||
|
|
||||||
void
|
void
|
||||||
sc_demuxer_init(struct sc_demuxer *demuxer, sc_socket socket,
|
sc_demuxer_init(struct sc_demuxer *demuxer, enum sc_stream_id stream_id,
|
||||||
const struct sc_demuxer_callbacks *cbs, void *cbs_userdata);
|
sc_socket socket, const struct sc_demuxer_callbacks *cbs,
|
||||||
|
void *cbs_userdata);
|
||||||
|
|
||||||
void
|
void
|
||||||
sc_demuxer_add_sink(struct sc_demuxer *demuxer, struct sc_packet_sink *sink);
|
sc_demuxer_add_sink(struct sc_demuxer *demuxer, struct sc_packet_sink *sink);
|
||||||
|
|
|
@ -434,15 +434,15 @@ scrcpy(struct scrcpy_options *options) {
|
||||||
static const struct sc_demuxer_callbacks video_demuxer_cbs = {
|
static const struct sc_demuxer_callbacks video_demuxer_cbs = {
|
||||||
.on_eos = sc_video_demuxer_on_eos,
|
.on_eos = sc_video_demuxer_on_eos,
|
||||||
};
|
};
|
||||||
sc_demuxer_init(&s->video_demuxer, s->server.video_socket,
|
sc_demuxer_init(&s->video_demuxer, SC_STREAM_ID_VIDEO,
|
||||||
&video_demuxer_cbs, NULL);
|
s->server.video_socket, &video_demuxer_cbs, NULL);
|
||||||
|
|
||||||
if (options->audio) {
|
if (options->audio) {
|
||||||
static const struct sc_demuxer_callbacks audio_demuxer_cbs = {
|
static const struct sc_demuxer_callbacks audio_demuxer_cbs = {
|
||||||
.on_eos = sc_audio_demuxer_on_eos,
|
.on_eos = sc_audio_demuxer_on_eos,
|
||||||
};
|
};
|
||||||
sc_demuxer_init(&s->audio_demuxer, s->server.audio_socket,
|
sc_demuxer_init(&s->audio_demuxer, SC_STREAM_ID_AUDIO,
|
||||||
&audio_demuxer_cbs, NULL);
|
s->server.audio_socket, &audio_demuxer_cbs, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dec) {
|
if (dec) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue