Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-25 Thread Anssi Hannula
On 25.03.2011 02:58, Dark Shadow wrote:
 On Thu, Mar 24, 2011 at 10:50 AM, Anssi Hannula anssi.hann...@iki.fi wrote:
 On 24.03.2011 16:18, pl bossart wrote:
 It seems that 384k sample rates aren't supported directly in alsa, I did
 some patching to no avail yet.

 In any case if the channel count can be specified with passthrough the
 following should work.

 paplay --raw --channels=2 --rate=192000 --passthrough File.dts.spdif192khz 
 (
 this works).

 paplay --raw --channels=4 --rate=192000 --passthrough File.dts.spdif384khz 
 (
 this fails).

 To passthrough dolby true-hd it looks like it'll be necessary for more than
 two channels to work.

 There was a thread on dts-hd in alsa-devel at some point. Anssi
 (cc:ed) contributed some patches for HDMI and provided the information
 below on ffmpeg configurations.
 You may want to try at the alsa level before trying with pulseaudio to
 make sure your setup is correct. I tend to believe you have to go for
 8ch @ 192kHz to make this work based on my limited understanding of
 HBR.

 Indeed for HBR you need to always specify 8 channels and use rate to
 control the final rate (i.e. you either use normal 2 channel
 passthrough or HBR 8 channel passthrough).

 For example to passthrough the abovementioned 384 kHz stream you need to
 use 8 channels and rate of 96000. However, I think 384kHz DTS bitstream
 is generally *not* supported by A/V receivers, so you probably want to
 use 768kHz (8 channels, 192kHz).

 (note: I haven't tested whether HBR works with pulseaudio or not)


 The DTS-HD part is not merged yet (patch is in ffmpeg-devel@), but the
 TrueHD and E-AC-3 support is already there in ffmpeg trunk.

 The ffmpeg commandline to use is:
 ffmpeg -i input.file -f spdif output.spdif

 For DTS-HD files, to get full passthrough (i.e. not only core), a
 -dtshd_rate parameter is needed, which sets the output IEC958 rate.
 ffmpeg -i input.file -f spdif -dtshd_rate 192000 output.spdif
 ffmpeg -i input.file -f spdif -dtshd_rate 768000 output.spdif
 192000Hz is enough for streams that have a bitrate below 6.144Mbps, which
 means all DTS-HD High Resolution Audio files and even many of the DTS-HD
 Master Audio (the latter are lossless VBR).

 To play the spdif files back, I use
 aplay -D hdmi:CARD=$CARDNAME,DEV=$DEVICENUM,AES0=0x06 -c $CHANCOUNT -r
 $RATE file.spdif

 - replacing $CARDNAME with the card name
 - replacing $DEVICENUM with 0..3 depending on card and hdmi port (for
 non-zero DEVICENUM you'll need a patch from alsa git:
 http://git.alsa-project.org/?p=alsa-lib.git;a=commitdiff;h=e6d5dcf1f625984605d362338d71162de45a6c60
 )
 - set $CHANCOUNT and $RATE as per below
  - rate 192000 and channels 2 for IEC958 rate 192 kHz (for e.g. 48 kHz
 E-AC-3, and DTS-HD when the IEC958 rate was set to 192000 in ffmpeg)
  - rate 192000 and channels 8 for IEC958 rate 768 kHz (for most TrueHD
 files, and for DTS-HD when the rate was set to 768000)
 - note that having the 0x02 bit (non-pcm) set in AES0 is mandatory when
 $CHANCOUNT is larger than 2, as ALSA uses it to determine whether to use
 HBR or not. The additional 0x04 (non-copyright) I use above is not
 mandatory, but is the alsa default so I kept it.


 --
 Anssi Hannula
 ___
 pulseaudio-discuss mailing list
 pulseaudio-discuss@mail.0pointer.de
 https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss

 
 Would anyone know where I could get a hold of some DTS-HD samples in
 192Khz and 384kHz for testing?

Compile ffmpeg and use it for the samples at
http://samples.mplayerhq.hu/A-codecs/DTS/dts/

-- 
Anssi Hannula
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-25 Thread Anssi Hannula
On 25.03.2011 03:35, Dark Shadow wrote:
 Unless I am missing something all the movies I play say 48kHz on my
 receivers OSD when played through my PS3 so I thought that was the
 best they have, and higher was not used on average Blu-Ray's.
 
 If they have better why is it not being used considering my receiver
 supports it. I know from this dmesg output

The sample rates outputted in dmesg and in /proc by ALSA are incorrect
due to a kernel bug.

48000 88200 176400 192000 384000
in your log means
44100 48000 88200 96000 176400 (+192000)

Basically there is a bitfield of

static unsigned int rates[] =
{ 5512, 8000, 11025, 16000, 22050, 32000, 44100,
 48000, 64000, 88200, 96000, 176400, 192000 };

which gets interpreted as:

static unsigned int rates[] = {
   8000, 11025, 16000, 22050, 32000, 44100, 48000, 88200,
   96000, 176400, 192000, 384000 };

so the wrong values are printed and possible 192000 is not printed at all.

 [  182.696452] HDMI: detected monitor TX-SR608
 [  182.696456] at connection type HDMI
 [  182.696462] HDMI: available speakers: FL/FR LFE FC RL/RR RLC/RRC
 [  182.696472] HDMI: supports coding type LPCM: channels = 2, rates =
 44100 48000 88200 176400 192000 384000, bits = 16 20 24
 [  182.696481] HDMI: supports coding type LPCM: channels = 8, rates =
 44100 48000 88200 176400 192000 384000, bits = 16 20 24
 [  182.696489] HDMI: supports coding type AC-3: channels = 8, rates =
 44100 48000 88200, max bitrate = 64
 [  182.696495] HDMI: supports coding type DTS: channels = 8, rates =
 48000 88200, max bitrate = 1536000
 [  182.696501] HDMI: supports coding type DSD (One Bit Audio):
 channels = 6, rates = 48000
 [  182.696507] HDMI: supports coding type E-AC-3/DD+ (Dolby Digital
 Plus): channels = 8, rates = 48000 88200
 [  182.696514] HDMI: supports coding type DTS-HD: channels = 8, rates
 = 48000 88200 176400 192000 384000
 [  182.696520] HDMI: supports coding type MLP (Dolby TrueHD): channels
 = 8, rates = 88200 192000
 ___
 pulseaudio-discuss mailing list
 pulseaudio-discuss@mail.0pointer.de
 https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


-- 
Anssi Hannula
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-24 Thread Kelly Anderson

Arun,

I've been trying to get higher bit rates to passthrough with no luck.  
Is setting the channel count supported with passthrough (yet)?


It seems that 384k sample rates aren't supported directly in alsa, I did 
some patching to no avail yet.


In any case if the channel count can be specified with passthrough the 
following should work.


paplay --raw --channels=2 --rate=192000 --passthrough 
File.dts.spdif192khz ( this works).


paplay --raw --channels=4 --rate=192000 --passthrough 
File.dts.spdif384khz ( this fails).


To passthrough dolby true-hd it looks like it'll be necessary for more 
than two channels to work.


___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-24 Thread pl bossart
 It seems that 384k sample rates aren't supported directly in alsa, I did
 some patching to no avail yet.

 In any case if the channel count can be specified with passthrough the
 following should work.

 paplay --raw --channels=2 --rate=192000 --passthrough File.dts.spdif192khz (
 this works).

 paplay --raw --channels=4 --rate=192000 --passthrough File.dts.spdif384khz (
 this fails).

 To passthrough dolby true-hd it looks like it'll be necessary for more than
 two channels to work.

There was a thread on dts-hd in alsa-devel at some point. Anssi
(cc:ed) contributed some patches for HDMI and provided the information
below on ffmpeg configurations.
You may want to try at the alsa level before trying with pulseaudio to
make sure your setup is correct. I tend to believe you have to go for
8ch @ 192kHz to make this work based on my limited understanding of
HBR.
-Pierre



The DTS-HD part is not merged yet (patch is in ffmpeg-devel@), but the
TrueHD and E-AC-3 support is already there in ffmpeg trunk.

The ffmpeg commandline to use is:
ffmpeg -i input.file -f spdif output.spdif

For DTS-HD files, to get full passthrough (i.e. not only core), a
-dtshd_rate parameter is needed, which sets the output IEC958 rate.
ffmpeg -i input.file -f spdif -dtshd_rate 192000 output.spdif
ffmpeg -i input.file -f spdif -dtshd_rate 768000 output.spdif
192000Hz is enough for streams that have a bitrate below 6.144Mbps, which
means all DTS-HD High Resolution Audio files and even many of the DTS-HD
Master Audio (the latter are lossless VBR).

To play the spdif files back, I use
aplay -D hdmi:CARD=$CARDNAME,DEV=$DEVICENUM,AES0=0x06 -c $CHANCOUNT -r
$RATE file.spdif

- replacing $CARDNAME with the card name
- replacing $DEVICENUM with 0..3 depending on card and hdmi port (for
non-zero DEVICENUM you'll need a patch from alsa git:
http://git.alsa-project.org/?p=alsa-lib.git;a=commitdiff;h=e6d5dcf1f625984605d362338d71162de45a6c60
)
- set $CHANCOUNT and $RATE as per below
 - rate 192000 and channels 2 for IEC958 rate 192 kHz (for e.g. 48 kHz
E-AC-3, and DTS-HD when the IEC958 rate was set to 192000 in ffmpeg)
 - rate 192000 and channels 8 for IEC958 rate 768 kHz (for most TrueHD
files, and for DTS-HD when the rate was set to 768000)
- note that having the 0x02 bit (non-pcm) set in AES0 is mandatory when
$CHANCOUNT is larger than 2, as ALSA uses it to determine whether to use
HBR or not. The additional 0x04 (non-copyright) I use above is not
mandatory, but is the alsa default so I kept it.
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-24 Thread Dark Shadow
On Thu, Mar 24, 2011 at 10:50 AM, Anssi Hannula anssi.hann...@iki.fi wrote:
 On 24.03.2011 16:18, pl bossart wrote:
 It seems that 384k sample rates aren't supported directly in alsa, I did
 some patching to no avail yet.

 In any case if the channel count can be specified with passthrough the
 following should work.

 paplay --raw --channels=2 --rate=192000 --passthrough File.dts.spdif192khz (
 this works).

 paplay --raw --channels=4 --rate=192000 --passthrough File.dts.spdif384khz (
 this fails).

 To passthrough dolby true-hd it looks like it'll be necessary for more than
 two channels to work.

 There was a thread on dts-hd in alsa-devel at some point. Anssi
 (cc:ed) contributed some patches for HDMI and provided the information
 below on ffmpeg configurations.
 You may want to try at the alsa level before trying with pulseaudio to
 make sure your setup is correct. I tend to believe you have to go for
 8ch @ 192kHz to make this work based on my limited understanding of
 HBR.

 Indeed for HBR you need to always specify 8 channels and use rate to
 control the final rate (i.e. you either use normal 2 channel
 passthrough or HBR 8 channel passthrough).

 For example to passthrough the abovementioned 384 kHz stream you need to
 use 8 channels and rate of 96000. However, I think 384kHz DTS bitstream
 is generally *not* supported by A/V receivers, so you probably want to
 use 768kHz (8 channels, 192kHz).

 (note: I haven't tested whether HBR works with pulseaudio or not)


 The DTS-HD part is not merged yet (patch is in ffmpeg-devel@), but the
 TrueHD and E-AC-3 support is already there in ffmpeg trunk.

 The ffmpeg commandline to use is:
 ffmpeg -i input.file -f spdif output.spdif

 For DTS-HD files, to get full passthrough (i.e. not only core), a
 -dtshd_rate parameter is needed, which sets the output IEC958 rate.
 ffmpeg -i input.file -f spdif -dtshd_rate 192000 output.spdif
 ffmpeg -i input.file -f spdif -dtshd_rate 768000 output.spdif
 192000Hz is enough for streams that have a bitrate below 6.144Mbps, which
 means all DTS-HD High Resolution Audio files and even many of the DTS-HD
 Master Audio (the latter are lossless VBR).

 To play the spdif files back, I use
 aplay -D hdmi:CARD=$CARDNAME,DEV=$DEVICENUM,AES0=0x06 -c $CHANCOUNT -r
 $RATE file.spdif

 - replacing $CARDNAME with the card name
 - replacing $DEVICENUM with 0..3 depending on card and hdmi port (for
 non-zero DEVICENUM you'll need a patch from alsa git:
 http://git.alsa-project.org/?p=alsa-lib.git;a=commitdiff;h=e6d5dcf1f625984605d362338d71162de45a6c60
 )
 - set $CHANCOUNT and $RATE as per below
  - rate 192000 and channels 2 for IEC958 rate 192 kHz (for e.g. 48 kHz
 E-AC-3, and DTS-HD when the IEC958 rate was set to 192000 in ffmpeg)
  - rate 192000 and channels 8 for IEC958 rate 768 kHz (for most TrueHD
 files, and for DTS-HD when the rate was set to 768000)
 - note that having the 0x02 bit (non-pcm) set in AES0 is mandatory when
 $CHANCOUNT is larger than 2, as ALSA uses it to determine whether to use
 HBR or not. The additional 0x04 (non-copyright) I use above is not
 mandatory, but is the alsa default so I kept it.


 --
 Anssi Hannula
 ___
 pulseaudio-discuss mailing list
 pulseaudio-discuss@mail.0pointer.de
 https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Would anyone know where I could get a hold of some DTS-HD samples in
192Khz and 384kHz for testing?
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-24 Thread Kelly Anderson

On 03/24/11 18:58, Dark Shadow wrote:

On Thu, Mar 24, 2011 at 10:50 AM, Anssi Hannulaanssi.hann...@iki.fi  wrote:

On 24.03.2011 16:18, pl bossart wrote:

It seems that 384k sample rates aren't supported directly in alsa, I did
some patching to no avail yet.

In any case if the channel count can be specified with passthrough the
following should work.

paplay --raw --channels=2 --rate=192000 --passthrough File.dts.spdif192khz (
this works).

paplay --raw --channels=4 --rate=192000 --passthrough File.dts.spdif384khz (
this fails).

To passthrough dolby true-hd it looks like it'll be necessary for more than
two channels to work.

There was a thread on dts-hd in alsa-devel at some point. Anssi
(cc:ed) contributed some patches for HDMI and provided the information
below on ffmpeg configurations.
You may want to try at the alsa level before trying with pulseaudio to
make sure your setup is correct. I tend to believe you have to go for
8ch @ 192kHz to make this work based on my limited understanding of
HBR.

Indeed for HBR you need to always specify 8 channels and use rate to
control the final rate (i.e. you either use normal 2 channel
passthrough or HBR 8 channel passthrough).

For example to passthrough the abovementioned 384 kHz stream you need to
use 8 channels and rate of 96000. However, I think 384kHz DTS bitstream
is generally *not* supported by A/V receivers, so you probably want to
use 768kHz (8 channels, 192kHz).

(note: I haven't tested whether HBR works with pulseaudio or not)



The DTS-HD part is not merged yet (patch is in ffmpeg-devel@), but the
TrueHD and E-AC-3 support is already there in ffmpeg trunk.

The ffmpeg commandline to use is:
ffmpeg -i input.file -f spdif output.spdif

For DTS-HD files, to get full passthrough (i.e. not only core), a
-dtshd_rate parameter is needed, which sets the output IEC958 rate.
ffmpeg -i input.file -f spdif -dtshd_rate 192000 output.spdif
ffmpeg -i input.file -f spdif -dtshd_rate 768000 output.spdif
192000Hz is enough for streams that have a bitrate below 6.144Mbps, which
means all DTS-HD High Resolution Audio files and even many of the DTS-HD
Master Audio (the latter are lossless VBR).

To play the spdif files back, I use
aplay -D hdmi:CARD=$CARDNAME,DEV=$DEVICENUM,AES0=0x06 -c $CHANCOUNT -r
$RATE file.spdif

- replacing $CARDNAME with the card name
- replacing $DEVICENUM with 0..3 depending on card and hdmi port (for
non-zero DEVICENUM you'll need a patch from alsa git:
http://git.alsa-project.org/?p=alsa-lib.git;a=commitdiff;h=e6d5dcf1f625984605d362338d71162de45a6c60
)
- set $CHANCOUNT and $RATE as per below
  - rate 192000 and channels 2 for IEC958 rate 192 kHz (for e.g. 48 kHz
E-AC-3, and DTS-HD when the IEC958 rate was set to 192000 in ffmpeg)
  - rate 192000 and channels 8 for IEC958 rate 768 kHz (for most TrueHD
files, and for DTS-HD when the rate was set to 768000)
- note that having the 0x02 bit (non-pcm) set in AES0 is mandatory when
$CHANCOUNT is larger than 2, as ALSA uses it to determine whether to use
HBR or not. The additional 0x04 (non-copyright) I use above is not
mandatory, but is the alsa default so I kept it.


--
Anssi Hannula
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Would anyone know where I could get a hold of some DTS-HD samples in
192Khz and 384kHz for testing?


You can extract the dts-hd tracks from your mkv's with mkvextract.  You 
can make them with spdifer (part of AudioFilter).




___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-24 Thread Dark Shadow
On Thu, Mar 24, 2011 at 7:19 PM, Kelly Anderson
ke...@silka.with-linux.com wrote:
 On 03/24/11 18:58, Dark Shadow wrote:

 On Thu, Mar 24, 2011 at 10:50 AM, Anssi Hannulaanssi.hann...@iki.fi
  wrote:

 On 24.03.2011 16:18, pl bossart wrote:

 It seems that 384k sample rates aren't supported directly in alsa, I
 did
 some patching to no avail yet.

 In any case if the channel count can be specified with passthrough the
 following should work.

 paplay --raw --channels=2 --rate=192000 --passthrough
 File.dts.spdif192khz (
 this works).

 paplay --raw --channels=4 --rate=192000 --passthrough
 File.dts.spdif384khz (
 this fails).

 To passthrough dolby true-hd it looks like it'll be necessary for more
 than
 two channels to work.

 There was a thread on dts-hd in alsa-devel at some point. Anssi
 (cc:ed) contributed some patches for HDMI and provided the information
 below on ffmpeg configurations.
 You may want to try at the alsa level before trying with pulseaudio to
 make sure your setup is correct. I tend to believe you have to go for
 8ch @ 192kHz to make this work based on my limited understanding of
 HBR.

 Indeed for HBR you need to always specify 8 channels and use rate to
 control the final rate (i.e. you either use normal 2 channel
 passthrough or HBR 8 channel passthrough).

 For example to passthrough the abovementioned 384 kHz stream you need to
 use 8 channels and rate of 96000. However, I think 384kHz DTS bitstream
 is generally *not* supported by A/V receivers, so you probably want to
 use 768kHz (8 channels, 192kHz).

 (note: I haven't tested whether HBR works with pulseaudio or not)


 The DTS-HD part is not merged yet (patch is in ffmpeg-devel@), but the
 TrueHD and E-AC-3 support is already there in ffmpeg trunk.

 The ffmpeg commandline to use is:
 ffmpeg -i input.file -f spdif output.spdif

 For DTS-HD files, to get full passthrough (i.e. not only core), a
 -dtshd_rate parameter is needed, which sets the output IEC958 rate.
 ffmpeg -i input.file -f spdif -dtshd_rate 192000 output.spdif
 ffmpeg -i input.file -f spdif -dtshd_rate 768000 output.spdif
 192000Hz is enough for streams that have a bitrate below 6.144Mbps,
 which
 means all DTS-HD High Resolution Audio files and even many of the DTS-HD
 Master Audio (the latter are lossless VBR).

 To play the spdif files back, I use
 aplay -D hdmi:CARD=$CARDNAME,DEV=$DEVICENUM,AES0=0x06 -c $CHANCOUNT -r
 $RATE file.spdif

 - replacing $CARDNAME with the card name
 - replacing $DEVICENUM with 0..3 depending on card and hdmi port (for
 non-zero DEVICENUM you'll need a patch from alsa git:

 http://git.alsa-project.org/?p=alsa-lib.git;a=commitdiff;h=e6d5dcf1f625984605d362338d71162de45a6c60
 )
 - set $CHANCOUNT and $RATE as per below
  - rate 192000 and channels 2 for IEC958 rate 192 kHz (for e.g. 48 kHz
 E-AC-3, and DTS-HD when the IEC958 rate was set to 192000 in ffmpeg)
  - rate 192000 and channels 8 for IEC958 rate 768 kHz (for most TrueHD
 files, and for DTS-HD when the rate was set to 768000)
 - note that having the 0x02 bit (non-pcm) set in AES0 is mandatory when
 $CHANCOUNT is larger than 2, as ALSA uses it to determine whether to use
 HBR or not. The additional 0x04 (non-copyright) I use above is not
 mandatory, but is the alsa default so I kept it.

 --
 Anssi Hannula
 ___
 pulseaudio-discuss mailing list
 pulseaudio-discuss@mail.0pointer.de
 https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss

 Would anyone know where I could get a hold of some DTS-HD samples in
 192Khz and 384kHz for testing?

 You can extract the dts-hd tracks from your mkv's with mkvextract.  You can
 make them with spdifer (part of AudioFilter).


 ___
 pulseaudio-discuss mailing list
 pulseaudio-discuss@mail.0pointer.de
 https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss

 ___
 pulseaudio-discuss mailing list
 pulseaudio-discuss@mail.0pointer.de
 https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Unless I am missing something all the movies I play say 48kHz on my
receivers OSD when played through my PS3 so I thought that was the
best they have, and higher was not used on average Blu-Ray's.

If they have better why is it not being used considering my receiver
supports it. I know from this dmesg output

[  182.696452] HDMI: detected monitor TX-SR608
[  182.696456] at connection type HDMI
[  182.696462] HDMI: available speakers: FL/FR LFE FC RL/RR RLC/RRC
[  182.696472] HDMI: supports coding type LPCM: channels = 2, rates =
44100 48000 88200 176400 192000 384000, bits = 16 20 24
[  182.696481] HDMI: supports coding type LPCM: channels = 8, rates =
44100 48000 88200 176400 192000 384000, bits = 16 20 24
[  182.696489] HDMI: supports coding type AC-3: channels = 8, rates =
44100 48000 88200, max bitrate = 64
[  182.696495] HDMI: supports coding type DTS: channels = 8, rates =
48000 88200, max bitrate 

Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-24 Thread Kelly Anderson

On 03/24/11 19:35, Dark Shadow wrote:

On Thu, Mar 24, 2011 at 7:19 PM, Kelly Anderson
ke...@silka.with-linux.com  wrote:

On 03/24/11 18:58, Dark Shadow wrote:

On Thu, Mar 24, 2011 at 10:50 AM, Anssi Hannulaanssi.hann...@iki.fi
  wrote:

On 24.03.2011 16:18, pl bossart wrote:

It seems that 384k sample rates aren't supported directly in alsa, I
did
some patching to no avail yet.

In any case if the channel count can be specified with passthrough the
following should work.

paplay --raw --channels=2 --rate=192000 --passthrough
File.dts.spdif192khz (
this works).

paplay --raw --channels=4 --rate=192000 --passthrough
File.dts.spdif384khz (
this fails).

To passthrough dolby true-hd it looks like it'll be necessary for more
than
two channels to work.

There was a thread on dts-hd in alsa-devel at some point. Anssi
(cc:ed) contributed some patches for HDMI and provided the information
below on ffmpeg configurations.
You may want to try at the alsa level before trying with pulseaudio to
make sure your setup is correct. I tend to believe you have to go for
8ch @ 192kHz to make this work based on my limited understanding of
HBR.

Indeed for HBR you need to always specify 8 channels and use rate to
control the final rate (i.e. you either use normal 2 channel
passthrough or HBR 8 channel passthrough).

For example to passthrough the abovementioned 384 kHz stream you need to
use 8 channels and rate of 96000. However, I think 384kHz DTS bitstream
is generally *not* supported by A/V receivers, so you probably want to
use 768kHz (8 channels, 192kHz).

(note: I haven't tested whether HBR works with pulseaudio or not)



The DTS-HD part is not merged yet (patch is in ffmpeg-devel@), but the
TrueHD and E-AC-3 support is already there in ffmpeg trunk.

The ffmpeg commandline to use is:
ffmpeg -i input.file -f spdif output.spdif

For DTS-HD files, to get full passthrough (i.e. not only core), a
-dtshd_rate parameter is needed, which sets the output IEC958 rate.
ffmpeg -i input.file -f spdif -dtshd_rate 192000 output.spdif
ffmpeg -i input.file -f spdif -dtshd_rate 768000 output.spdif
192000Hz is enough for streams that have a bitrate below 6.144Mbps,
which
means all DTS-HD High Resolution Audio files and even many of the DTS-HD
Master Audio (the latter are lossless VBR).

To play the spdif files back, I use
aplay -D hdmi:CARD=$CARDNAME,DEV=$DEVICENUM,AES0=0x06 -c $CHANCOUNT -r
$RATE file.spdif

- replacing $CARDNAME with the card name
- replacing $DEVICENUM with 0..3 depending on card and hdmi port (for
non-zero DEVICENUM you'll need a patch from alsa git:

http://git.alsa-project.org/?p=alsa-lib.git;a=commitdiff;h=e6d5dcf1f625984605d362338d71162de45a6c60
)
- set $CHANCOUNT and $RATE as per below
  - rate 192000 and channels 2 for IEC958 rate 192 kHz (for e.g. 48 kHz
E-AC-3, and DTS-HD when the IEC958 rate was set to 192000 in ffmpeg)
  - rate 192000 and channels 8 for IEC958 rate 768 kHz (for most TrueHD
files, and for DTS-HD when the rate was set to 768000)
- note that having the 0x02 bit (non-pcm) set in AES0 is mandatory when
$CHANCOUNT is larger than 2, as ALSA uses it to determine whether to use
HBR or not. The additional 0x04 (non-copyright) I use above is not
mandatory, but is the alsa default so I kept it.

--
Anssi Hannula
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Would anyone know where I could get a hold of some DTS-HD samples in
192Khz and 384kHz for testing?

You can extract the dts-hd tracks from your mkv's with mkvextract.  You can
make them with spdifer (part of AudioFilter).



___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Unless I am missing something all the movies I play say 48kHz on my
receivers OSD when played through my PS3 so I thought that was the
best they have, and higher was not used on average Blu-Ray's.


The original samples are taken at 48khz and then compressed into dts or 
dts-hd.  AudioFilter is muxing the dts/dts-hd packets into zero padded 
packets that contain the dts/dts-hd stream.  A typical dts-hd stream is 
going to have packets around the 8k size.  If it is muxed at 192khz 
packets that exceed it's size limit will be clipped.  In my experience I 
was seeing maybe 200 bytes dropped on some packets.  Now if you mux it 
at 384khz you effectively double the size of the packets that can be 
sent to the receiver and you don't have to resort to clipping.


In a nutshell the 192khz and 384khz rates are spdif muxed rates not the 
original sample rate.


___
pulseaudio-discuss mailing list

Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-20 Thread Arun Raghavan
On Sat, 2011-03-19 at 18:04 -0600, Kelly Anderson wrote:
 On 03/16/11 10:48, Arun Raghavan wrote:
  On Wed, 2011-03-16 at 11:19 +0530, Arun Raghavan wrote:
  [...]
  It will work, but not with paplay, only with the extended API when you
  create a non-PCM stream. I will rationalise the check for passthrough
  sink inputs in a bit, but for now, could you change the checks (there
  I've pushed a more comprehensive fix, so you shouldn't need to change
  that line and using paplay should work for you.
 
  -- Arun
 
 Arun,
 
 Hey, I just got around to testing without the following patch.  It 
 doesn't work.  I also didn't see any recent checkins in the passthrough 
 tree that would seem to affect this.  Is it possible the fix didn't get 
 pushed?

Yep. :| Pushed now.

Cheers,
Arun

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-19 Thread Kelly Anderson

On 03/16/11 10:48, Arun Raghavan wrote:

On Wed, 2011-03-16 at 11:19 +0530, Arun Raghavan wrote:
[...]

It will work, but not with paplay, only with the extended API when you
create a non-PCM stream. I will rationalise the check for passthrough
sink inputs in a bit, but for now, could you change the checks (there

I've pushed a more comprehensive fix, so you shouldn't need to change
that line and using paplay should work for you.

-- Arun


Arun,

Hey, I just got around to testing without the following patch.  It 
doesn't work.  I also didn't see any recent checkins in the passthrough 
tree that would seem to affect this.  Is it possible the fix didn't get 
pushed?


--- ./src/modules/alsa/alsa-sink.c.orig 2011-03-16 01:17:02.061953124 -0600
+++ ./src/modules/alsa/alsa-sink.c  2011-03-16 01:19:07.492460278 -0600
@@ -1058,7 +1058,7 @@ static int sink_process_msg(pa_msgobject
 pa_sink_input *i = PA_SINK_INPUT(data);
 int r = 0;

-if (PA_LIKELY(pa_format_info_is_pcm(i-format)))
+if (PA_LIKELY(!(i-flags  PA_SINK_INPUT_PASSTHROUGH)) )
 break;

 u-old_rate = u-sink-sample_spec.rate;
@@ -1084,7 +1084,7 @@ static int sink_process_msg(pa_msgobject
 pa_sink_input *i = PA_SINK_INPUT(data);
 int r = 0;

-if (PA_LIKELY(pa_format_info_is_pcm(i-format)))
+if (PA_LIKELY(!(i-flags  PA_SINK_INPUT_PASSTHROUGH)) )
 break;

 /* Passthrough format, see if we need to reset sink sample 
rate */



___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-16 Thread Arun Raghavan
On Tue, 2011-03-15 at 17:36 -0500, pl bossart wrote:
  I pushed your change along with a fix for the assert you saw to my tree
  as well.
 
 I tested the latest batch of patches with AC3/SPDIF this time. Works
 well in general, however I found some interesting points:
 - in Rhythmbox, the passthrough mode is only enabled if the first file
 of playlist is compressed. If you start with PCM/WAV, it always uses
 the PCM mode.

Are you using the crossfading backend? If yes, that won't work since
they create their own pipeline with a volume element in between to do
the crossfades.

With the non-crossfading backend, I see it setting up an MP3 stream when
it can and PCM when it can't.

 - in Totem, the passthrough mode works when the visual effects are
 disabled. I see a nice DD on my receiver...However the playback stops
 if you play with the volume slider. I get a pop-up error window saying
 'an error occurred: pa_stream_set_sink_input_volume(): invalid
 argument'

Ah, I hadn't tried this out. We should be handling this more gracefully
right now - will put this on my TODO list.

 On a related note, maybe we want to change the approach to volume
 control. Depending on the sink, there might be ways of using
 side/in-band channels to send volume control information to the
 decoder. It's going to be protocol-specific. So maybe we need to
 provide the client with an information coming from the sink on whether
 volume control is actually supported or not.

Tanu's independently working on flags and notifications for signalling
when a sink-input (and sink, I believe) volume control is
readable/writeable. We're aiming to have this in 1.0 as well, so we
should end up piggybacking on his work for passthrough streams/sinks as
well.

-- Arun

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-16 Thread Arun Raghavan
On Wed, 2011-03-16 at 11:19 +0530, Arun Raghavan wrote:
[...]
 It will work, but not with paplay, only with the extended API when you
 create a non-PCM stream. I will rationalise the check for passthrough
 sink inputs in a bit, but for now, could you change the checks (there

I've pushed a more comprehensive fix, so you shouldn't need to change
that line and using paplay should work for you.

-- Arun

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-16 Thread Tanu Kaskinen
On Tue, 2011-03-15 at 17:36 -0500, pl bossart wrote:
  I pushed your change along with a fix for the assert you saw to my tree
  as well.
 
 I tested the latest batch of patches with AC3/SPDIF this time. Works
 well in general, however I found some interesting points:
 - in Rhythmbox, the passthrough mode is only enabled if the first file
 of playlist is compressed. If you start with PCM/WAV, it always uses
 the PCM mode.
 - in Totem, the passthrough mode works when the visual effects are
 disabled. I see a nice DD on my receiver...However the playback stops
 if you play with the volume slider. I get a pop-up error window saying
 'an error occurred: pa_stream_set_sink_input_volume(): invalid
 argument'
 
 On a related note, maybe we want to change the approach to volume
 control. Depending on the sink, there might be ways of using
 side/in-band channels to send volume control information to the
 decoder. It's going to be protocol-specific. So maybe we need to
 provide the client with an information coming from the sink on whether
 volume control is actually supported or not.

Yes, that information will be provided in the sink and source
introspection data.

Somewhat related: I've been thinking that maybe the volume channels
should be separate from the stream channels. For example, maybe it's
possible that some future sink implementation can only provide a simple
single-channel volume interface, while the actual audio stream has
multiple channels. Are you aware of any real-world cases where this
separation would be beneficial?

-- 
Tanu

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-15 Thread Arun Raghavan
On Tue, 2011-03-15 at 01:36 +0530, Arun Raghavan wrote:
 On Mon, 2011-03-14 at 14:57 -0500, pl bossart wrote:
   Other things I noticed: the volume is much higher in passthrough mode,
   maybe we need to find a way to set the volume on the headset to match
   the volume used for PCM. Also I heard some high-frequency modulations,
   typically coding noise, maybe there's still something fishy during the
   mp3 decode part.
  
   I get this sort of thing on, as far as I can tell, one channel as well.
   I figured the decoder on the CSR chip wasn't that great.
  
  Looks to me that the quality is slightly worse than with the initial
  patches, but it's of course a very subjective assessment since I need
  to reinstall pulse/gstreamer to check the differences instead of doing
  an A/B test. Can you check and make sure the payloader doesn't
  skip/change any bytes? If you dump what is actually sent to the
  headset and compare to the initial file, you shouldn't have any
  deltas.
 
 Yep, I did that before I pushed out the code (verified a few frames by
 hand, but I'll do something more extensive in the morning). I'm still
 seeing the setconf error, but now that it's at least clear it's
 connecting to the wrong seid, I'm hoping to get this fixed.

Turns out this was very likely a bluez problem. I've sent in a patch [1]
that at least gets things working for me. I also see the high-pitched
pops and clicks (these very definitely weren't there with your
payloader) - should get that pinned down before long.

I pushed your change along with a fix for the assert you saw to my tree
as well.

Cheers,
Arun

[1] http://thread.gmane.org/gmane.linux.bluez.kernel/11715

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-15 Thread Luiz Augusto von Dentz
Hi,

On Tue, Mar 15, 2011 at 11:43 AM, Arun Raghavan
arun.ragha...@collabora.co.uk wrote:
 On Tue, 2011-03-15 at 01:36 +0530, Arun Raghavan wrote:
 On Mon, 2011-03-14 at 14:57 -0500, pl bossart wrote:
   Other things I noticed: the volume is much higher in passthrough mode,
   maybe we need to find a way to set the volume on the headset to match
   the volume used for PCM. Also I heard some high-frequency modulations,
   typically coding noise, maybe there's still something fishy during the
   mp3 decode part.
  
   I get this sort of thing on, as far as I can tell, one channel as well.
   I figured the decoder on the CSR chip wasn't that great.
 
  Looks to me that the quality is slightly worse than with the initial
  patches, but it's of course a very subjective assessment since I need
  to reinstall pulse/gstreamer to check the differences instead of doing
  an A/B test. Can you check and make sure the payloader doesn't
  skip/change any bytes? If you dump what is actually sent to the
  headset and compare to the initial file, you shouldn't have any
  deltas.

 Yep, I did that before I pushed out the code (verified a few frames by
 hand, but I'll do something more extensive in the morning). I'm still
 seeing the setconf error, but now that it's at least clear it's
 connecting to the wrong seid, I'm hoping to get this fixed.

 Turns out this was very likely a bluez problem. I've sent in a patch [1]
 that at least gets things working for me. I also see the high-pitched
 pops and clicks (these very definitely weren't there with your
 payloader) - should get that pinned down before long.

 I pushed your change along with a fix for the assert you saw to my tree
 as well.

I would suggest to use the new API to implement audio passthrough for
bluetooth devices, it is very likely the we will be disabling unix
socket IPC in BlueZ. What I would do is, if audio passthrough is
supported then PA register a mp3 endpoint and try to configure both
sbc and mp3 simultaneously (only one active at time) when possible so
we can quickly switch between codecs.

 Cheers,
 Arun

 [1] http://thread.gmane.org/gmane.linux.bluez.kernel/11715

 ___
 pulseaudio-discuss mailing list
 pulseaudio-discuss@mail.0pointer.de
 https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss




-- 
Luiz Augusto von Dentz
Computer Engineer
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-15 Thread pl bossart
 I would suggest to use the new API to implement audio passthrough for
 bluetooth devices, it is very likely the we will be disabling unix
 socket IPC in BlueZ. What I would do is, if audio passthrough is
 supported then PA register a mp3 endpoint and try to configure both
 sbc and mp3 simultaneously (only one active at time) when possible so
 we can quickly switch between codecs.

Luiz, what is the time frame for removal of this socket IPC? Will it
still be supported in Meego 1.2, 1.3, etc.? I don't disagree this is
the right thing to do, I am just wondering if we would run into some
integration issues that would actually delay the availability of MP3
passthrough by moving too quickly. Or maybe we can have the two
approaches supported and remove this initial version at a later time?
Thanks,
-Pierre
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-15 Thread Luiz Augusto von Dentz
Hi,

On Tue, Mar 15, 2011 at 5:40 PM, pl bossart bossart.nos...@gmail.com wrote:
 I would suggest to use the new API to implement audio passthrough for
 bluetooth devices, it is very likely the we will be disabling unix
 socket IPC in BlueZ. What I would do is, if audio passthrough is
 supported then PA register a mp3 endpoint and try to configure both
 sbc and mp3 simultaneously (only one active at time) when possible so
 we can quickly switch between codecs.

 Luiz, what is the time frame for removal of this socket IPC? Will it
 still be supported in Meego 1.2, 1.3, etc.? I don't disagree this is
 the right thing to do, I am just wondering if we would run into some
 integration issues that would actually delay the availability of MP3
 passthrough by moving too quickly. Or maybe we can have the two
 approaches supported and remove this initial version at a later time?

Currently the 2 API work side by side, in fact we should already be
able to use on MeeGo 1.2, for MeeGo 1.3 we should probably be moving
for BlueZ 5.x which afaik will remove the unix socket IPC completely
(Marcel can tell you the exact plan), so IMO we should try to
prioritize the Media API solution which btw is what currently
use/qualify in harmattan.

-- 
Luiz Augusto von Dentz
Computer Engineer
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-15 Thread pl bossart
 I pushed your change along with a fix for the assert you saw to my tree
 as well.

I tested the latest batch of patches with AC3/SPDIF this time. Works
well in general, however I found some interesting points:
- in Rhythmbox, the passthrough mode is only enabled if the first file
of playlist is compressed. If you start with PCM/WAV, it always uses
the PCM mode.
- in Totem, the passthrough mode works when the visual effects are
disabled. I see a nice DD on my receiver...However the playback stops
if you play with the volume slider. I get a pop-up error window saying
'an error occurred: pa_stream_set_sink_input_volume(): invalid
argument'

On a related note, maybe we want to change the approach to volume
control. Depending on the sink, there might be ways of using
side/in-band channels to send volume control information to the
decoder. It's going to be protocol-specific. So maybe we need to
provide the client with an information coming from the sink on whether
volume control is actually supported or not.
-Piere
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-15 Thread Kelly Anderson

On 03/09/11 03:10, Arun Raghavan wrote:

Hello all,
Based on the RFC I posted earlier, I've implemented basic passthrough
support in some usable shape. It's up on the passthrough branch of each
of:

PulseAudio:
http://git.collabora.co.uk/?p=user/arun/pulseaudio.git;a=shortlog;h=refs/heads/passthrough
gst-plugins-base:
http://git.collabora.co.uk/?p=user/arun/gst-plugins-base.git;a=shortlog;h=refs/heads/passthrough
gst-plugins-good:
http://git.collabora.co.uk/?p=user/arun/gst-plugins-good.git;a=shortlog;h=refs/heads/passthrough



Hello,

I'm wanting to clone the passthrough head but I haven't been able to 
figure out which git option I need.  So far All I've been able to get is 
master.


git ls-remote git://git.collabora.co.uk/git/user/arun/pulseaudio.git

dda564f50b55340ff4bfbaa8d6d6fc6427f764f4HEAD
dda564f50b55340ff4bfbaa8d6d6fc6427f764f4refs/heads/master
b42400816031c17cdf6a63f446510e13d0ab9828
refs/heads/module-echo-cancel

aa78853d728172f7fa564b2782f6e84661bfcd15refs/heads/no-ramping
4cd90d9e32ca9a23e3c0f7615974ea0c55ff3e49refs/heads/orc
a5b33c7122ee80dc6906fd51f7aa39322322f24brefs/heads/passthrough
a4e9e9b631841eac5646b925c198d236c92d8aabrefs/heads/passthrough-bt
3a6dc95735e79f791788cda73a0fc36e46cb43earefs/heads/sq-aec

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-15 Thread Arun Raghavan
On Tue, 2011-03-15 at 18:50 -0600, Kelly Anderson wrote:
 On 03/09/11 03:10, Arun Raghavan wrote:
  Hello all,
  Based on the RFC I posted earlier, I've implemented basic passthrough
  support in some usable shape. It's up on the passthrough branch of each
  of:
 
  PulseAudio:
  http://git.collabora.co.uk/?p=user/arun/pulseaudio.git;a=shortlog;h=refs/heads/passthrough
  gst-plugins-base:
  http://git.collabora.co.uk/?p=user/arun/gst-plugins-base.git;a=shortlog;h=refs/heads/passthrough
  gst-plugins-good:
  http://git.collabora.co.uk/?p=user/arun/gst-plugins-good.git;a=shortlog;h=refs/heads/passthrough
 
 
 Hello,
 
 I'm wanting to clone the passthrough head but I haven't been able to 
 figure out which git option I need.  So far All I've been able to get is 
 master.
 
 git ls-remote git://git.collabora.co.uk/git/user/arun/pulseaudio.git

After the clone, you need to do a:

 git checkout -b passthrough origin/passthrough

This will create ans switch to a branch called passthrough which will
track the remote branch passthrough from the tree you cloned
(origin).

You can switch to other branches after this with:

 git checkout branch

Cheers,
Arun

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-15 Thread Kelly Anderson

On 03/15/11 22:04, Arun Raghavan wrote:

On Tue, 2011-03-15 at 18:50 -0600, Kelly Anderson wrote:

On 03/09/11 03:10, Arun Raghavan wrote:

Hello all,
Based on the RFC I posted earlier, I've implemented basic passthrough
support in some usable shape. It's up on the passthrough branch of each
of:

PulseAudio:
http://git.collabora.co.uk/?p=user/arun/pulseaudio.git;a=shortlog;h=refs/heads/passthrough
gst-plugins-base:
http://git.collabora.co.uk/?p=user/arun/gst-plugins-base.git;a=shortlog;h=refs/heads/passthrough
gst-plugins-good:
http://git.collabora.co.uk/?p=user/arun/gst-plugins-good.git;a=shortlog;h=refs/heads/passthrough





Hey Arun,

I've built and installed the passthrough branch.

Isn't changing sample rates supported yet?  So far I can only 
passthrough sample rates that match the default-sample-rate in 
daemon.conf.  Changeable rates is critical to being able to support for 
example dts-hd at 192khz, when standard dts will be 48khz.


I'm using paplay for basic functionality checks.

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-15 Thread Kelly Anderson

On 03/15/11 23:13, Kelly Anderson wrote:

On 03/15/11 22:04, Arun Raghavan wrote:

On Tue, 2011-03-15 at 18:50 -0600, Kelly Anderson wrote:

On 03/09/11 03:10, Arun Raghavan wrote:

Hello all,
Based on the RFC I posted earlier, I've implemented basic passthrough
support in some usable shape. It's up on the passthrough branch of 
each

of:

PulseAudio:
http://git.collabora.co.uk/?p=user/arun/pulseaudio.git;a=shortlog;h=refs/heads/passthrough 


gst-plugins-base:
http://git.collabora.co.uk/?p=user/arun/gst-plugins-base.git;a=shortlog;h=refs/heads/passthrough 


gst-plugins-good:
http://git.collabora.co.uk/?p=user/arun/gst-plugins-good.git;a=shortlog;h=refs/heads/passthrough 







Hey Arun,

I've built and installed the passthrough branch.

Isn't changing sample rates supported yet?  So far I can only 
passthrough sample rates that match the default-sample-rate in 
daemon.conf.  Changeable rates is critical to being able to support 
for example dts-hd at 192khz, when standard dts will be 48khz.


I'm using paplay for basic functionality checks.


I forgot to mention that I patched alsa-sink.c with extended rates as per:

--- ./src/modules/alsa/alsa-sink.c.orig2011-03-15 22:15:20.701558916 
-0600

+++ ./src/modules/alsa/alsa-sink.c2011-03-15 22:37:57.437394161 -0600
@@ -1436,6 +1436,7 @@ static pa_idxset* sink_get_formats(pa_si
 {
 pa_idxset *ret = pa_idxset_new(NULL, NULL);
 pa_format_info *f;
+const char *dev_nam = ((struct userdata*)s-userdata)-device_name;

 pa_assert(s);

@@ -1444,12 +1445,12 @@ static pa_idxset* sink_get_formats(pa_si
 pa_idxset_put(ret, f, NULL);

 /* FIXME: is there no better way to check for this? */
-if (strncmp(iec958, ((struct userdata*)s-userdata)-device_name, 
6) == 0) {
+if ( ! strncmp(iec958, dev_nam, 6) || ! strncmp(hdmi, dev_nam, 
4) ) {
 /* FIXME: Eventually, we want the list of supported formats to 
be set
  * as properties by the GUI based on what the user says is 
supported by

  * the receiver */
 /* FIXME: How do we figure out supported rates? :( */
-unsigned int i, rates[] = { 32000, 44100, 48000 };
+unsigned int i, rates[] = { 32000, 44100, 48000, 96000, 192000, 
384000 };


 /* FIXME: Make only one format_info once we've resolved how to do
  * lists/ranges in proplists */



___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-15 Thread Arun Raghavan
On Tue, 2011-03-15 at 23:13 -0600, Kelly Anderson wrote:
 On 03/15/11 22:04, Arun Raghavan wrote:
  On Tue, 2011-03-15 at 18:50 -0600, Kelly Anderson wrote:
  On 03/09/11 03:10, Arun Raghavan wrote:
  Hello all,
  Based on the RFC I posted earlier, I've implemented basic passthrough
  support in some usable shape. It's up on the passthrough branch of each
  of:
 
  PulseAudio:
  http://git.collabora.co.uk/?p=user/arun/pulseaudio.git;a=shortlog;h=refs/heads/passthrough
  gst-plugins-base:
  http://git.collabora.co.uk/?p=user/arun/gst-plugins-base.git;a=shortlog;h=refs/heads/passthrough
  gst-plugins-good:
  http://git.collabora.co.uk/?p=user/arun/gst-plugins-good.git;a=shortlog;h=refs/heads/passthrough
 
 
 
 Hey Arun,
 
 I've built and installed the passthrough branch.

Great! Thanks for testing this out. :)

 Isn't changing sample rates supported yet?  So far I can only 
 passthrough sample rates that match the default-sample-rate in 
 daemon.conf.  Changeable rates is critical to being able to support for 
 example dts-hd at 192khz, when standard dts will be 48khz.
 
 I'm using paplay for basic functionality checks.

It will work, but not with paplay, only with the extended API when you
create a non-PCM stream. I will rationalise the check for passthrough
sink inputs in a bit, but for now, could you change the checks (there
are 2) in alsa-sink sink_process_msg() from:

if (PA_LIKELY(pa_format_info_is_pcm(i-format)))

to:

if (PA_LIKELY(!(i-flags  PA_SINK_INPUT_PASSTHROUGH)))

This should make the sample-rate reconfiguration work for paplay as
well.

I'll apply your HDMI-related patch and push it to my tree (we should
really be probing - I'll look into this once the other bits are done).

Cheers,
Arun

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-14 Thread pl bossart
 I've pushed updates to passthrough-bt branches on my trees for
 pulseaudio (some core changes, rebased to current master),
 gst-plugins-base (MPEG audio payloader), and gst-plugins-good (pulsesink
 MPEG support). With all this, you should be able to test on your BT
 headset.

I've got all these hanges, but still no luck.

[ume@plb GST]$ gst-launch filesrc
location=~/AURAL/Audio/theTest-320.mp3 ! pulsesink
device=bluez_sink.00_0B_E4_94_31_9D
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstPulseSink:pulsesink0:
The stream is in the wrong format.
Additional debug info:
gstbaseaudiosink.c(914): gst_base_audio_sink_preroll ():
/GstPipeline:pipeline0/GstPulseSink:pulsesink0:
sink not negotiated.
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
[ume@plb GST]$ gst-launch filesrc
location=~/AURAL/Audio/theTest-320.mp3 ! mp3parse ! pulsesink
device=bluez_sink.00_0B_E4_94_31_9D
0:00:00.022098216 30380  0x8add070 ERROR   GST_PIPELINE
./grammar.y:614:gst_parse_perform_link: could not link mpegaudioparse0
to pulsesink0
WARNING: erroneous pipeline: could not link mpegaudioparse0 to pulsesink0

what I am missing in the setup ? PCM playback seems to work fine.
-Pierre
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-14 Thread Arun Raghavan
On Mon, 2011-03-14 at 11:06 -0500, pl bossart wrote:
  I've pushed updates to passthrough-bt branches on my trees for
  pulseaudio (some core changes, rebased to current master),
  gst-plugins-base (MPEG audio payloader), and gst-plugins-good (pulsesink
  MPEG support). With all this, you should be able to test on your BT
  headset.
 
 I've got all these hanges, but still no luck.
 
 [ume@plb GST]$ gst-launch filesrc
 location=~/AURAL/Audio/theTest-320.mp3 ! pulsesink
 device=bluez_sink.00_0B_E4_94_31_9D
 Setting pipeline to PAUSED ...
 Pipeline is PREROLLING ...
 ERROR: from element /GstPipeline:pipeline0/GstPulseSink:pulsesink0:
 The stream is in the wrong format.
 Additional debug info:
 gstbaseaudiosink.c(914): gst_base_audio_sink_preroll ():
 /GstPipeline:pipeline0/GstPulseSink:pulsesink0:
 sink not negotiated.
 ERROR: pipeline doesn't want to preroll.
 Setting pipeline to NULL ...
 Freeing pipeline ...
 [ume@plb GST]$ gst-launch filesrc
 location=~/AURAL/Audio/theTest-320.mp3 ! mp3parse ! pulsesink
 device=bluez_sink.00_0B_E4_94_31_9D
 0:00:00.022098216 30380  0x8add070 ERROR   GST_PIPELINE
 ../grammar.y:614:gst_parse_perform_link: could not link mpegaudioparse0
 to pulsesink0
 WARNING: erroneous pipeline: could not link mpegaudioparse0 to pulsesink0
 
 what I am missing in the setup ? PCM playback seems to work fine.

There was one bit from pulsesink in gst-plugins-good that I'd missed
pushing till a couple of hours ago which actually enables MP3 support on
the pulsesink side. I'm guessing that is missing in your tree?

If not, running gst-launch with --gst-debug=baseaudiosink:5,pulse*:5
should produce some more verbose logs that I can look at.

Cheers,
Arun

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-14 Thread pl bossart
 There was one bit from pulsesink in gst-plugins-good that I'd missed
 pushing till a couple of hours ago which actually enables MP3 support on
 the pulsesink side. I'm guessing that is missing in your tree?

Nah, I traced the problem to the configure step in gst-plugins-good.
Somehow my version of pulseaudio isn't detected. Not sure what info
the script relies on, it thinks I am based on 0.9.19 when I am using
git master.

I forced support for pulse1.0 it by hand in config.h and found the
same problem with the headset. Trying to figure out the differences
with my initial patches. there must be a step missing.
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-14 Thread pl bossart
 I forced support for pulse1.0 it by hand in config.h and found the
 same problem with the headset. Trying to figure out the differences
 with my initial patches. there must be a step missing.

ok, found a solution, see diff attached. For some reason the
setup_ad2p() did both the SBC and MPEG configuration. Adding a test
for the mode solves the issue, probably there was a buffer overflow or
something bad.

playing with SBC and MPEG works fine now, meaning that the negotiation
works well depending on the payload.
but when I try to go back to PCM/SBC the second time I get the
following assert in pulseaudio (see gst log below)
E: module-bluetooth-device.c: Assertion 'u-write_memchunk.length ==
u-block_size' failed at
modules/bluetooth/module-bluetooth-device.c:1519, function
a2dp_process_render(). Aborting.

I'll let you debug this one, should be easier :-)

Other things I noticed: the volume is much higher in passthrough mode,
maybe we need to find a way to set the volume on the headset to match
the volume used for PCM. Also I heard some high-frequency modulations,
typically coding noise, maybe there's still something fishy during the
mp3 decode part.
-Pierre


[gst-plugins-good]$ gst-launch --gst-debug=pulsesink:5 filesrc
location=~/AURAL/Audio/theTest-320.mp3 ! flump3dec ! pulsesink
device=bluez_sink.00_0B_E4_94_31_9D
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstPulseSinkClock
Got EOS from element pipeline0.
Execution ended after 9540609373 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
[gst-plugins-good]$ gst-launch --gst-debug=pulsesink:5 filesrc
location=~/AURAL/Audio/theTest-320.mp3 ! mp3parse ! pulsesink
device=bluez_sink.00_0B_E4_94_31_9D
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstPulseSinkClock
Got EOS from element pipeline0.
Execution ended after 9551288915 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
[gst-plugins-good]$ gst-launch --gst-debug=pulsesink:5 filesrc
location=~/AURAL/Audio/theTest-320.mp3 ! flump3dec ! pulsesink
device=bluez_sink.00_0B_E4_94_31_9D
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstPulseSink:pulsesink0:
Failed to connect stream: Connection terminated
Additional debug info:
pulsesink.c(1005): gst_pulseringbuffer_acquire ():
/GstPipeline:pipeline0/GstPulseSink:pulsesink0
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...


diff-arun.patch
Description: Binary data
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-14 Thread Arun Raghavan
On Mon, 2011-03-14 at 13:43 -0500, pl bossart wrote:
  I forced support for pulse1.0 it by hand in config.h and found the
  same problem with the headset. Trying to figure out the differences
  with my initial patches. there must be a step missing.
 
 ok, found a solution, see diff attached. For some reason the
 setup_ad2p() did both the SBC and MPEG configuration. Adding a test
 for the mode solves the issue, probably there was a buffer overflow or
 something bad.

Thanks! I was getting around to this view as well - the
set_configuration seems to be failing because we're trying to set MPEG
caps on the SBC seid.

 playing with SBC and MPEG works fine now, meaning that the negotiation
 works well depending on the payload.
 but when I try to go back to PCM/SBC the second time I get the
 following assert in pulseaudio (see gst log below)
 E: module-bluetooth-device.c: Assertion 'u-write_memchunk.length ==
 u-block_size' failed at
 modules/bluetooth/module-bluetooth-device.c:1519, function
 a2dp_process_render(). Aborting.
 
 I'll let you debug this one, should be easier :-)

:) ack.

 Other things I noticed: the volume is much higher in passthrough mode,
 maybe we need to find a way to set the volume on the headset to match
 the volume used for PCM. Also I heard some high-frequency modulations,
 typically coding noise, maybe there's still something fishy during the
 mp3 decode part.

I get this sort of thing on, as far as I can tell, one channel as well.
I figured the decoder on the CSR chip wasn't that great.

Cheers,
Arun

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-14 Thread pl bossart
 Other things I noticed: the volume is much higher in passthrough mode,
 maybe we need to find a way to set the volume on the headset to match
 the volume used for PCM. Also I heard some high-frequency modulations,
 typically coding noise, maybe there's still something fishy during the
 mp3 decode part.

 I get this sort of thing on, as far as I can tell, one channel as well.
 I figured the decoder on the CSR chip wasn't that great.

Looks to me that the quality is slightly worse than with the initial
patches, but it's of course a very subjective assessment since I need
to reinstall pulse/gstreamer to check the differences instead of doing
an A/B test. Can you check and make sure the payloader doesn't
skip/change any bytes? If you dump what is actually sent to the
headset and compare to the initial file, you shouldn't have any
deltas.
Thanks
-Pierre
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-14 Thread Arun Raghavan
On Mon, 2011-03-14 at 14:57 -0500, pl bossart wrote:
  Other things I noticed: the volume is much higher in passthrough mode,
  maybe we need to find a way to set the volume on the headset to match
  the volume used for PCM. Also I heard some high-frequency modulations,
  typically coding noise, maybe there's still something fishy during the
  mp3 decode part.
 
  I get this sort of thing on, as far as I can tell, one channel as well.
  I figured the decoder on the CSR chip wasn't that great.
 
 Looks to me that the quality is slightly worse than with the initial
 patches, but it's of course a very subjective assessment since I need
 to reinstall pulse/gstreamer to check the differences instead of doing
 an A/B test. Can you check and make sure the payloader doesn't
 skip/change any bytes? If you dump what is actually sent to the
 headset and compare to the initial file, you shouldn't have any
 deltas.

Yep, I did that before I pushed out the code (verified a few frames by
hand, but I'll do something more extensive in the morning). I'm still
seeing the setconf error, but now that it's at least clear it's
connecting to the wrong seid, I'm hoping to get this fixed.

-- Arun

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-13 Thread Arun Raghavan
On Sat, 2011-03-12 at 16:01 -0600, pl bossart wrote:
 Looked at the BT modifications, doesn't look too bad.
 I would try first with MP3 support only, so that you don't have
 reconfiguration issues. If you support MP3 only from the beginning, it
 should be easier to make progress.

Yep, I did that locally. No luck, unfortunately.

 If you can work on integrating the payloader in gstaudioiec61937 I
 will be able to help you then.

That would be great - I should have the payloader done and pushed
tomorrow.

-- Arun

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-12 Thread pl bossart
Hi Arun,
I looked at the passthrough branch. Looks pretty good. I wrote down some notes:

gstaudioiec61937:
- need to check that frame is valid and synchronized on AC3 header
before pushing iec payload
- no code for mp3 and dts?

pulsesink:
- do we really need two steps for payload and commit? Make
things complicated and creates memory copies
- commit needs to prevent toy resampler (maybe this means the sink
cannot work iwth a live source since no adjustment is possible.

-  spec.latency_time = GST_BASE_AUDIO_SINK (psink)-latency_time;
  if (!gst_ring_buffer_parse_caps (spec, caps))
goto out;

Does this work? spec is not initialized?

- change of routing?

- formats
/* FIXME: Eventually, we want the list of supported formats to be set
+ * as properties by the GUI based on what the user says is supported by
+ * the receiver */
+/* FIXME: How do we figure out supported rates? :( */
+unsigned int i, rates[] = { 32000, 44100, 48000 };

For HDMI and SPDIF, 32,44.1 and 48 are mandatory. I think you can
query the alsa layer
to give a range of supported frequencies since this is known in
the driver (either hard-coded or obtained with EDID/eld). I remember
seeing some ALSA patches on this for the NVIDIA cards.

sink.c
- how do we notify client that volume is disabled?

I wasn't too clear on the BT support. You mentioned that it was a
different branch and that it stilll nneds my patches to gst-ugly. We'd
need to have the payloader code in gsraudioiec61937 instead? I am also
not sure how we handle the transition from A2DP w/ SBC to A2DP w/ MP3.
In the current code for iec958, there's no need to reconfigure the
link.

Last, I had 3 conflicts with git master that I had to solve by hand.

Thanks
-Pierre
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-12 Thread pl bossart
Looked at the BT modifications, doesn't look too bad.
I would try first with MP3 support only, so that you don't have
reconfiguration issues. If you support MP3 only from the beginning, it
should be easier to make progress.
If you can work on integrating the payloader in gstaudioiec61937 I
will be able to help you then.
Thanks,
-Pierre
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-12 Thread Arun Raghavan
On Sat, 2011-03-12 at 15:08 -0600, pl bossart wrote:
 Hi Arun,
 I looked at the passthrough branch. Looks pretty good. I wrote down some 
 notes:
 
 gstaudioiec61937:
 - need to check that frame is valid and synchronized on AC3 header
 before pushing iec payload

I'm expecting valid data from the parser - don't think it makes sense to
duplicate the code from the parser. Now that you mention it though, I'm
only using framed=true for the incoming caps, and this might not
actually force the parser to be plugged. Will look into this.

 - no code for mp3 and dts?

DTS is present now. MP3 should be there tomorrow.

 pulsesink:
 - do we really need two steps for payload and commit? Make
 things complicated and creates memory copies

As the comment there says, we can avoid the duplicate copy by doing the
alloc in the payloader. The base class for pulsesink works at sample
granularity (and not byte granularity), so it became necessary to do the
payloading near the beginning of the base class render function.

 - commit needs to prevent toy resampler (maybe this means the sink
 cannot work iwth a live source since no adjustment is possible.

Must've dropped your check somehow. Will put it back.

 -  spec.latency_time = GST_BASE_AUDIO_SINK (psink)-latency_time;
   if (!gst_ring_buffer_parse_caps (spec, caps))
 goto out;
 
 Does this work? spec is not initialized?

Yes, _parse_caps() fills the spec.

 - change of routing?

Working on this.

 - formats
 /* FIXME: Eventually, we want the list of supported formats to be set
 + * as properties by the GUI based on what the user says is supported 
 by
 + * the receiver */
 +/* FIXME: How do we figure out supported rates? :( */
 +unsigned int i, rates[] = { 32000, 44100, 48000 };
 
 For HDMI and SPDIF, 32,44.1 and 48 are mandatory. I think you can
 query the alsa layer
 to give a range of supported frequencies since this is known in
 the driver (either hard-coded or obtained with EDID/eld). I remember
 seeing some ALSA patches on this for the NVIDIA cards.

Great, I'll look this up.

 sink.c
 - how do we notify client that volume is disabled?

Tanu's started some work to make this possible. Will coordinate with him
and reuse the work already being done there.

 I wasn't too clear on the BT support. You mentioned that it was a
 different branch and that it stilll nneds my patches to gst-ugly. We'd
 need to have the payloader code in gsraudioiec61937 instead? I am also
 not sure how we handle the transition from A2DP w/ SBC to A2DP w/ MP3.
 In the current code for iec958, there's no need to reconfigure the
 link.
 
 Last, I had 3 conflicts with git master that I had to solve by hand.

That's odd. I'll do a rebase and push tomorrow.

Thanks for the review!
Arun

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


[pulseaudio-discuss] [WIP] Passthrough support

2011-03-09 Thread Arun Raghavan
Hello all,
Based on the RFC I posted earlier, I've implemented basic passthrough
support in some usable shape. It's up on the passthrough branch of each
of:

PulseAudio:
http://git.collabora.co.uk/?p=user/arun/pulseaudio.git;a=shortlog;h=refs/heads/passthrough
gst-plugins-base:
http://git.collabora.co.uk/?p=user/arun/gst-plugins-base.git;a=shortlog;h=refs/heads/passthrough
gst-plugins-good:
http://git.collabora.co.uk/?p=user/arun/gst-plugins-good.git;a=shortlog;h=refs/heads/passthrough

What's here? All the basic plumbing for clients to signal a compresed
format, have PA pick the best supported one, actually play that
format, and have pactl list show these. The ALSA sink takes AC3 at the
moment, and I should be pushing DTS support today/tomorrow after some
more testing.

It was a lot simpler for me to test this with pulsesink, so I've made
the required changes there (I realise this is a bother for those who
don't have local builds of gstreamer handy - sorry!). Eventually, I'd
like to have a paplay-type interface for compressed formats
(pre-payloaded).

What's left?

* Triggering renegotiation - I should be getting to this soon

* Better proplists - We have one proplist per format+rate pair, which is
fine for now, but eventually, we need to freeze the string format for
lists/ranges

* Proper UI for selecting accepted formats - I'm thinking that we need
to add bits to the various UIs to provide a checklist of formats that
the user's receiver accepts, set that as a property on the sink, and
have a module save this (m-d-m, perhaps, or just a new module)

* HDMI - in theory this should be easy to support, but I've not tested
this yet

* Bluetooth - See postscript

* Sink-input passthrough flag to go away - I'll do this after paplay
properly supports compressed formats

* Disabling monitors - I suspend them for now, which seems to work okay,
but we probably want to have way to disable these properly

* Disabling volume - I'm planning on piggybacking on Tanu's work here :)

So that's that. Comments and feedback appreciated. :)

Cheers,
Arun

p.s.: BT support is being a major pita, mostly because my headset
refuses to cooperate. There's a passthrough-bt branch in my PA tree
which adapts the a2dp sink to the new API, and Pierre's patch for an
IEC61937 payloader that never made it to the mailing list is at
http://people.collabora.co.uk/~arun/plbossart-gst-plugins-ugly.patch
(just needs a small change to pulseutil.c to set make the appropriate
gst-pa type translation).

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-09 Thread Arun Raghavan
On Wed, 2011-03-09 at 15:40 +0530, Arun Raghavan wrote:
 Hello all,
 Based on the RFC I posted earlier, I've implemented basic passthrough
 support in some usable shape. It's up on the passthrough branch of each
 of:
 
 PulseAudio:
 http://git.collabora.co.uk/?p=user/arun/pulseaudio.git;a=shortlog;h=refs/heads/passthrough
 gst-plugins-base:
 http://git.collabora.co.uk/?p=user/arun/gst-plugins-base.git;a=shortlog;h=refs/heads/passthrough
 gst-plugins-good:
 http://git.collabora.co.uk/?p=user/arun/gst-plugins-good.git;a=shortlog;h=refs/heads/passthrough
 
 What's here? All the basic plumbing for clients to signal a compresed
 format, have PA pick the best supported one, actually play that
 format, and have pactl list show these. The ALSA sink takes AC3 at the
 moment, and I should be pushing DTS support today/tomorrow after some
 more testing.

FWIW, this has now been pushed too. Needed some changes to the DTS
parser in GStreamer, which can be found at:

http://git.collabora.co.uk/?p=user/arun/gst-plugins-bad.git;a=shortlog;h=refs/heads/passthrough

-- Arun

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [WIP] Passthrough support

2011-03-09 Thread pl bossart
 What's here? All the basic plumbing for clients to signal a compresed
 format, have PA pick the best supported one, actually play that
 format, and have pactl list show these. The ALSA sink takes AC3 at the
 moment, and I should be pushing DTS support today/tomorrow after some
 more testing.

I'll give it a try later this week. Thanks!
-Pierre
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss