Closed Bug 1050199 Opened 10 years ago Closed 10 years ago

[EME] Support audio sample rate and number of channels changing in decoded samples

Categories

(Core :: Audio/Video, defect)

29 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla34
Tracking Status
firefox37 --- fixed
firefox38 --- fixed
firefox39 --- fixed

People

(Reporter: cpearce, Assigned: cpearce)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

I realized we need to be able to support the GMP giving us back something other than what we ask for. This may happen if we send an HE-AAC stream with implicitly signaled SBR/PS, where if the decoder supports those it can give us more samples/channels back. The CDM/GMP may also wish to downsample for DRM purposes. So, we need to change the GMPAudioSamples/GMPAudioDecoder GMP-API header file to allow this. I assume this won't affect OpenH264.
Add Rate and Channels fields to GMPAudioSamples, and hook it up to IPC.
Attachment #8469195 - Flags: review?(rjesup)
Comment on attachment 8469195 [details] [diff] [review] Patch: add Rate and Channels fields to GMPAudioSamples Review of attachment 8469195 [details] [diff] [review]: ----------------------------------------------------------------- ::: content/media/fmp4/eme/EMEAACDecoder.cpp @@ +138,5 @@ > + mCallback->Error(); > + return; > + } > + > + size_t numFrames = aPCM.Length() / aChannels; consider an assert on length%channels != 0? ::: content/media/gmp/GMPAudioDecoderParent.cpp @@ +199,5 @@ > if (!mCallback) { > return false; > } > > + mCallback->Decoded(aDecoded.mData(), spaces ::: content/media/gmp/GMPAudioDecoderProxy.h @@ +14,5 @@ > > class GMPAudioDecoderProxyCallback : public GMPCallbackBase { > public: > virtual ~GMPAudioDecoderProxyCallback() {} > + virtual void Decoded(const nsTArray<int16_t>& aPCM, do we want to note here as well that channel/rate can change from one callack to another?
Attachment #8469195 - Flags: review?(rjesup) → review+
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
Mass update firefox-status to track EME uplift.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: