Loading media/codec2/sfplugin/CCodecConfig.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -1072,6 +1072,13 @@ status_t CCodecConfig::initialize( C2_PARAMKEY_SURFACE_SCALING_MODE); } else { addLocalParam(new C2StreamColorAspectsInfo::input(0u), C2_PARAMKEY_COLOR_ASPECTS); if (domain.value == C2Component::DOMAIN_VIDEO) { addLocalParam(new C2AndroidStreamAverageBlockQuantizationInfo::output(0u, 0), C2_PARAMKEY_AVERAGE_QP); addLocalParam(new C2StreamPictureTypeMaskInfo::output(0u, 0), C2_PARAMKEY_PICTURE_TYPE); } } } Loading media/libaudioclient/aidl/android/media/ISpatializer.aidl +4 −2 Original line number Diff line number Diff line Loading @@ -57,8 +57,10 @@ interface ISpatializer { boolean isHeadTrackingSupported(); /** Reports the list of supported head tracking modes (see SpatializerHeadTrackingMode.aidl). * The list can be empty if the spatializer implementation does not support head tracking or if * no head tracking sensor is registered (see setHeadSensor() and setScreenSensor()). * The list always contains SpatializerHeadTrackingMode.DISABLED and can include other modes * if the spatializer effect implementation supports head tracking. * The result does not depend on currently connected sensors but reflects the capabilities * when sensors are available. */ SpatializerHeadTrackingMode[] getSupportedHeadTrackingModes(); Loading media/libstagefright/foundation/MetaDataBase.cpp +56 −1 Original line number Diff line number Diff line Loading @@ -521,9 +521,64 @@ status_t MetaDataBase::updateFromParcel(const Parcel &parcel) { } setData(key, type, blob.data(), size); blob.release(); } else if (type == TYPE_C_STRING) { // copy data directly from Parcel storage, then advance position // NB: readInplace() bumps position, it is NOT idempotent. const void *src = parcel.readInplace(size); char *str = (char *) src; if (src == nullptr || size == 0 || str[size-1] != '\0') { char ccKey[5]; MakeFourCCString(key, ccKey); if (src == nullptr) { ALOGW("ignoring key '%s' string with no data (expected %d)", ccKey, size); } else { ALOGW("ignoring key '%s': unterminated string of %d bytes", ccKey, size); } } else { setData(key, type, src, size); } } else { // copy data directly from Parcel storage, then advance position setData(key, type, parcel.readInplace(size), size); // verify that the received size is enough uint32_t needed = 0; switch (type) { case TYPE_INT32: needed = sizeof(int32_t); break; case TYPE_INT64: needed = sizeof(int64_t); break; case TYPE_FLOAT: needed = sizeof(float); break; case TYPE_POINTER: // NB: this rejects passing between 32-bit and 64-bit space. needed = sizeof(void*); break; case TYPE_RECT: needed = sizeof(Rect); break; default: // non-standard entities can be any size >= 0 needed = 0; break; } const void *src = parcel.readInplace(size); if (src == nullptr || (needed != 0 && size != needed)) { char ccKey[5]; MakeFourCCString(key, ccKey); char ccType[5]; MakeFourCCString(type, ccType); if (src == nullptr) { ALOGW("ignoring key '%s' type '%s' missing data (expected %d)", ccKey, ccType, size); } else { ALOGW("ignoring key '%s': type '%s' bytes: expected %d != %d received", ccKey, ccType, needed, size); } } else { setData(key, type, src, size); } } } Loading services/audiopolicy/config/bluetooth_with_le_audio_policy_configuration.xml +1 −11 Original line number Diff line number Diff line Loading @@ -11,17 +11,7 @@ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> </mixPort> <!-- Le Audio Audio Ports --> <mixPort name="le audio output" role="source"> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" samplingRates="8000,16000,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/> <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED" samplingRates="8000,16000,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/> <profile name="" format="AUDIO_FORMAT_PCM_32_BIT" samplingRates="8000,16000,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/> </mixPort> <mixPort name="le audio output" role="source"/> <mixPort name="le audio input" role="sink"> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" samplingRates="8000,16000,24000,32000,44100,48000" Loading services/audiopolicy/config/bluetooth_with_le_audio_policy_configuration_7_0.xml +1 −11 Original line number Diff line number Diff line Loading @@ -11,17 +11,7 @@ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> </mixPort> <!-- Le Audio Audio Ports --> <mixPort name="le audio output" role="source"> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" samplingRates="8000 16000 24000 32000 44100 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/> <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED" samplingRates="8000 16000 24000 32000 44100 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/> <profile name="" format="AUDIO_FORMAT_PCM_32_BIT" samplingRates="8000 16000 24000 32000 44100 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/> </mixPort> <mixPort name="le audio output" role="source" /> <mixPort name="le audio input" role="sink"> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" samplingRates="8000 16000 24000 32000 44100 48000" Loading Loading
media/codec2/sfplugin/CCodecConfig.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -1072,6 +1072,13 @@ status_t CCodecConfig::initialize( C2_PARAMKEY_SURFACE_SCALING_MODE); } else { addLocalParam(new C2StreamColorAspectsInfo::input(0u), C2_PARAMKEY_COLOR_ASPECTS); if (domain.value == C2Component::DOMAIN_VIDEO) { addLocalParam(new C2AndroidStreamAverageBlockQuantizationInfo::output(0u, 0), C2_PARAMKEY_AVERAGE_QP); addLocalParam(new C2StreamPictureTypeMaskInfo::output(0u, 0), C2_PARAMKEY_PICTURE_TYPE); } } } Loading
media/libaudioclient/aidl/android/media/ISpatializer.aidl +4 −2 Original line number Diff line number Diff line Loading @@ -57,8 +57,10 @@ interface ISpatializer { boolean isHeadTrackingSupported(); /** Reports the list of supported head tracking modes (see SpatializerHeadTrackingMode.aidl). * The list can be empty if the spatializer implementation does not support head tracking or if * no head tracking sensor is registered (see setHeadSensor() and setScreenSensor()). * The list always contains SpatializerHeadTrackingMode.DISABLED and can include other modes * if the spatializer effect implementation supports head tracking. * The result does not depend on currently connected sensors but reflects the capabilities * when sensors are available. */ SpatializerHeadTrackingMode[] getSupportedHeadTrackingModes(); Loading
media/libstagefright/foundation/MetaDataBase.cpp +56 −1 Original line number Diff line number Diff line Loading @@ -521,9 +521,64 @@ status_t MetaDataBase::updateFromParcel(const Parcel &parcel) { } setData(key, type, blob.data(), size); blob.release(); } else if (type == TYPE_C_STRING) { // copy data directly from Parcel storage, then advance position // NB: readInplace() bumps position, it is NOT idempotent. const void *src = parcel.readInplace(size); char *str = (char *) src; if (src == nullptr || size == 0 || str[size-1] != '\0') { char ccKey[5]; MakeFourCCString(key, ccKey); if (src == nullptr) { ALOGW("ignoring key '%s' string with no data (expected %d)", ccKey, size); } else { ALOGW("ignoring key '%s': unterminated string of %d bytes", ccKey, size); } } else { setData(key, type, src, size); } } else { // copy data directly from Parcel storage, then advance position setData(key, type, parcel.readInplace(size), size); // verify that the received size is enough uint32_t needed = 0; switch (type) { case TYPE_INT32: needed = sizeof(int32_t); break; case TYPE_INT64: needed = sizeof(int64_t); break; case TYPE_FLOAT: needed = sizeof(float); break; case TYPE_POINTER: // NB: this rejects passing between 32-bit and 64-bit space. needed = sizeof(void*); break; case TYPE_RECT: needed = sizeof(Rect); break; default: // non-standard entities can be any size >= 0 needed = 0; break; } const void *src = parcel.readInplace(size); if (src == nullptr || (needed != 0 && size != needed)) { char ccKey[5]; MakeFourCCString(key, ccKey); char ccType[5]; MakeFourCCString(type, ccType); if (src == nullptr) { ALOGW("ignoring key '%s' type '%s' missing data (expected %d)", ccKey, ccType, size); } else { ALOGW("ignoring key '%s': type '%s' bytes: expected %d != %d received", ccKey, ccType, needed, size); } } else { setData(key, type, src, size); } } } Loading
services/audiopolicy/config/bluetooth_with_le_audio_policy_configuration.xml +1 −11 Original line number Diff line number Diff line Loading @@ -11,17 +11,7 @@ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> </mixPort> <!-- Le Audio Audio Ports --> <mixPort name="le audio output" role="source"> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" samplingRates="8000,16000,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/> <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED" samplingRates="8000,16000,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/> <profile name="" format="AUDIO_FORMAT_PCM_32_BIT" samplingRates="8000,16000,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/> </mixPort> <mixPort name="le audio output" role="source"/> <mixPort name="le audio input" role="sink"> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" samplingRates="8000,16000,24000,32000,44100,48000" Loading
services/audiopolicy/config/bluetooth_with_le_audio_policy_configuration_7_0.xml +1 −11 Original line number Diff line number Diff line Loading @@ -11,17 +11,7 @@ channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> </mixPort> <!-- Le Audio Audio Ports --> <mixPort name="le audio output" role="source"> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" samplingRates="8000 16000 24000 32000 44100 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/> <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED" samplingRates="8000 16000 24000 32000 44100 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/> <profile name="" format="AUDIO_FORMAT_PCM_32_BIT" samplingRates="8000 16000 24000 32000 44100 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/> </mixPort> <mixPort name="le audio output" role="source" /> <mixPort name="le audio input" role="sink"> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" samplingRates="8000 16000 24000 32000 44100 48000" Loading