NewChromantics / PopH264

Low-level, minimal H264 decoder & encoder library for windows, hololens/uwp, ios/tvos/macos, linux, android/quest/magic leap. CAPI for use with c#, unreal, swift
http://poph264.com/
Mozilla Public License 2.0
84 stars 15 forks source link

Not detecting when Quest2 (and probably other devices) are unable to cope with X decoders #69

Open SoylentGraham opened 2 years ago

SoylentGraham commented 2 years ago

Quest can cope with between 1 and 3 decoders acting at once. Running 10 and it stops. But allocates 10 fine.

This comes out of logcat, but we don't seem to pick up on it.

08-16 16:45:04.605 14676 14683 I PopH264 : pop: virtual bool Android::TDecoder::DecodeNextPacket()
08-16 16:45:04.606   817 14739 E OMX-VDEC-1080P: Failed to call stream on OUTPUT due to HW_OVERLOAD
08-16 16:45:04.606   817 14739 E OMX-VDEC-1080P: empty_this_buffer_proxy failure due to HW overload
08-16 16:45:04.606   817 14739 E OMX-VDEC-1080P: ERROR: Sending OMX_ErrorInsufficientResources to Client
08-16 16:45:04.606   817 12721 D PlatformConfig: getInstance: Enter
08-16 16:45:04.606   817 12721 D PlatformConfig: getInt32: Returning default
08-16 16:45:04.606   817 12721 D PlatformConfig: getInstance: Enter
08-16 16:45:04.606   817 12721 D PlatformConfig: getInt32: Returning default
08-16 16:45:04.606   817 12721 I OMX-VDEC-1080P: omx_vdec::component_init() success : fd=617
08-16 16:45:04.606 14676 14737 E ACodec  : [OMX.qcom.video.decoder.avc] ERROR(0x80001000)
08-16 16:45:04.606 14676 14737 E ACodec  : signalError(omxError 0x80001000, internalError -2147483648)
08-16 16:45:04.606 14676 14736 E MediaCodec: Codec reported err 0x80001000, actionCode 0, while in state 6
08-16 16:45:04.606 14676 14736 E NdkMediaCodec: CB_ERROR: action is expected.
SoylentGraham commented 1 year ago

This seems to get an error with quest 2 now, and media codec error gets down to output

SoylentGraham commented 1 year ago

Solved in other projects by having one decoder and feeding data in serially. Working great on quest2, but not a universal fix...