AAC playback using HDMI passthrough iMX6

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

AAC playback using HDMI passthrough iMX6

Jump to solution
918 Views
subodh
Contributor III

Hi,

Hoe to playback an AAC file using HDMI passthrough.

I do not want to use gstreamer.

root@freescale /unit_tests$ /proc/asound/

card0        card1        imxhdmisoc   wm8962audio

root@freescale /unit_tests$ cat /proc/asound/card1/pcm0p/sub0/info     

card: 1

device: 0

subdevice: 0

stream: PLAYBACK

id: IMX HDMI TX mxc-hdmi-soc-0

name:

subname: subdevice #0

class: 0

subclass: 0

subdevices_count: 1

subdevices_avail: 1

Regards,

Subodh

Labels (1)
Tags (4)
0 Kudos
1 Solution
639 Views
SergioSolis
NXP Employee
NXP Employee


Please take a look at the following link and document, it may serve you as a guide:

HDMI Audio Setting

View solution in original post

0 Kudos
3 Replies
639 Views
subodh
Contributor III

Any Suggestions ??

0 Kudos
640 Views
SergioSolis
NXP Employee
NXP Employee


Please take a look at the following link and document, it may serve you as a guide:

HDMI Audio Setting

0 Kudos
639 Views
subodh
Contributor III

Thanks the settings work. But since I do not have alsa-tools built on my current image I used gstreamer to test.

Raw audio also gets redirected to the target device automatically with aplay.

Following is the tail that shows suggests decoding is still done in software . Hence I tried AC3 and got the following error.

Is it possible to decode the audio on the target HDMI device instead of board ?

Please guide me to correct documentation I need to refer to clarify my doubts regarding the audio subsystem.

AAC Tail logs

===========

Pipeline is PREROLLED ...

Setting pipeline to PLAYING ...

New clock: GstAudioSinkClock

Got EOS from element "playbin20".

Execution ended after 66113939675 ns.

Setting pipeline to PAUSED ...

Setting pipeline to READY ...

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAutoAudioSink:audiosink/GstAlsaSink:audiosink-actual-sink-alsa.GstPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstVolume:volume.GstPad:src: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstVolume:volume.GstPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAudioResample:aresample.GstPad:src: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAudioResample:aresample.GstPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAudioConvert:aconv.GstPad:src: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstAudioConvert:aconv.GstPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstQueue:aqueue.GstPad:src: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin/GstQueue:aqueue.GstPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstBin:abin.GstGhostPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstStreamSynchronizer:streamsynchronizer0.GstPad:sink_0: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstStreamSynchronizer:streamsynchronizer0.GstPad:src_0: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstTee:audiotee.GstPad:src0: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0/GstTee:audiotee.GstPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstPlaySink:playsink0.GstGhostPad:audio_raw_sink: caps = NULL

/GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: caps = NULL

/GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstPad:src: caps = NULL

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0.GstGhostPad:src0: caps = NULL

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstDecodePad:src0: caps = NULL

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstBeepdec4:beepdec40.GstPad:src: caps = NULL

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstBeepdec4:beepdec40.GstPad:sink: caps = NULL

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:src: caps = NULL

Setting pipeline to NULL ...

Freeing pipeline ...

AC3 Error

==========

WARNING: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: No decoder available for type 'audio/x-ac3'.

Additional debug info:

gsturidecodebin.c(867): unknown_type_cb (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0

ERROR: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20: Your GStreamer installation is missing a plug-in.

Additional debug info:

gstdecodebin2.c(3233): gst_decode_bin_expose (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20:

no suitable plugins found

ERROR: pipeline doesn't want to preroll.

Setting pipeline to NULL ...

/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:src: caps = NULL

Freeing pipeline ...

0 Kudos