[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