[Bug 792897] wasapi: Implement multichannel support and a device provider
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Thu Jan 25 15:22:43 UTC 2018
https://bugzilla.gnome.org/show_bug.cgi?id=792897
--- Comment #5 from Nirbheek Chauhan <nirbheek.chauhan at gmail.com> ---
(In reply to Sebastian Dröge (slomo) from comment #3)
> Review of attachment 367418 [details] [review]:
>
> ::: sys/wasapi/gstwasapiutil.c
> @@ +212,3 @@
>
> +static IMMDeviceEnumerator*
> +gst_wasapi_util_get_device_enumerator (GstElement * element)
>
> This and the related changes look like something that should've been in the
> next commit?
>
Oops, yes.
> @@ +423,3 @@
> + GST_INFO ("wasapi: got %i channels from wasapi, assuming
> non-positional",
> + nChannels);
> + mask = GST_AUDIO_CHANNEL_POSITION_NONE;
>
> mask = NONE makes no sense. All positions NONE would be a mask of 0
>
Yes, not sure what I was thinking there...
> @@ +430,3 @@
> + * i.e. the speaker positions and the enum values are the same till
> + * 0x100 = SPEAKER_BACK_CENTER = GST_AUDIO_CHANNEL_POSITION_REAR_CENTER
> + * Hence if those are the only bits set, we can just use the mask
> directly. */
>
> Considering the code further below, it might be easiest to just define a
> mapping table between WASAPI and GStreamer, and use that for all cases. Now
> you special-case <= 9 channels in a weird way
>
I couldn't immediately think of a clean way to also populate the positions
array at the same time without having a bunch of ugly macros. Do you have
suggestions?
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list