On Mon, Jan 21, 2013 at 05:16:44PM EST, Tanu Kaskinen wrote:
> On Mon, 2013-01-21 at 16:44 +1100, Luke Yelavich wrote:
> > On Mon, Jan 21, 2013 at 09:55:07AM EST, Tanu Kaskinen wrote:
> > > On Mon, 2013-01-21 at 09:08 +1100, Luke Yelavich wrote:
> > > > On Fri, Jan 18, 2013 at 06:22:05PM EST, Tanu Kaskinen wrote:
> > > > > On Fri, 2013-01-18 at 16:08 +1100, Luke Yelavich wrote:
> > > > > > Hey folks,
> > > > > > I was attempting to test Pulse 3.0 on a PandaBoard ES for something
> > > > > > completely unrelated, however when attepting to load PulseAudio, it
> > > > > > crashed when attempting to make use of UCM. The stacktrace is
> > > > > > attached, and I still have the core dump if anybody requires that as
> > > > > > well. This test was conducted on Ubuntu Raring with all latest 
> > > > > > updates
> > > > > > for the PandaBoard.
> > > > > > 
> > > > > > Happy to provide information if required, and I hope this stacktrace
> > > > > > is useful to whip up a fix.
> > > > > 
> > > > > Looks like an alsa-lib bug that has been fixed in 1.0.26.
> > > > 
> > > > Thanks, will round up the patch and get it included in our package.
> > > 
> > > So you can't upgrade alsa-lib to 1.0.26? I'm not sure if "round up"
> > > means that you already know which patch it is or not, so here's a link
> > > to the patch:
> > > 
> > > http://git.alsa-project.org/?p=alsa-lib.git;a=commitdiff;h=e16a9a04b190c1c7981d9c65c08c504b9a23fe37
> > 
> > Thanks, I figured that was the one. As for upgrading to 1.0.26 ALA, we
> > haven't got to it yet, and it requires a little QA testing before we
> > throw it in. Pulse is getting sed testing atm, so whilst 1.0.26 wille
> > ventually l and, I need to solve this bug now, and then move onto
> > 1.0.26.
> > 
> > Unfortunately it seems that I still get a crash with that patch
> > included. Traceback attached.
> 
> Are you sure you are testing a properly patched alsa-lib? If you are,
> then this is some other alsa-lib bug. ucm_get_modifiers() in pulseaudio
> definitely doesn't do any double-freeing.

Yes, I have verified that I was testing with your referenced patch, and alsa 
1.0.26 twice, and I still get the crash.

For reference, I am also attaching the UCM files that are used in Ubuntu for 
the PandaBoardES, which is what I am using. I haven't verified their syntax 
beyond making sure they are packaged.

Luke
# Use case Configurationfor TI PandaBoardES HiFi Music
# By Liam Girdwood <[email protected]>

SectionVerb {
        EnableSequence [
                cdev "hw:PandaBoardES"
                cset "name='AMIC_UL PDM Switch' 1"
                cset "name='MUX_UL00' 9"
                cset "name='MUX_UL01' 10"
                cset "name='Capture Volume' 4"
        ]


        DisableSequence [
                cdev "hw:PandaBoardES"
                cset "name='AMIC_UL PDM Switch' 0"
                cset "name='MUX_UL00' 0"
                cset "name='MUX_UL01' 0"
                cset "name='Capture Volume' 0"
        ]

        # Optional TQ and ALSA PCMs
        Value {
                TQ "Music"
                CapturePCM "hw:0,0"
        }
}

SectionDevice."Headset".0 {
        Comment "PandaBoardES 3.5mm Headset"
        
        EnableSequence [
                cdev "hw:PandaBoardES"
                cset "name='Analog Left Capture Route' 2"
                cset "name='Analog Right Capture Route' 2"
                cset "name='Capture Preamplifier Volume' 2"
        ]

        DisableSequence [
                cdev "hw:PandaBoardES"
                cset "name='Analog Left Capture Route' 3"
                cset "name='Analog Right Capture Route' 3"
                cset "name='Capture Preamplifier Volume' 0"
        ]
}

# UCM configuration for PandaBoardES
SectionUseCase."Record" {
                File "record"
                Comment "Record."
}

SectionUseCase."HiFi" {
                File "hifi"
                Comment "Play HiFi quality Music."
}

SectionUseCase."HiFi_Low_Power" {
                File "hifiLP"
                Comment "Play HiFi quality Music in Low Power Mode."
}

SectionUseCase."Voice" {
                File "voice"
                Comment "Playback Voice quality."
}

SectionUseCase."Voice_Low_Power" {
                File "voice"
                Comment "Playback Voice quality in Low Power Mode."
}

SectionUseCase."Voice_Call" {
                File "voiceCall"
                Comment "Capture and Playback in Voice quality."
}

SectionUseCase."Voice_Call_IP" {
                File "voiceCall"
                Comment "Capture and Playback in Voice quality."
}

SectionUseCase."FM_Analog_Radio" {
                File "FMAnalog"
                Comment "Capture FM Analog Radio."
}

SectionDefaults [
                cdev "hw:PandaBoardES"
                exec "echo Im setting PandaBoardES defaults"
]
# Use case Configuration for TI PandaBoardES HiFi Music
# By Liam Girdwood <[email protected]>

SectionVerb {
        EnableSequence [
                cdev "hw:PandaBoardES"
                cset "name='DL1 Mixer Multimedia' 1"
                cset "name='Sidetone Mixer Playback' 1"
                cset "name='DL1 PDM Switch' 1"
                cset "name='DL1 Media Playback Volume' 90,90"
                cset "name='SDT DL Volume' 120"

                cset "name='Headset Left Playback' 1"
                cset "name='Headset Right Playback' 1"
                cset "name='Headset Playback Volume' 13"
        ]

        DisableSequence [
                cdev "hw:PandaBoardES"
                cset "name='DL1 Mixer Multimedia' 0"
                cset "name='Sidetone Mixer Playback' 0"
                cset "name='DL1 PDM Switch' 0"
                cset "name='DL1 Media Playback Volume' 0,0"
                cset "name='SDT DL Volume' 0"

                cset "name='Headset Right Playback' 0"
                cset "name='Headset Left Playback' 0"
                cset "name='Headset Playback Volume' 0"
        ]

        # Optional TQ and ALSA PCMs
#       Value {
#               TQ "Music"
#               PlaybackPCM "hw:0,0"
#                PlaybackVolume "name='DL1 Media Playback Volume' 90,90"
#                PlaybackSwitch "name='DL1 PDM Switch' 1"
#       }
}

SectionDevice."Headset".0 {
        Comment "PandaBoardES 3.5mm Headset"
        
        EnableSequence [
                cdev "hw:PandaBoardES"
                cset "name='Headset Left Playback' 1"
                cset "name='Headset Right Playback' 1"
                cset "name='Headset Playback Volume' 13"
        ]

        DisableSequence [
                cdev "hw:PandaBoardES"
                cset "name='Headset Right Playback' 0"
                cset "name='Headset Left Playback' 0"
                cset "name='Headset Playback Volume' 0"
        ]
}

#SectionModifier."RecordMedia".0 {
#       SupportedDevice [
#               "Headset"
#       ]
 #       EnableSequence [
 #         ....
 #       ]
 #
 #       DisableSequence [
 #         ...
 #       ]
 #
 #       TransitionSequence."ToModifierName" [
 #         ...
 #       ]
 #
 #       # Optional TQ and ALSA PCMs
 #       Value {
 #               TQ Voice
 #               CapturePCM "hw:1"
 #               PlaybackVolume "name='Master Playback Volume',index=2"
 #               PlaybackSwitch "name='Master Playback Switch',index=2"
 #       }
#
#}

# Use case Configuration for TI PandaBoardES HiFi Music
# By Liam Girdwood <[email protected]>

SectionVerb {
        EnableSequence [
                cdev "hw:PandaBoardES"
                cset "name='DL1 Mixer Multimedia' 1"
                cset "name='Sidetone Mixer Playback' 1"
                cset "name='DL1 PDM Switch' 1"
                cset "name='DL1 Media Playback Volume' 90,90"
                cset "name='SDT DL Volume' 120"
        ]

        DisableSequence [
                cdev "hw:PandaBoardES"
                cset "name='DL1 Mixer Multimedia' 0"
                cset "name='Sidetone Mixer Playback' 0"
                cset "name='DL1 PDM Switch' 0"
                cset "name='DL1 Media Playback Volume' 0,0"
                cset "name='SDT DL Volume' 0"
        ]

        # Optional TQ and ALSA PCMs
        Value {
                TQ "Music"
                PlaybackPCM "hw:0,6"
        }
}

SectionDevice."Headset".0 {
        Comment "PandaBoardES 3.5mm Headset"
        
        EnableSequence [
                cdev "hw:PandaBoardES"
                cset "name='Headset Left Playback' 1"
                cset "name='Headset Right Playback' 1"
                cset "name='Headset Playback Volume' 13"
        ]

        DisableSequence [
                cdev "hw:PandaBoardES"
                cset "name='Headset Right Playback' 0"
                cset "name='Headset Left Playback' 0"
                cset "name='Headset Playback Volume' 0"
        ]
}
# Use case Configuration for TI PandaBoardES HiFi Music
# By Liam Girdwood <[email protected]>

SectionVerb {
        EnableSequence [
                cdev "hw:PandaBoardES"
                # No more AMIC PDM Switch in current kernels
                #cset "name='AMIC_UL PDM Switch' 1"
                cset "name='MUX_UL00' 9"
                cset "name='MUX_UL01' 10"
                cset "name='Capture Volume' 4"
        ]

        DisableSequence [
                cdev "hw:PandaBoardES"
                # No more AMIC PDM Switch in current kernels
                #cset "name='AMIC_UL PDM Switch' 0"
                cset "name='MUX_UL00' 0"
                cset "name='MUX_UL01' 0"
                cset "name='Capture Volume' 0"
        ]

        # Optional TQ and ALSA PCMs
        Value {
                TQ "Music"
                CapturePCM "hw:0,0"
        }

}

SectionDevice."Headset".0 {
        Comment "PandaBoardES 3.5mm Headset"
        
        EnableSequence [
                cdev "hw:PandaBoardES"
                cset "name='Analog Left Capture Route' 0"
                cset "name='Analog Right Capture Route' 0"
                cset "name='Capture Preamplifier Volume' 2"
        ]

        DisableSequence [
                cdev "hw:PandaBoardES"
                cset "name='Analog Left Capture Route' 3"
                cset "name='Analog Right Capture Route' 3"
                cset "name='Capture Preamplifier Volume' 0"
        ]
}
# Use case Configuration for TI PandaBoardES HiFi Music
# By Liam Girdwood <[email protected]>

SectionVerb {
        EnableSequence [
                cdev "hw:PandaBoardES"
                cset "name='DL1 Mixer Voice' 1"
                cset "name='Sidetone Mixer Playback' 1"
                cset "name='DL1 PDM Switch' 1"
                cset "name='DL1 Voice Playback Volume' 90,90"
                cset "name='SDT DL Volume' 120"
        ]

        DisableSequence [
                cdev "hw:PandaBoardES"
                cset "name='DL1 Mixer Voice' 0"
                cset "name='Sidetone Mixer Playback' 0"
                cset "name='DL1 PDM Switch' 0"
                cset "name='DL1 Voice Playback Volume' 0,0"
                cset "name='SDT DL Volume' 0"
        ]

        # Optional TQ and ALSA PCMs
        Value {
                TQ "Voice"
                PlaybackPCM "hw:0,2"
        }
}

SectionDevice."Headset".0 {
        Comment "PandaBoardES 3.5mm Headset"
        
        EnableSequence [
                cdev "hw:PandaBoardES"
                cset "name='Headset Left Playback' 1"
                cset "name='Headset Right Playback' 1"
                cset "name='Headset Playback Volume' 13"
        ]

        DisableSequence [
                cdev "hw:PandaBoardES"
                cset "name='Headset Right Playback' 0"
                cset "name='Headset Left Playback' 0"
                cset "name='Headset Playback Volume' 0"
        ]
}
# Use case Configuration for TI PandaBoardES HiFi Music
# By Liam Girdwood <[email protected]>

SectionVerb {
        EnableSequence [
                cdev "hw:PandaBoardES"
                cset "name='AMIC_UL PDM Switch' 1"
                cset "name='Sidetone Mixer Capture' 1"
                cset "name='MUX_VX0' 9"
                cset "name='MUX_VX1' 10"
                cset "name='DL1 Mixer Voice' 1"
                cset "name='Sidetone Mixer Playback' 1"
                cset "name='DL1 PDM Switch' 1"
                cset "name='DL1 Voice Playback Volume' 90,90"
                cset "name='Capture Volume' 4"
                cset "name='Capture Mixer Voice Capture' 90,90"
                cset "name='SDT DL Volume' 120"
        ]


        DisableSequence [
                cdev "hw:PandaBoardES"
                cset "name='AMIC_UL PDM Switch' 0"
                cset "name='Sidetone Mixer Capture' 0"
                cset "name='MUX_VX0' 0"
                cset "name='MUX_VX1' 0"
                cset "name='DL1 Mixer Voice' 0"
                cset "name='Sidetone Mixer Playback' 0"
                cset "name='DL1 PDM Switch' 0"
                cset "name='DL1 Voice Playback Volume' 0,0"
                cset "name='Capture Volume' 0"
                cset "name='DL1 Voice Playback Volume' 0,0"
                cset "name='SDT DL Volume' 0"
        ]

        # Optional TQ and ALSA PCMs
        Value {
                TQ "Voice"
                CapturePCM "hw:0,2"
                PlaybackPCM "hw:0,2"
        }
}

SectionDevice."Headset".0 {
        Comment "PandaBoardES 3.5mm Headset"
        
        EnableSequence [
                cdev "hw:PandaBoardES"
                cset "name='Analog Left Capture Route' 0"
                cset "name='Analog Right Capture Route' 0"
                cset "name='Capture Preamplifier Volume' 2"
                cset "name='Headset Left Playback' 1"
                cset "name='Headset Right Playback' 1"
                cset "name='Headset Playback Volume' 13"
        ]

        DisableSequence [
                cdev "hw:PandaBoardES"
                cset "name='Analog Left Capture Route' 3"
                cset "name='Analog Right Capture Route' 3"
                cset "name='Capture Preamplifier Volume' 0"
                cset "name='Headset Right Playback' 0"
                cset "name='Headset Left Playback' 0"
                cset "name='Headset Playback Volume' 0"
        ]
}

_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to