Add an audio decoder
PR #3757 <https://github.com/Genymobile/scrcpy/pull/3757>
This commit is contained in:
parent
05f0e35d2a
commit
e22660d698
1 changed files with 6 additions and 0 deletions
|
@ -43,6 +43,7 @@ struct scrcpy {
|
||||||
struct sc_demuxer video_demuxer;
|
struct sc_demuxer video_demuxer;
|
||||||
struct sc_demuxer audio_demuxer;
|
struct sc_demuxer audio_demuxer;
|
||||||
struct sc_decoder video_decoder;
|
struct sc_decoder video_decoder;
|
||||||
|
struct sc_decoder audio_decoder;
|
||||||
struct sc_recorder recorder;
|
struct sc_recorder recorder;
|
||||||
#ifdef HAVE_V4L2
|
#ifdef HAVE_V4L2
|
||||||
struct sc_v4l2_sink v4l2_sink;
|
struct sc_v4l2_sink v4l2_sink;
|
||||||
|
@ -437,6 +438,7 @@ scrcpy(struct scrcpy_options *options) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool needs_video_decoder = options->display;
|
bool needs_video_decoder = options->display;
|
||||||
|
bool needs_audio_decoder = options->audio && options->display;
|
||||||
#ifdef HAVE_V4L2
|
#ifdef HAVE_V4L2
|
||||||
needs_video_decoder |= !!options->v4l2_device;
|
needs_video_decoder |= !!options->v4l2_device;
|
||||||
#endif
|
#endif
|
||||||
|
@ -444,6 +446,10 @@ scrcpy(struct scrcpy_options *options) {
|
||||||
sc_decoder_init(&s->video_decoder, "video");
|
sc_decoder_init(&s->video_decoder, "video");
|
||||||
sc_demuxer_add_sink(&s->video_demuxer, &s->video_decoder.packet_sink);
|
sc_demuxer_add_sink(&s->video_demuxer, &s->video_decoder.packet_sink);
|
||||||
}
|
}
|
||||||
|
if (needs_audio_decoder) {
|
||||||
|
sc_decoder_init(&s->audio_decoder, "audio");
|
||||||
|
sc_demuxer_add_sink(&s->audio_demuxer, &s->audio_decoder.packet_sink);
|
||||||
|
}
|
||||||
|
|
||||||
if (options->record_filename) {
|
if (options->record_filename) {
|
||||||
static const struct sc_recorder_callbacks recorder_cbs = {
|
static const struct sc_recorder_callbacks recorder_cbs = {
|
||||||
|
|
Loading…
Reference in a new issue