Move AV1X-AV1 mapping to VideoCodecTypeMime

AV1X->AV1 mapping added to SdpVideoFormatToVideoCodecInfo in
https://webrtc-review.googlesource.com/c/src/+/215586 results in
discrepancy of codec name between SDP and VideoCodecInfo. That violates
VideoCodecInfo design and breaks downstream projects.

This CL moves the mapping from VideoCodecInfoToSdpVideoFormat and
SdpVideoFormatToVideoCodecInfo to VideoCodecTypeMime.

Bug: b/181690054
Change-Id: I2a76524c29b082241f2ec72a60a209ce9b0c7c5f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221205
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34230}
This commit is contained in:
Sergey Silkin
2021-06-04 12:13:37 +02:00
committed by WebRTC LUCI CQ
parent e34380a160
commit 1b63db956f
8 changed files with 40 additions and 39 deletions

View File

@ -46,7 +46,7 @@ class MediaCodecVideoDecoderFactory implements VideoDecoderFactory {
@Nullable
@Override
public VideoDecoder createDecoder(VideoCodecInfo codecType) {
VideoCodecMimeType type = VideoCodecMimeType.valueOf(codecType.getName());
VideoCodecMimeType type = VideoCodecMimeType.fromSdpCodecName(codecType.getName());
MediaCodecInfo info = findCodecForType(type);
if (info == null) {
@ -68,7 +68,7 @@ class MediaCodecVideoDecoderFactory implements VideoDecoderFactory {
VideoCodecMimeType.VP9, VideoCodecMimeType.H264, VideoCodecMimeType.AV1}) {
MediaCodecInfo codec = findCodecForType(type);
if (codec != null) {
String name = type.name();
String name = type.toSdpCodecName();
if (type == VideoCodecMimeType.H264 && isH264HighProfileSupported(codec)) {
supportedCodecInfos.add(new VideoCodecInfo(
name, MediaCodecUtils.getCodecProperties(type, /* highProfile= */ true)));

View File

@ -26,4 +26,12 @@ enum VideoCodecMimeType {
String mimeType() {
return mimeType;
}
static VideoCodecMimeType fromSdpCodecName(String codecName) {
return codecName.equals("AV1X") ? AV1 : valueOf(codecName);
}
String toSdpCodecName() {
return this == AV1 ? "AV1X" : name();
}
}