* alsa-lib support for compress offload
@ 2015-01-16 9:52 Qais Yousef
2015-01-16 10:34 ` Takashi Iwai
0 siblings, 1 reply; 17+ messages in thread
From: Qais Yousef @ 2015-01-16 9:52 UTC (permalink / raw)
To: alsa-devel; +Cc: Takashi Iwai, Mark Brown
Hi,
As far as I understand I need to use something similar to tinycompress
to use alsa devices that supports compress offload. When I asked on
gstreamer list [1] about alsasink support for compress offload they said
yes. But I can see that gstalsasink.c [2] only uses the standard
alsa-lib api which AFAICT doesn't support compress offload.
Did I misread the code and alsa-lib actually works with compress
offload? Gstreamer refers to the feature "passthrough" and associate it
with SPDIF[3], are they taking advantage of some other alsa feature that
looks like compress offload?
Thanks,
Qais
[1]
http://gstreamer-devel.966125.n4.nabble.com/ALSA-Compress-Offload-support-td4670153.html
[2]
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/ext/alsa/gstalsasink.c#n836
[3]
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/ext/alsa/gstalsa.c#n437
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-16 9:52 alsa-lib support for compress offload Qais Yousef
@ 2015-01-16 10:34 ` Takashi Iwai
2015-01-16 11:22 ` Qais Yousef
0 siblings, 1 reply; 17+ messages in thread
From: Takashi Iwai @ 2015-01-16 10:34 UTC (permalink / raw)
To: Qais Yousef; +Cc: alsa-devel, Mark Brown
At Fri, 16 Jan 2015 09:52:58 +0000,
Qais Yousef wrote:
>
> Hi,
>
> As far as I understand I need to use something similar to tinycompress
> to use alsa devices that supports compress offload. When I asked on
> gstreamer list [1] about alsasink support for compress offload they said
> yes. But I can see that gstalsasink.c [2] only uses the standard
> alsa-lib api which AFAICT doesn't support compress offload.
>
> Did I misread the code and alsa-lib actually works with compress
> offload? Gstreamer refers to the feature "passthrough" and associate it
> with SPDIF[3], are they taking advantage of some other alsa feature that
> looks like compress offload?
It's a normal IEC958 passthrough, nothing to do with the compress
offload. And, no, we have no support for compress API in alsa-lib
yet. Just because no one submitted the patches.
Takashi
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-16 10:34 ` Takashi Iwai
@ 2015-01-16 11:22 ` Qais Yousef
2015-01-16 16:50 ` Pierre-Louis Bossart
0 siblings, 1 reply; 17+ messages in thread
From: Qais Yousef @ 2015-01-16 11:22 UTC (permalink / raw)
To: Takashi Iwai; +Cc: Vinod Koul, alsa-devel, Mark Brown
On 01/16/2015 10:34 AM, Takashi Iwai wrote:
> At Fri, 16 Jan 2015 09:52:58 +0000,
> Qais Yousef wrote:
>> Hi,
>>
>> As far as I understand I need to use something similar to tinycompress
>> to use alsa devices that supports compress offload. When I asked on
>> gstreamer list [1] about alsasink support for compress offload they said
>> yes. But I can see that gstalsasink.c [2] only uses the standard
>> alsa-lib api which AFAICT doesn't support compress offload.
>>
>> Did I misread the code and alsa-lib actually works with compress
>> offload? Gstreamer refers to the feature "passthrough" and associate it
>> with SPDIF[3], are they taking advantage of some other alsa feature that
>> looks like compress offload?
> It's a normal IEC958 passthrough, nothing to do with the compress
> offload. And, no, we have no support for compress API in alsa-lib
> yet. Just because no one submitted the patches.
>
>
> Takashi
Thanks. I haven't used alsa-lib before but I might be able to send the
patches if I get guidance of what needs doing. Is the expected API
similar/same to what provided by tinycompress[1]?
[1]
http://git.alsa-project.org/?p=tinycompress.git;a=blob;f=include/tinycompress/tinycompress.h;h=03c396fccea5f2a176d24fd580ee6a447da657ec;hb=HEAD
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-16 11:22 ` Qais Yousef
@ 2015-01-16 16:50 ` Pierre-Louis Bossart
2015-01-16 18:46 ` Mark Brown
2015-01-19 17:23 ` Qais Yousef
0 siblings, 2 replies; 17+ messages in thread
From: Pierre-Louis Bossart @ 2015-01-16 16:50 UTC (permalink / raw)
To: Qais Yousef, Takashi Iwai; +Cc: Vinod Koul, alsa-devel, Mark Brown
>> It's a normal IEC958 passthrough, nothing to do with the compress
>> offload. And, no, we have no support for compress API in alsa-lib
>> yet. Just because no one submitted the patches.
>
> Thanks. I haven't used alsa-lib before but I might be able to send the
> patches if I get guidance of what needs doing. Is the expected API
> similar/same to what provided by tinycompress[1]?
>
> [1]
> http://git.alsa-project.org/?p=tinycompress.git;a=blob;f=include/tinycompress/tinycompress.h;h=03c396fccea5f2a176d24fd580ee6a447da657ec;hb=HEAD
Since there is no allowed processing/reformatting/reshuffling of
compressed data, all the plugin system needs to be bypassed and you'd be
looking at an alsa-lib API that interfaces directly with the ioctls,
essentially replicating what tinycompress does. I agree it's not great
to have independent packages, the decision to maintain tinycompress
separately was driven by licensing concerns, not technical ones.
-Pierre
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-16 16:50 ` Pierre-Louis Bossart
@ 2015-01-16 18:46 ` Mark Brown
2015-01-19 17:23 ` Qais Yousef
1 sibling, 0 replies; 17+ messages in thread
From: Mark Brown @ 2015-01-16 18:46 UTC (permalink / raw)
To: Pierre-Louis Bossart; +Cc: Takashi Iwai, Vinod Koul, alsa-devel, Qais Yousef
[-- Attachment #1.1: Type: text/plain, Size: 823 bytes --]
On Fri, Jan 16, 2015 at 10:50:07AM -0600, Pierre-Louis Bossart wrote:
> Since there is no allowed processing/reformatting/reshuffling of compressed
> data, all the plugin system needs to be bypassed and you'd be looking at an
> alsa-lib API that interfaces directly with the ioctls, essentially
> replicating what tinycompress does. I agree it's not great to have
> independent packages, the decision to maintain tinycompress separately was
> driven by licensing concerns, not technical ones.
Well, it'd be nice to be able to support plugins for userspace output
devices like networked audio sinks or for talking to an audio server to
at least allow it to manage resource contention, or for providing soft
decode for that matter. Currently the media frameworks do the job just
fine so it's not really a big deal though.
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-16 16:50 ` Pierre-Louis Bossart
2015-01-16 18:46 ` Mark Brown
@ 2015-01-19 17:23 ` Qais Yousef
2015-01-19 22:07 ` Pierre-Louis Bossart
1 sibling, 1 reply; 17+ messages in thread
From: Qais Yousef @ 2015-01-19 17:23 UTC (permalink / raw)
To: Pierre-Louis Bossart, Takashi Iwai; +Cc: Vinod Koul, alsa-devel, Mark Brown
On 01/16/2015 04:50 PM, Pierre-Louis Bossart wrote:
>
> Since there is no allowed processing/reformatting/reshuffling of
> compressed data, all the plugin system needs to be bypassed and you'd
> be looking at an alsa-lib API that interfaces directly with the
> ioctls, essentially replicating what tinycompress does. I agree it's
> not great to have independent packages, the decision to maintain
> tinycompress separately was driven by licensing concerns, not
> technical ones.
> -Pierre
>
I'm not sure how dual licensing work. Is it ok to base alsa-lib support
for compress API on tinycompress then?
Thanks,
Qais
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-19 17:23 ` Qais Yousef
@ 2015-01-19 22:07 ` Pierre-Louis Bossart
2015-01-20 7:21 ` Arun Raghavan
2015-01-20 9:53 ` Qais Yousef
0 siblings, 2 replies; 17+ messages in thread
From: Pierre-Louis Bossart @ 2015-01-19 22:07 UTC (permalink / raw)
To: Qais Yousef, Takashi Iwai; +Cc: Vinod Koul, alsa-devel, Mark Brown
On 1/19/15 11:23 AM, Qais Yousef wrote:
> On 01/16/2015 04:50 PM, Pierre-Louis Bossart wrote:
>>
>> Since there is no allowed processing/reformatting/reshuffling of
>> compressed data, all the plugin system needs to be bypassed and you'd
>> be looking at an alsa-lib API that interfaces directly with the
>> ioctls, essentially replicating what tinycompress does. I agree it's
>> not great to have independent packages, the decision to maintain
>> tinycompress separately was driven by licensing concerns, not
>> technical ones.
>> -Pierre
>>
>
> I'm not sure how dual licensing work. Is it ok to base alsa-lib support
> for compress API on tinycompress then?
no idea, and what is the objective really? it's not clear what you are
trying to achieve and what would be the merits of enhancing alsa-lib
with compressed audio support?
-Pierre
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-19 22:07 ` Pierre-Louis Bossart
@ 2015-01-20 7:21 ` Arun Raghavan
2015-01-20 9:53 ` Qais Yousef
1 sibling, 0 replies; 17+ messages in thread
From: Arun Raghavan @ 2015-01-20 7:21 UTC (permalink / raw)
To: Pierre-Louis Bossart
Cc: Takashi Iwai, Vinod Koul, alsa-devel, Qais Yousef, Mark Brown
On 20 January 2015 at 03:37, Pierre-Louis Bossart
<pierre-louis.bossart@linux.intel.com> wrote:
> On 1/19/15 11:23 AM, Qais Yousef wrote:
>>
>> On 01/16/2015 04:50 PM, Pierre-Louis Bossart wrote:
>>>
>>>
>>> Since there is no allowed processing/reformatting/reshuffling of
>>> compressed data, all the plugin system needs to be bypassed and you'd
>>> be looking at an alsa-lib API that interfaces directly with the
>>> ioctls, essentially replicating what tinycompress does. I agree it's
>>> not great to have independent packages, the decision to maintain
>>> tinycompress separately was driven by licensing concerns, not
>>> technical ones.
>>> -Pierre
>>>
>>
>> I'm not sure how dual licensing work. Is it ok to base alsa-lib support
>> for compress API on tinycompress then?
>
>
> no idea, and what is the objective really? it's not clear what you are
> trying to achieve and what would be the merits of enhancing alsa-lib with
> compressed audio support?
If the same API can be reused/extended, it'd mean allowing code reuse
and not having to write entirely separate support for compressed
devices in projects that use alsa-lib already. I don't know if that's
actually feasible with the way the ALSA API works, though.
-- Arun
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-19 22:07 ` Pierre-Louis Bossart
2015-01-20 7:21 ` Arun Raghavan
@ 2015-01-20 9:53 ` Qais Yousef
2015-01-21 7:10 ` Vinod Koul
2015-01-21 15:01 ` Pierre-Louis Bossart
1 sibling, 2 replies; 17+ messages in thread
From: Qais Yousef @ 2015-01-20 9:53 UTC (permalink / raw)
To: Pierre-Louis Bossart, Takashi Iwai; +Cc: Vinod Koul, alsa-devel, Mark Brown
On 01/19/2015 10:07 PM, Pierre-Louis Bossart wrote:
> On 1/19/15 11:23 AM, Qais Yousef wrote:
>> On 01/16/2015 04:50 PM, Pierre-Louis Bossart wrote:
>>>
>>> Since there is no allowed processing/reformatting/reshuffling of
>>> compressed data, all the plugin system needs to be bypassed and you'd
>>> be looking at an alsa-lib API that interfaces directly with the
>>> ioctls, essentially replicating what tinycompress does. I agree it's
>>> not great to have independent packages, the decision to maintain
>>> tinycompress separately was driven by licensing concerns, not
>>> technical ones.
>>> -Pierre
>>>
>>
>> I'm not sure how dual licensing work. Is it ok to base alsa-lib support
>> for compress API on tinycompress then?
>
> no idea, and what is the objective really? it's not clear what you are
> trying to achieve and what would be the merits of enhancing alsa-lib
> with compressed audio support?
> -Pierre
>
Long story short, I am writing a new ALSA driver that supports compress
offload. The only user land support I could find is in tinycompress. I
was looking at adding gstreamer support to facilitate my testing and
hopefully make the driver more useful.
I am happy to use tinycompress if that's the official way alsa wants to
support userland applications. When Takashi suggested that he didn't get
patches for compress API support in alsa-lib I thought it was a hint
it's a better idea to have it there. I think it makes sense to merge
tinycompress into alsa-lib as this will make the functionality more
readily available - if license is not an issue.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-20 9:53 ` Qais Yousef
@ 2015-01-21 7:10 ` Vinod Koul
2015-01-21 9:22 ` Qais Yousef
2015-01-21 11:59 ` Takashi Iwai
2015-01-21 15:01 ` Pierre-Louis Bossart
1 sibling, 2 replies; 17+ messages in thread
From: Vinod Koul @ 2015-01-21 7:10 UTC (permalink / raw)
To: Qais Yousef; +Cc: Takashi Iwai, alsa-devel, Mark Brown, Pierre-Louis Bossart
On Tue, Jan 20, 2015 at 09:53:59AM +0000, Qais Yousef wrote:
> On 01/19/2015 10:07 PM, Pierre-Louis Bossart wrote:
> >On 1/19/15 11:23 AM, Qais Yousef wrote:
> >>On 01/16/2015 04:50 PM, Pierre-Louis Bossart wrote:
> >>>
> >>>Since there is no allowed processing/reformatting/reshuffling of
> >>>compressed data, all the plugin system needs to be bypassed and you'd
> >>>be looking at an alsa-lib API that interfaces directly with the
> >>>ioctls, essentially replicating what tinycompress does. I agree it's
> >>>not great to have independent packages, the decision to maintain
> >>>tinycompress separately was driven by licensing concerns, not
> >>>technical ones.
> >>>-Pierre
> >>>
> >>
> >>I'm not sure how dual licensing work. Is it ok to base alsa-lib support
> >>for compress API on tinycompress then?
> >
> >no idea, and what is the objective really? it's not clear what you
> >are trying to achieve and what would be the merits of enhancing
> >alsa-lib with compressed audio support?
> >-Pierre
> >
>
> Long story short, I am writing a new ALSA driver that supports
> compress offload. The only user land support I could find is in
> tinycompress. I was looking at adding gstreamer support to
> facilitate my testing and hopefully make the driver more useful.
>
> I am happy to use tinycompress if that's the official way alsa wants
> to support userland applications. When Takashi suggested that he
> didn't get patches for compress API support in alsa-lib I thought it
> was a hint it's a better idea to have it there. I think it makes
> sense to merge tinycompress into alsa-lib as this will make the
> functionality more readily available - if license is not an issue.
Sorry for delayed reply, I am travelling.
tinycompress comes with dual license LGPL and BSD. Currently the main user of
this is Android which picks up the BSD license.
Though I am not a lawyer, but I don't see a reason if alsa-lib uses LGPL
license to take this lib and include compress support in alsa-lib. This
way we have code reuse and take advantage of alsa-lib to support compress
formats too. Takashi is that fine with you?
I would hate if we had to rewrite the simple wrappers over IOCTLs to support
compress in alsa-lib!
Thanks
--
~Vinod
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-21 7:10 ` Vinod Koul
@ 2015-01-21 9:22 ` Qais Yousef
2015-01-21 11:59 ` Takashi Iwai
1 sibling, 0 replies; 17+ messages in thread
From: Qais Yousef @ 2015-01-21 9:22 UTC (permalink / raw)
To: Vinod Koul; +Cc: Takashi Iwai, alsa-devel, Mark Brown, Pierre-Louis Bossart
On 01/21/2015 07:10 AM, Vinod Koul wrote:
> Sorry for delayed reply, I am travelling.
Thanks for taking the time to answer.
>
> tinycompress comes with dual license LGPL and BSD. Currently the main user of
> this is Android which picks up the BSD license.
>
> Though I am not a lawyer, but I don't see a reason if alsa-lib uses LGPL
> license to take this lib and include compress support in alsa-lib. This
> way we have code reuse and take advantage of alsa-lib to support compress
> formats too. Takashi is that fine with you?
>
> I would hate if we had to rewrite the simple wrappers over IOCTLs to support
> compress in alsa-lib!
>
> Thanks
>
Unless Takashi comes up with an objection, I'll work just on that.
Thanks,
Qais
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-21 7:10 ` Vinod Koul
2015-01-21 9:22 ` Qais Yousef
@ 2015-01-21 11:59 ` Takashi Iwai
2015-01-21 14:16 ` Qais Yousef
2015-01-22 21:56 ` Vinod Koul
1 sibling, 2 replies; 17+ messages in thread
From: Takashi Iwai @ 2015-01-21 11:59 UTC (permalink / raw)
To: Vinod Koul; +Cc: alsa-devel, Qais Yousef, Pierre-Louis Bossart, Mark Brown
At Tue, 20 Jan 2015 23:10:53 -0800,
Vinod Koul wrote:
>
> On Tue, Jan 20, 2015 at 09:53:59AM +0000, Qais Yousef wrote:
> > On 01/19/2015 10:07 PM, Pierre-Louis Bossart wrote:
> > >On 1/19/15 11:23 AM, Qais Yousef wrote:
> > >>On 01/16/2015 04:50 PM, Pierre-Louis Bossart wrote:
> > >>>
> > >>>Since there is no allowed processing/reformatting/reshuffling of
> > >>>compressed data, all the plugin system needs to be bypassed and you'd
> > >>>be looking at an alsa-lib API that interfaces directly with the
> > >>>ioctls, essentially replicating what tinycompress does. I agree it's
> > >>>not great to have independent packages, the decision to maintain
> > >>>tinycompress separately was driven by licensing concerns, not
> > >>>technical ones.
> > >>>-Pierre
> > >>>
> > >>
> > >>I'm not sure how dual licensing work. Is it ok to base alsa-lib support
> > >>for compress API on tinycompress then?
> > >
> > >no idea, and what is the objective really? it's not clear what you
> > >are trying to achieve and what would be the merits of enhancing
> > >alsa-lib with compressed audio support?
> > >-Pierre
> > >
> >
> > Long story short, I am writing a new ALSA driver that supports
> > compress offload. The only user land support I could find is in
> > tinycompress. I was looking at adding gstreamer support to
> > facilitate my testing and hopefully make the driver more useful.
> >
> > I am happy to use tinycompress if that's the official way alsa wants
> > to support userland applications. When Takashi suggested that he
> > didn't get patches for compress API support in alsa-lib I thought it
> > was a hint it's a better idea to have it there. I think it makes
> > sense to merge tinycompress into alsa-lib as this will make the
> > functionality more readily available - if license is not an issue.
> Sorry for delayed reply, I am travelling.
>
> tinycompress comes with dual license LGPL and BSD. Currently the main user of
> this is Android which picks up the BSD license.
>
> Though I am not a lawyer, but I don't see a reason if alsa-lib uses LGPL
> license to take this lib and include compress support in alsa-lib. This
> way we have code reuse and take advantage of alsa-lib to support compress
> formats too. Takashi is that fine with you?
Well, I see no big merit to merge into alsa-lib if API isn't
compatible with others. At least the open function doesn't align with
other functions taking the device name string.
> I would hate if we had to rewrite the simple wrappers over IOCTLs to support
> compress in alsa-lib!
True.
The compress-offload support in alsa-lib is a "nice to have" one.
But I guess the more interesting question right now is whether
applications can use tinycompress as an "official" component.
My (personal) answer is "yes". It doesn't conflict even if start
implementing in alsa-lib, at least.
(BTW, from the packaging POV, tinycompress lacks a few proper things
in Makefile...)
thanks,
Takashi
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-21 11:59 ` Takashi Iwai
@ 2015-01-21 14:16 ` Qais Yousef
2015-01-22 21:56 ` Vinod Koul
1 sibling, 0 replies; 17+ messages in thread
From: Qais Yousef @ 2015-01-21 14:16 UTC (permalink / raw)
To: Takashi Iwai, Vinod Koul; +Cc: alsa-devel, Mark Brown, Pierre-Louis Bossart
On 01/21/2015 11:59 AM, Takashi Iwai wrote:
> At Tue, 20 Jan 2015 23:10:53 -0800,
> Vinod Koul wrote:
>> On Tue, Jan 20, 2015 at 09:53:59AM +0000, Qais Yousef wrote:
>>> On 01/19/2015 10:07 PM, Pierre-Louis Bossart wrote:
>>>> On 1/19/15 11:23 AM, Qais Yousef wrote:
>>>>> On 01/16/2015 04:50 PM, Pierre-Louis Bossart wrote:
>>>>>> Since there is no allowed processing/reformatting/reshuffling of
>>>>>> compressed data, all the plugin system needs to be bypassed and you'd
>>>>>> be looking at an alsa-lib API that interfaces directly with the
>>>>>> ioctls, essentially replicating what tinycompress does. I agree it's
>>>>>> not great to have independent packages, the decision to maintain
>>>>>> tinycompress separately was driven by licensing concerns, not
>>>>>> technical ones.
>>>>>> -Pierre
>>>>>>
>>>>> I'm not sure how dual licensing work. Is it ok to base alsa-lib support
>>>>> for compress API on tinycompress then?
>>>> no idea, and what is the objective really? it's not clear what you
>>>> are trying to achieve and what would be the merits of enhancing
>>>> alsa-lib with compressed audio support?
>>>> -Pierre
>>>>
>>> Long story short, I am writing a new ALSA driver that supports
>>> compress offload. The only user land support I could find is in
>>> tinycompress. I was looking at adding gstreamer support to
>>> facilitate my testing and hopefully make the driver more useful.
>>>
>>> I am happy to use tinycompress if that's the official way alsa wants
>>> to support userland applications. When Takashi suggested that he
>>> didn't get patches for compress API support in alsa-lib I thought it
>>> was a hint it's a better idea to have it there. I think it makes
>>> sense to merge tinycompress into alsa-lib as this will make the
>>> functionality more readily available - if license is not an issue.
>> Sorry for delayed reply, I am travelling.
>>
>> tinycompress comes with dual license LGPL and BSD. Currently the main user of
>> this is Android which picks up the BSD license.
>>
>> Though I am not a lawyer, but I don't see a reason if alsa-lib uses LGPL
>> license to take this lib and include compress support in alsa-lib. This
>> way we have code reuse and take advantage of alsa-lib to support compress
>> formats too. Takashi is that fine with you?
> Well, I see no big merit to merge into alsa-lib if API isn't
> compatible with others. At least the open function doesn't align with
> other functions taking the device name string.
IMHO for a newcomer to alsa like me I expect to find all alsa features
supported by the kernel supported in alsa-lib too. It's confusing when I
need to use different libraries for different alsa features. Especially
in this case I don't see the necessity for a different package - except
you need non LGPL license. I *think* having the API in alsa-lib will
ensure the documentation is consistent and can be found in one place.
>
>> I would hate if we had to rewrite the simple wrappers over IOCTLs to support
>> compress in alsa-lib!
> True.
>
> The compress-offload support in alsa-lib is a "nice to have" one.
> But I guess the more interesting question right now is whether
> applications can use tinycompress as an "official" component.
> My (personal) answer is "yes". It doesn't conflict even if start
> implementing in alsa-lib, at least.
>
> (BTW, from the packaging POV, tinycompress lacks a few proper things
> in Makefile...)
>
>
> thanks,
>
> Takashi
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-20 9:53 ` Qais Yousef
2015-01-21 7:10 ` Vinod Koul
@ 2015-01-21 15:01 ` Pierre-Louis Bossart
1 sibling, 0 replies; 17+ messages in thread
From: Pierre-Louis Bossart @ 2015-01-21 15:01 UTC (permalink / raw)
To: Qais Yousef, Takashi Iwai; +Cc: Vinod Koul, alsa-devel, Mark Brown
> Long story short, I am writing a new ALSA driver that supports compress
> offload. The only user land support I could find is in tinycompress. I
> was looking at adding gstreamer support to facilitate my testing and
> hopefully make the driver more useful.
The problem when you use a gstreamer->tinycompress path is that you have
no hooks for volume control and audio policy/routing. It'll remain a
test toy. If you want integration with a better user-friendly support,
the right answer is to go through PulseAudio and write a compressed sink
within pulseaudio. See the LPC slides from 2010 or 2011 that describe
the solution. And Arun can help you with that, he wrote the
gstreamer/pulseaudio interface :-)
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-21 11:59 ` Takashi Iwai
2015-01-21 14:16 ` Qais Yousef
@ 2015-01-22 21:56 ` Vinod Koul
2015-01-22 22:03 ` Pierre-Louis Bossart
1 sibling, 1 reply; 17+ messages in thread
From: Vinod Koul @ 2015-01-22 21:56 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Qais Yousef, Pierre-Louis Bossart, Mark Brown
On Wed, Jan 21, 2015 at 12:59:49PM +0100, Takashi Iwai wrote:
> At Tue, 20 Jan 2015 23:10:53 -0800,
> Vinod Koul wrote:
> >
> > On Tue, Jan 20, 2015 at 09:53:59AM +0000, Qais Yousef wrote:
> > > On 01/19/2015 10:07 PM, Pierre-Louis Bossart wrote:
> > > >On 1/19/15 11:23 AM, Qais Yousef wrote:
> > > >>On 01/16/2015 04:50 PM, Pierre-Louis Bossart wrote:
> > > >>>
> > > >>>Since there is no allowed processing/reformatting/reshuffling of
> > > >>>compressed data, all the plugin system needs to be bypassed and you'd
> > > >>>be looking at an alsa-lib API that interfaces directly with the
> > > >>>ioctls, essentially replicating what tinycompress does. I agree it's
> > > >>>not great to have independent packages, the decision to maintain
> > > >>>tinycompress separately was driven by licensing concerns, not
> > > >>>technical ones.
> > > >>>-Pierre
> > > >>>
> > > >>
> > > >>I'm not sure how dual licensing work. Is it ok to base alsa-lib support
> > > >>for compress API on tinycompress then?
> > > >
> > > >no idea, and what is the objective really? it's not clear what you
> > > >are trying to achieve and what would be the merits of enhancing
> > > >alsa-lib with compressed audio support?
> > > >-Pierre
> > > >
> > >
> > > Long story short, I am writing a new ALSA driver that supports
> > > compress offload. The only user land support I could find is in
> > > tinycompress. I was looking at adding gstreamer support to
> > > facilitate my testing and hopefully make the driver more useful.
> > >
> > > I am happy to use tinycompress if that's the official way alsa wants
> > > to support userland applications. When Takashi suggested that he
> > > didn't get patches for compress API support in alsa-lib I thought it
> > > was a hint it's a better idea to have it there. I think it makes
> > > sense to merge tinycompress into alsa-lib as this will make the
> > > functionality more readily available - if license is not an issue.
> > Sorry for delayed reply, I am travelling.
> >
> > tinycompress comes with dual license LGPL and BSD. Currently the main user of
> > this is Android which picks up the BSD license.
> >
> > Though I am not a lawyer, but I don't see a reason if alsa-lib uses LGPL
> > license to take this lib and include compress support in alsa-lib. This
> > way we have code reuse and take advantage of alsa-lib to support compress
> > formats too. Takashi is that fine with you?
>
> Well, I see no big merit to merge into alsa-lib if API isn't
> compatible with others. At least the open function doesn't align with
> other functions taking the device name string.
Can we actually support compress with current alsa APIs? If yes then we can
do rework and keep current tinycompress APIs for Andporid and let core lib
be reused, if not then we can go with these new APIs
> > I would hate if we had to rewrite the simple wrappers over IOCTLs to support
> > compress in alsa-lib!
>
> True.
>
> The compress-offload support in alsa-lib is a "nice to have" one.
> But I guess the more interesting question right now is whether
> applications can use tinycompress as an "official" component.
> My (personal) answer is "yes". It doesn't conflict even if start
> implementing in alsa-lib, at least.
>
> (BTW, from the packaging POV, tinycompress lacks a few proper things
> in Makefile...)
The Makefiles were added just to check sanity and do quick compilation.
Patches to fix this are welcome :)
--
~Vinod
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-22 21:56 ` Vinod Koul
@ 2015-01-22 22:03 ` Pierre-Louis Bossart
2015-01-23 6:41 ` Takashi Iwai
0 siblings, 1 reply; 17+ messages in thread
From: Pierre-Louis Bossart @ 2015-01-22 22:03 UTC (permalink / raw)
To: Vinod Koul, Takashi Iwai
Cc: alsa-devel, Qais Yousef, Pierre-Louis Bossart, Mark Brown
On 1/22/15 3:56 PM, Vinod Koul wrote:
> Can we actually support compress with current alsa APIs? If yes then we can
> do rework and keep current tinycompress APIs for Andporid and let core lib
> be reused, if not then we can go with these new APIs
No. We need to be able to pass decoder/encoder parameters, and we need
the ability to deal with bytes, without any fixed mapping between bytes
and time. If we want any convergence we'd need ALSA to deal with bytes
only and not frames, in addition to the extra configuration steps, which
would be a complete API change.
-Pierre
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: alsa-lib support for compress offload
2015-01-22 22:03 ` Pierre-Louis Bossart
@ 2015-01-23 6:41 ` Takashi Iwai
0 siblings, 0 replies; 17+ messages in thread
From: Takashi Iwai @ 2015-01-23 6:41 UTC (permalink / raw)
To: Pierre-Louis Bossart
Cc: Vinod Koul, alsa-devel, Qais Yousef, Pierre-Louis Bossart, Mark Brown
At Thu, 22 Jan 2015 16:03:16 -0600,
Pierre-Louis Bossart wrote:
>
> On 1/22/15 3:56 PM, Vinod Koul wrote:
> > Can we actually support compress with current alsa APIs? If yes then we can
> > do rework and keep current tinycompress APIs for Andporid and let core lib
> > be reused, if not then we can go with these new APIs
>
> No. We need to be able to pass decoder/encoder parameters, and we need
> the ability to deal with bytes, without any fixed mapping between bytes
> and time. If we want any convergence we'd need ALSA to deal with bytes
> only and not frames, in addition to the extra configuration steps, which
> would be a complete API change.
I don't think of merging the compress offload into PCM alsa-lib API.
My point is only that the API function forms in tinycompress should be
aligned with the existing alsa-lib API functions, e.g. open should
take the name string, etc. Managing the compress offload into the PCM
API would need redesigns, and I don't think it's worth.
Takashi
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2015-01-23 6:41 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-16 9:52 alsa-lib support for compress offload Qais Yousef
2015-01-16 10:34 ` Takashi Iwai
2015-01-16 11:22 ` Qais Yousef
2015-01-16 16:50 ` Pierre-Louis Bossart
2015-01-16 18:46 ` Mark Brown
2015-01-19 17:23 ` Qais Yousef
2015-01-19 22:07 ` Pierre-Louis Bossart
2015-01-20 7:21 ` Arun Raghavan
2015-01-20 9:53 ` Qais Yousef
2015-01-21 7:10 ` Vinod Koul
2015-01-21 9:22 ` Qais Yousef
2015-01-21 11:59 ` Takashi Iwai
2015-01-21 14:16 ` Qais Yousef
2015-01-22 21:56 ` Vinod Koul
2015-01-22 22:03 ` Pierre-Louis Bossart
2015-01-23 6:41 ` Takashi Iwai
2015-01-21 15:01 ` Pierre-Louis Bossart
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.