~cnx/palace

2 2

Support for Loopback Device in Palace

Details
Message ID
<CALbUjS1HfeWj-eOxokEk49_OZHxqqtozpbjzEL0v839LTvuiog@mail.gmail.com>
DKIM signature
missing
Download raw message
Hi everyone!

I asked this question on OpenAL Soft project:
https://github.com/kcat/openal-soft/issues/496

With kcat answer at hand, I tried to take a look at Palace code,
but I'm unfamiliar with both C++ and OpenAL + Alure, and I didn't
find out if it's implemented and, if not, how to implement it.

Since I can't grep away any code keyword, I speculate it's not implemented.

Can you give me some advice on where to look and how can I add this feature?
It can be a good opportunity to finally get my feet wet with Palace.

Thanks in advance!

P.S. I'm unfamiliar with SourceHut too, I'm not sure this is the right
place where
"opening this issue" (in GitHub terms)
Details
Message ID
<C9A8LH5JT17K.3SLC1MPWEMGYN@debian>
In-Reply-To
<CALbUjS1HfeWj-eOxokEk49_OZHxqqtozpbjzEL0v839LTvuiog@mail.gmail.com> (view parent)
DKIM signature
missing
Download raw message
First of all, sorry for the extremely late reply.  Just in case you are
still interested in working on this, I just want to note down my analysis:

In the linked OpenAL Soft ticket, kcat suggested to use a loopback device
for context creation.  In alure (and thus palace), devices are created
from the device name [0].  In order to integrate the custom AL device
into alure, one would need to create an alure::Device whose DeviceImpl
has mDevice as a loopback one.

The other relevant part is at closure, where Device::close calls
DeviceImpl::close [1], which then calls DeviceManagerImpl::removeDevice,
which removes the DeviceImpl from the Vector that stores the references,
conditionally and silently if it's found [2].

I suppose that it is possible to have a LoopbackDevice that inherits on
Device at palace level with sufficient patches, and as for non-realtime
playback one may control the time through manually buffer the Decoder.

And by the way, happy lunar new year!

[0]: https://github.com/kcat/alure/blob/2b54c0d8b074ff1b84821c791556b3634c11764f/include/AL/alure2.h#L440-L455 
[1]: https://github.com/kcat/alure/blob/2b54c0d8b074ff1b84821c791556b3634c11764f/src/device.cpp#L325-L341
[2]:
https://github.com/kcat/alure/blob/2b54c0d8b074ff1b84821c791556b3634c11764f/src/devicemanager.cpp#L152
Details
Message ID
<CALbUjS1q_wxt_ZrQncKrzK3HMwmHcTQs6PHiYj3PkeEvnAUrEw@mail.gmail.com>
In-Reply-To
<C9A8LH5JT17K.3SLC1MPWEMGYN@debian> (view parent)
DKIM signature
missing
Download raw message
Hi Nguyễn, sorry, I've missed your reply.

I fear it will require me a lot of time to figure out how to do
this... Could anyone be interested in a bounty for successfully
implementing this feature?

I was thinking about 50$ on e.g. bountysource[dot]com or similar

Let me know if someone is interested :-)

P.S. sorry if this arrived multiple times, html got rejected from mailing list
Reply to thread Export thread (mbox)