Hi,
We were working in IMX6Q-VAR_SOM board in Android Marshmallow OS. We have mpeg2ts file which contains channels with aac_latm audio codec. We were using Freescale library (lib_mpg2_parser_arm11_elinux.3.0.so) for parsing. We are getting below log. Can you help us solve the issue?
02-12 16:37:52.421 3405 3431 I FslInspector: TryMpegType TS SUCCESS
02-12 16:37:52.421 3405 3431 D FslExtractor: FslExtractor::FslExtractor mime=video/mp2ts
02-12 16:37:52.421 3405 3431 D FslExtractor: FslExtractor::Init BEGIN
02-12 16:37:52.421 3405 3431 D FslExtractor: GetLibraryName lib_mpg2_parser_arm11_elinux.3.0.so
02-12 16:37:52.436 3405 3431 D FslExtractor: load parser name lib_mpg2_parser_arm11_elinux.3.0.so
02-12 16:37:52.436 3405 3431 D FslExtractor: FslExtractor::CreateParserInterface success
02-12 16:37:52.436 3405 3431 I FslExtractor: Core parser BLN_MAD-MMLAYER_MPG2PARSER_04.05.05 build on Oct 24 2016 10:26:49
02-12 16:37:52.555 3405 3431 I OMXPlayer: Mpeg2CreateParser:parser created successfully
02-12 16:37:52.555 3405 3431 D FslExtractor: createParser2 flag=1c,err=0
02-12 16:37:52.555 3405 3431 I FslExtractor: mReadMode=0,mNumTracks=24
02-12 16:37:52.555 3405 3431 I FslExtractor: bSeekable 0
02-12 16:37:52.555 3405 3431 D FslExtractor: FslExtractor::ParseMediaFormat BEGIN
02-12 16:37:52.555 3405 3431 D FslExtractor: ParseVideo index=0,type=6,subtype=0
02-12 16:37:52.555 3405 3431 I FslExtractor: ParseVideo width=0,height=0,fps=0,rotate=0
02-12 16:37:52.555 3405 3431 I FslExtractor: add video track index=0,source index=0,mime=video/avc
02-12 16:37:52.555 3405 3431 D FslExtractor: ParseAudio index=1,type=6,subtype=2
02-12 16:37:52.555 3405 3431 I FslExtractor: audio track 1, lanuage: eng
02-12 16:37:52.555 3405 3431 I FslExtractor: ParseAudio channel=0,sampleRate=0,bitRate=0,bitPerSample=0,audioBlockAlign=0
02-12 16:37:52.556 3405 3431 I FslExtractor: add audio track index=1,sourceIndex=1,mime=audio/mp4a-latm
02-12 16:37:52.556 3405 3431 D FslExtractor: FslExtractor::Init ret=0
02-12 16:37:52.558 3405 3431 D FslExtractor: FslExtractor::getTrack index=0
02-12 16:37:52.558 3405 3431 E FslExtractor: getTrack source string cnt=1
02-12 16:37:52.558 3405 3431 D FslExtractor: start track 0
02-12 16:37:52.558 3405 3431 D FslExtractor: source start track 0
02-12 16:37:52.558 3405 3431 D FslExtractor: FslExtractor::getTrack index=1
02-12 16:37:52.558 3405 3431 E FslExtractor: getTrack source string cnt=1
02-12 16:37:52.558 3405 3431 D FslExtractor: start track 1
02-12 16:37:52.558 3405 3431 D FslExtractor: source start track 1
02-12 16:37:52.588 3405 3431 W VideoCapabilities: Unrecognized profile/level 32768/2 for video/mp4v-es
02-12 16:37:52.593 3405 3431 W VideoCapabilities: Unrecognized profile/level 0/0 for video/mpeg2
02-12 16:37:52.593 3405 3431 W VideoCapabilities: Unrecognized profile/level 0/2 for video/mpeg2
02-12 16:37:52.593 3405 3431 W VideoCapabilities: Unrecognized profile/level 0/3 for video/mpeg2
02-12 16:37:52.598 3405 3431 W VideoCapabilities: Unsupported mime video/x-pn-realvideo
02-12 16:37:52.600 3405 3431 W VideoCapabilities: Unsupported mime video/x-divx
02-12 16:37:52.602 3405 3431 W VideoCapabilities: Unsupported mime video/x-div4
02-12 16:37:52.604 3405 3431 W VideoCapabilities: Unsupported mime video/x-div3
02-12 16:37:52.606 3405 3431 W VideoCapabilities: Unsupported mime video/x-xvid
02-12 16:37:52.609 3405 3431 W VideoCapabilities: Unsupported mime video/x-j2c
02-12 16:37:52.611 3405 3431 W VideoCapabilities: Unsupported mime video/x-flash-video
02-12 16:37:52.615 3405 3431 W AudioCapabilities: Unsupported mime audio/eac3
02-12 16:37:52.638 3405 3431 I VideoCapabilities: Unsupported profile 4 for video/mp4v-es
02-12 16:37:52.663 3405 3434 I OMXClient: Using client-side OMX mux.
02-12 16:37:52.667 1125 1790 W linker : /system/lib/lib_aac_dec_v2_arm12_elinux.so has text relocations. This is wasting memory and prevents security hardening. Ple.
02-12 16:37:52.669 1125 1815 E OMXNodeInstance: setParameter(2d:Freescale.std._decoder.aac.sw-based, ParamAudioAndroidAacPresentation(0x6f400003)) ERROR: Unsupported)
02-12 16:37:52.669 1125 1790 I OMXPlayer: AudioFilter SetParameter OMX_IndexParamAudioOutputConvert
02-12 16:37:52.670 1125 1546 I OMXPlayer: AudioFilter SetParameter OMX_IndexParamAudioSendFirstPortSettingChanged 0
02-12 16:37:52.674 1125 3435 I OMXPlayer: SetupDecoder AAC-Plus decoder Wrapper build on Dec 7 2017 18:13:52
02-12 16:37:53.905 3405 3438 I OMXClient: Using client-side OMX mux.
02-12 16:37:53.913 3405 3437 I MediaCodec: [OMX.Freescale.std.video_decoder.avc.v3.hw-based] setting surface generation to 3486721
02-12 16:37:53.918 3405 3438 I ACodec : Send reorder config(0) to VPU
02-12 16:37:53.919 1125 1125 W OMXNodeInstance: [2e:Freescale.std._decoder.avc.v3.hw-based] component does not support metadata mode; using fallback
02-12 16:37:53.920 3405 3438 E ACodec : [OMX.Freescale.std.video_decoder.avc.v3.hw-based] storeMetaDataInBuffers failed w/ err -1010
02-12 16:37:53.921 1125 1815 E OMXNodeInstance: getConfig(2e:Freescale.std._decoder.avc.v3.hw-based, ConfigCommonOutputCrop(0x700000f)) ERROR: IncorrectStateTransiti)
02-12 16:37:53.922 1125 1790 E OMXNodeInstance: getConfig(2e:Freescale.std._decoder.avc.v3.hw-based, ConfigCommonScale(0x7000005)) ERROR: IncorrectStateTransition(0x)
02-12 16:37:53.929 3405 3438 D SurfaceUtils: set up nativeWindow 0x90942e08 for 0x0, color 0x13, rotation 0, usage 0x8002900
02-12 16:37:53.973 1125 1125 I imx6.gralloc: open gpu gralloc module!
02-12 16:37:54.313 1125 3439 I vpu-lib : Product Info: i.MX6Q/D/S
02-12 16:37:54.401 1125 3439 I vpu-lib : <gpu> alloc handle: 0xb3f0bd40, paddr: 0x30e00000, vaddr: 0xa8ac0000
02-12 16:37:54.418 1125 3439 I vpu-lib : <gpu> alloc handle: 0xb3f0bd60, paddr: 0x31600000, vaddr: 0xa8a2b000
02-12 16:37:54.419 1125 3439 I vpu-lib : bitstreamMode 1, chromaInterleave 0, mapType 0, tiled2LinearEnable 0
02-12 16:37:54.447 3405 3438 D SurfaceUtils: set up nativeWindow 0x90942e08 for 1920x1088, color 0x13, rotation 0, usage 0x8002900
02-12 16:37:55.172 3405 3431 I JB : FailureCounter > 200 - Reset the player
02-12 16:37:55.175 3405 3431 E ExoPlayerImplInternal: Internal runtime error.
02-12 16:37:55.175 3405 3431 E ExoPlayerImplInternal: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Handler.post(java.lang.Run1
reference
02-12 16:37:55.175 3405 3431 E ExoPlayerImplInternal: at com.google.android.exoplayer.MediaCodecTrackRenderer.drainOutputBuffer(MediaCodecTrackRenderer.java:1111)
02-12 16:37:55.175 3405 3431 E ExoPlayerImplInternal: at com.google.android.exoplayer.MediaCodecTrackRenderer.doSomeWork(MediaCodecTrackRenderer.java:623)
02-12 16:37:55.175 3405 3431 E ExoPlayerImplInternal: at com.google.android.exoplayer.SampleSourceTrackRenderer.doSomeWork(SampleSourceTrackRenderer.java:128)
02-12 16:37:55.175 3405 3431 E ExoPlayerImplInternal: at com.google.android.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:432)
02-12 16:37:55.175 3405 3431 E ExoPlayerImplInternal: at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:211)
02-12 16:37:55.175 3405 3431 E ExoPlayerImplInternal: at android.os.Handler.dispatchMessage(Handler.java:98)
02-12 16:37:55.175 3405 3431 E ExoPlayerImplInternal: at android.os.Looper.loop(Looper.java:148)
02-12 16:37:55.175 3405 3431 E ExoPlayerImplInternal: at android.os.HandlerThread.run(HandlerThread.java:61)
02-12 16:37:55.175 3405 3431 E ExoPlayerImplInternal: at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)
02-12 16:37:55.177 3405 3425 I TunerSessionWorker: ExoPlayer Error: 1 1
02-12 16:37:55.177 3405 3433 W UsbTunerDataSource: No data update for 5000ms. returning -1.
02-12 16:37:55.180 3405 3430 I UsbTunerDataSource: Streaming stopped
02-12 16:37:55.240 3405 3433 I PlaySampleExtractor: EoS
02-12 16:37:55.250 1125 3439 I vpu-lib : <gpu> alloc handle: 0xb3f0bda0, paddr: 0x33200000, vaddr: 0xa67cc000
02-12 16:37:55.292 1125 1790 I vpu-lib : <gpu> free handle: 0xb3f0bd60, paddr: 0x31600000, vaddr: 0xa8a2b000
02-12 16:37:55.292 1125 1790 I vpu-lib : <gpu> free handle: 0xb3f0bd40, paddr: 0x30e00000, vaddr: 0xa8ac0000
02-12 16:37:55.292 1125 1790 I vpu-lib : <gpu> free handle: 0xb3f0bda0, paddr: 0x33200000, vaddr: 0xa67cc000
02-12 16:37:55.337 3405 3431 D FslExtractor: close track 0
02-12 16:37:55.337 3405 3431 D FslExtractor: close track 1
02-12 16:37:55.337 3405 3431 D FslExtractor: FslMediaSource::~FslMediaSource
02-12 16:37:55.337 3405 3431 D FslExtractor: FslMediaSource::~FslMediaSource
02-12 16:37:55.339 3405 3431 D FslExtractor: FslExtractor::~FslExtractor
02-12 16:37:56.247 3405 3425 I TunerSession: [Profiler] Video available in 9691 ms
02-12 16:37:57.944 3405 3425 I TunerSessionWorker: [Profiler] stopPlayback() takes 0 ms
02-12 16:37:58.724 3405 3425 I DvbManager: Frontend Parameters {{{ freq(570000000) inver(2) stand(DVBT) mod(QAM_AUTO) OFDM bandw(0) crateHP(9) crateLP(9) con(6) tmod}
02-12 16:37:59.202 3405 3425 I [ 220.910283] cx231xx #0: DVB transfer mode is ISO.
DvbManager: Lock status : true
Hi Syed
in general mpeg-ts requires "Extended multimedia feature package", may be it
is missing. Details can be found in sect.6.1 Extended multimedia feature package.
Issue may be posted on variscite support, as this board is supported directly by its vendor.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Dominic
suggest to proceed with Commercial Support and Engineering Services | NXP
Reason:
- this is third party board and software not officially supported by nxp,
- outdated Marshmallow release is not supported,
- software from "Extended Feature Packages" also requires special support.
Best regards
igor
Here is another note from our Team:
We were using FSL library for MPEG2TS Parsing. Same library are used in JellyBean and Marshmallow. Both JellyBean and Marshmallow have similar Component Register entries for this library. But in JellyBean, its parsing fine and entering into FSLParser C file located in external/fsl_imx-omx folder. In Marshmallow, its not parsing and entering into FSLExtractor C file located in frameworks/av folder.
We want to know why FSLExtractor is not parsing the MPEG2TS stream.
We asked NXP regarding the same. We got a reply as
https://community.nxp.com/thread/524867#comment-1270311
Then we checked with Variscite regarding this issue, we got a reply to check with NXP again