webrtc_m130/media/engine/internal_encoder_factory.cc

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

91 lines
3.1 KiB
C++
Raw Normal View History

Reland of Stop using hardcoded payload types for video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2513633002/ ) Reason for revert: The WebRtcBrowserTest.NegotiateUnsupportedVideoCodec test has been fixed in Chromium with the following change: function removeVideoCodec(offerSdp) { - offerSdp = offerSdp.replace('a=rtpmap:100 VP8/90000\r\n', - 'a=rtpmap:100 XVP8/90000\r\n'); + offerSdp = offerSdp.replace(/a=rtpmap:(\d+)\ VP8\/90000\r\n/, + 'a=rtpmap:$1 XVP8/90000\r\n'); return offerSdp; } Original issue's description: > Revert of Stop using hardcoded payload types for video codecs (patchset #6 id:210001 of https://codereview.webrtc.org/2493133002/ ) > > Reason for revert: > Breaks chromium.fyi test: > WebRtcBrowserTest.NegotiateUnsupportedVideoCodec > > Original issue's description: > > Stop using hardcoded payload types for video codecs > > > > This CL stops using hardcoded payload types for different video codecs > > and will dynamically assign them payload types incrementally from 96 to > > 127 instead. > > > > This CL: > > * Replaces 'std::vector<VideoCodec> DefaultVideoCodecList()' in > > webrtcvideoengine2.cc with an explicit WebRtcVideoEncoderFactory for > > internally supported software codecs instead. The purpose is to > > streamline the payload type assignment in webrtcvideoengine2.cc which > > will now have two encoder factories of the same > > WebRtcVideoEncoderFactory type; one internal and one external. > > * Removes webrtc::VideoEncoder::EncoderType and use cricket::VideoCodec > > instead. > > * Removes 'static VideoEncoder* Create(EncoderType codec_type)' and > > moves the create function to the internal encoder factory instead. > > * Removes video_encoder.cc. webrtc::VideoEncoder is now just an > > interface without any static functions. > > * The function GetSupportedCodecs in webrtcvideoengine2.cc unifies > > the internal and external codecs and assigns them payload types > > incrementally from 96 to 127. > > * Updates webrtcvideoengine2_unittest.cc and removes assumptions about > > what payload types will be used. > > > > BUG=webrtc:6677,webrtc:6705 > > R=hta@webrtc.org, ossu@webrtc.org, stefan@webrtc.org > > > > Committed: https://crrev.com/42043b95872b51321f508bf255d804ce3dff366b > > Cr-Commit-Position: refs/heads/master@{#15135} > > TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:6677,webrtc:6705 > > Committed: https://crrev.com/eacbaea920797ff751ca83050d140821f5055591 > Cr-Commit-Position: refs/heads/master@{#15140} TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:6677,webrtc:6705 Review-Url: https://codereview.webrtc.org/2511933002 Cr-Commit-Position: refs/heads/master@{#15148}
2016-11-18 01:34:11 -08:00
/*
* Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include "media/engine/internal_encoder_factory.h"
Reland of Stop using hardcoded payload types for video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2513633002/ ) Reason for revert: The WebRtcBrowserTest.NegotiateUnsupportedVideoCodec test has been fixed in Chromium with the following change: function removeVideoCodec(offerSdp) { - offerSdp = offerSdp.replace('a=rtpmap:100 VP8/90000\r\n', - 'a=rtpmap:100 XVP8/90000\r\n'); + offerSdp = offerSdp.replace(/a=rtpmap:(\d+)\ VP8\/90000\r\n/, + 'a=rtpmap:$1 XVP8/90000\r\n'); return offerSdp; } Original issue's description: > Revert of Stop using hardcoded payload types for video codecs (patchset #6 id:210001 of https://codereview.webrtc.org/2493133002/ ) > > Reason for revert: > Breaks chromium.fyi test: > WebRtcBrowserTest.NegotiateUnsupportedVideoCodec > > Original issue's description: > > Stop using hardcoded payload types for video codecs > > > > This CL stops using hardcoded payload types for different video codecs > > and will dynamically assign them payload types incrementally from 96 to > > 127 instead. > > > > This CL: > > * Replaces 'std::vector<VideoCodec> DefaultVideoCodecList()' in > > webrtcvideoengine2.cc with an explicit WebRtcVideoEncoderFactory for > > internally supported software codecs instead. The purpose is to > > streamline the payload type assignment in webrtcvideoengine2.cc which > > will now have two encoder factories of the same > > WebRtcVideoEncoderFactory type; one internal and one external. > > * Removes webrtc::VideoEncoder::EncoderType and use cricket::VideoCodec > > instead. > > * Removes 'static VideoEncoder* Create(EncoderType codec_type)' and > > moves the create function to the internal encoder factory instead. > > * Removes video_encoder.cc. webrtc::VideoEncoder is now just an > > interface without any static functions. > > * The function GetSupportedCodecs in webrtcvideoengine2.cc unifies > > the internal and external codecs and assigns them payload types > > incrementally from 96 to 127. > > * Updates webrtcvideoengine2_unittest.cc and removes assumptions about > > what payload types will be used. > > > > BUG=webrtc:6677,webrtc:6705 > > R=hta@webrtc.org, ossu@webrtc.org, stefan@webrtc.org > > > > Committed: https://crrev.com/42043b95872b51321f508bf255d804ce3dff366b > > Cr-Commit-Position: refs/heads/master@{#15135} > > TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:6677,webrtc:6705 > > Committed: https://crrev.com/eacbaea920797ff751ca83050d140821f5055591 > Cr-Commit-Position: refs/heads/master@{#15140} TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:6677,webrtc:6705 Review-Url: https://codereview.webrtc.org/2511933002 Cr-Commit-Position: refs/heads/master@{#15148}
2016-11-18 01:34:11 -08:00
Reland "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." This reverts commit f8c81ca4690aa3e470cc61633f512de383c308a8. Reason for revert: <Prepare to reland> Original change's description: > Revert "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." > > This reverts commit 256733c78af655029cb04afae2c404afb41ea685. > > Reason for revert: <breaks downstream> > > Original change's description: > > Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate. > > > > Bug: webrtc:13573 > > Change-Id: Iae649e7922a67f70c53d33f3b87ea62bb6a3490c > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262812 > > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > > Cr-Commit-Position: refs/heads/main@{#36940} > > Bug: webrtc:13573 > Change-Id: I3341b6b96a56de63058c38943611b8c1629294ce > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262941 > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#36942} Bug: webrtc:13573 Change-Id: Iaf1222c58a18f378df20e4f83262b9a9da491712 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262943 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36985}
2022-05-24 10:32:32 +02:00
#include <memory>
#include <string>
Reland "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." This reverts commit f8c81ca4690aa3e470cc61633f512de383c308a8. Reason for revert: <Prepare to reland> Original change's description: > Revert "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." > > This reverts commit 256733c78af655029cb04afae2c404afb41ea685. > > Reason for revert: <breaks downstream> > > Original change's description: > > Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate. > > > > Bug: webrtc:13573 > > Change-Id: Iae649e7922a67f70c53d33f3b87ea62bb6a3490c > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262812 > > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > > Cr-Commit-Position: refs/heads/main@{#36940} > > Bug: webrtc:13573 > Change-Id: I3341b6b96a56de63058c38943611b8c1629294ce > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262941 > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#36942} Bug: webrtc:13573 Change-Id: Iaf1222c58a18f378df20e4f83262b9a9da491712 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262943 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36985}
2022-05-24 10:32:32 +02:00
#include <vector>
Reland of Stop using hardcoded payload types for video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2513633002/ ) Reason for revert: The WebRtcBrowserTest.NegotiateUnsupportedVideoCodec test has been fixed in Chromium with the following change: function removeVideoCodec(offerSdp) { - offerSdp = offerSdp.replace('a=rtpmap:100 VP8/90000\r\n', - 'a=rtpmap:100 XVP8/90000\r\n'); + offerSdp = offerSdp.replace(/a=rtpmap:(\d+)\ VP8\/90000\r\n/, + 'a=rtpmap:$1 XVP8/90000\r\n'); return offerSdp; } Original issue's description: > Revert of Stop using hardcoded payload types for video codecs (patchset #6 id:210001 of https://codereview.webrtc.org/2493133002/ ) > > Reason for revert: > Breaks chromium.fyi test: > WebRtcBrowserTest.NegotiateUnsupportedVideoCodec > > Original issue's description: > > Stop using hardcoded payload types for video codecs > > > > This CL stops using hardcoded payload types for different video codecs > > and will dynamically assign them payload types incrementally from 96 to > > 127 instead. > > > > This CL: > > * Replaces 'std::vector<VideoCodec> DefaultVideoCodecList()' in > > webrtcvideoengine2.cc with an explicit WebRtcVideoEncoderFactory for > > internally supported software codecs instead. The purpose is to > > streamline the payload type assignment in webrtcvideoengine2.cc which > > will now have two encoder factories of the same > > WebRtcVideoEncoderFactory type; one internal and one external. > > * Removes webrtc::VideoEncoder::EncoderType and use cricket::VideoCodec > > instead. > > * Removes 'static VideoEncoder* Create(EncoderType codec_type)' and > > moves the create function to the internal encoder factory instead. > > * Removes video_encoder.cc. webrtc::VideoEncoder is now just an > > interface without any static functions. > > * The function GetSupportedCodecs in webrtcvideoengine2.cc unifies > > the internal and external codecs and assigns them payload types > > incrementally from 96 to 127. > > * Updates webrtcvideoengine2_unittest.cc and removes assumptions about > > what payload types will be used. > > > > BUG=webrtc:6677,webrtc:6705 > > R=hta@webrtc.org, ossu@webrtc.org, stefan@webrtc.org > > > > Committed: https://crrev.com/42043b95872b51321f508bf255d804ce3dff366b > > Cr-Commit-Position: refs/heads/master@{#15135} > > TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:6677,webrtc:6705 > > Committed: https://crrev.com/eacbaea920797ff751ca83050d140821f5055591 > Cr-Commit-Position: refs/heads/master@{#15140} TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:6677,webrtc:6705 Review-Url: https://codereview.webrtc.org/2511933002 Cr-Commit-Position: refs/heads/master@{#15148}
2016-11-18 01:34:11 -08:00
#include "absl/strings/match.h"
Reland "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." This reverts commit f8c81ca4690aa3e470cc61633f512de383c308a8. Reason for revert: <Prepare to reland> Original change's description: > Revert "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." > > This reverts commit 256733c78af655029cb04afae2c404afb41ea685. > > Reason for revert: <breaks downstream> > > Original change's description: > > Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate. > > > > Bug: webrtc:13573 > > Change-Id: Iae649e7922a67f70c53d33f3b87ea62bb6a3490c > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262812 > > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > > Cr-Commit-Position: refs/heads/main@{#36940} > > Bug: webrtc:13573 > Change-Id: I3341b6b96a56de63058c38943611b8c1629294ce > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262941 > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#36942} Bug: webrtc:13573 Change-Id: Iaf1222c58a18f378df20e4f83262b9a9da491712 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262943 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36985}
2022-05-24 10:32:32 +02:00
#include "api/video_codecs/video_encoder_factory.h"
#include "api/video_codecs/video_encoder_factory_template.h"
#if defined(RTC_USE_LIBAOM_AV1_ENCODER)
#include "api/video_codecs/video_encoder_factory_template_libaom_av1_adapter.h" // nogncheck
#endif
#include "api/video_codecs/video_encoder_factory_template_libvpx_vp8_adapter.h"
#include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h"
#if defined(WEBRTC_USE_H264)
#include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h" // nogncheck
#endif
Reland of Stop using hardcoded payload types for video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2513633002/ ) Reason for revert: The WebRtcBrowserTest.NegotiateUnsupportedVideoCodec test has been fixed in Chromium with the following change: function removeVideoCodec(offerSdp) { - offerSdp = offerSdp.replace('a=rtpmap:100 VP8/90000\r\n', - 'a=rtpmap:100 XVP8/90000\r\n'); + offerSdp = offerSdp.replace(/a=rtpmap:(\d+)\ VP8\/90000\r\n/, + 'a=rtpmap:$1 XVP8/90000\r\n'); return offerSdp; } Original issue's description: > Revert of Stop using hardcoded payload types for video codecs (patchset #6 id:210001 of https://codereview.webrtc.org/2493133002/ ) > > Reason for revert: > Breaks chromium.fyi test: > WebRtcBrowserTest.NegotiateUnsupportedVideoCodec > > Original issue's description: > > Stop using hardcoded payload types for video codecs > > > > This CL stops using hardcoded payload types for different video codecs > > and will dynamically assign them payload types incrementally from 96 to > > 127 instead. > > > > This CL: > > * Replaces 'std::vector<VideoCodec> DefaultVideoCodecList()' in > > webrtcvideoengine2.cc with an explicit WebRtcVideoEncoderFactory for > > internally supported software codecs instead. The purpose is to > > streamline the payload type assignment in webrtcvideoengine2.cc which > > will now have two encoder factories of the same > > WebRtcVideoEncoderFactory type; one internal and one external. > > * Removes webrtc::VideoEncoder::EncoderType and use cricket::VideoCodec > > instead. > > * Removes 'static VideoEncoder* Create(EncoderType codec_type)' and > > moves the create function to the internal encoder factory instead. > > * Removes video_encoder.cc. webrtc::VideoEncoder is now just an > > interface without any static functions. > > * The function GetSupportedCodecs in webrtcvideoengine2.cc unifies > > the internal and external codecs and assigns them payload types > > incrementally from 96 to 127. > > * Updates webrtcvideoengine2_unittest.cc and removes assumptions about > > what payload types will be used. > > > > BUG=webrtc:6677,webrtc:6705 > > R=hta@webrtc.org, ossu@webrtc.org, stefan@webrtc.org > > > > Committed: https://crrev.com/42043b95872b51321f508bf255d804ce3dff366b > > Cr-Commit-Position: refs/heads/master@{#15135} > > TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:6677,webrtc:6705 > > Committed: https://crrev.com/eacbaea920797ff751ca83050d140821f5055591 > Cr-Commit-Position: refs/heads/master@{#15140} TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:6677,webrtc:6705 Review-Url: https://codereview.webrtc.org/2511933002 Cr-Commit-Position: refs/heads/master@{#15148}
2016-11-18 01:34:11 -08:00
namespace webrtc {
Reland "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." This reverts commit f8c81ca4690aa3e470cc61633f512de383c308a8. Reason for revert: <Prepare to reland> Original change's description: > Revert "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." > > This reverts commit 256733c78af655029cb04afae2c404afb41ea685. > > Reason for revert: <breaks downstream> > > Original change's description: > > Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate. > > > > Bug: webrtc:13573 > > Change-Id: Iae649e7922a67f70c53d33f3b87ea62bb6a3490c > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262812 > > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > > Cr-Commit-Position: refs/heads/main@{#36940} > > Bug: webrtc:13573 > Change-Id: I3341b6b96a56de63058c38943611b8c1629294ce > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262941 > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#36942} Bug: webrtc:13573 Change-Id: Iaf1222c58a18f378df20e4f83262b9a9da491712 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262943 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36985}
2022-05-24 10:32:32 +02:00
namespace {
Reland of Stop using hardcoded payload types for video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2513633002/ ) Reason for revert: The WebRtcBrowserTest.NegotiateUnsupportedVideoCodec test has been fixed in Chromium with the following change: function removeVideoCodec(offerSdp) { - offerSdp = offerSdp.replace('a=rtpmap:100 VP8/90000\r\n', - 'a=rtpmap:100 XVP8/90000\r\n'); + offerSdp = offerSdp.replace(/a=rtpmap:(\d+)\ VP8\/90000\r\n/, + 'a=rtpmap:$1 XVP8/90000\r\n'); return offerSdp; } Original issue's description: > Revert of Stop using hardcoded payload types for video codecs (patchset #6 id:210001 of https://codereview.webrtc.org/2493133002/ ) > > Reason for revert: > Breaks chromium.fyi test: > WebRtcBrowserTest.NegotiateUnsupportedVideoCodec > > Original issue's description: > > Stop using hardcoded payload types for video codecs > > > > This CL stops using hardcoded payload types for different video codecs > > and will dynamically assign them payload types incrementally from 96 to > > 127 instead. > > > > This CL: > > * Replaces 'std::vector<VideoCodec> DefaultVideoCodecList()' in > > webrtcvideoengine2.cc with an explicit WebRtcVideoEncoderFactory for > > internally supported software codecs instead. The purpose is to > > streamline the payload type assignment in webrtcvideoengine2.cc which > > will now have two encoder factories of the same > > WebRtcVideoEncoderFactory type; one internal and one external. > > * Removes webrtc::VideoEncoder::EncoderType and use cricket::VideoCodec > > instead. > > * Removes 'static VideoEncoder* Create(EncoderType codec_type)' and > > moves the create function to the internal encoder factory instead. > > * Removes video_encoder.cc. webrtc::VideoEncoder is now just an > > interface without any static functions. > > * The function GetSupportedCodecs in webrtcvideoengine2.cc unifies > > the internal and external codecs and assigns them payload types > > incrementally from 96 to 127. > > * Updates webrtcvideoengine2_unittest.cc and removes assumptions about > > what payload types will be used. > > > > BUG=webrtc:6677,webrtc:6705 > > R=hta@webrtc.org, ossu@webrtc.org, stefan@webrtc.org > > > > Committed: https://crrev.com/42043b95872b51321f508bf255d804ce3dff366b > > Cr-Commit-Position: refs/heads/master@{#15135} > > TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:6677,webrtc:6705 > > Committed: https://crrev.com/eacbaea920797ff751ca83050d140821f5055591 > Cr-Commit-Position: refs/heads/master@{#15140} TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:6677,webrtc:6705 Review-Url: https://codereview.webrtc.org/2511933002 Cr-Commit-Position: refs/heads/master@{#15148}
2016-11-18 01:34:11 -08:00
Reland "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." This reverts commit f8c81ca4690aa3e470cc61633f512de383c308a8. Reason for revert: <Prepare to reland> Original change's description: > Revert "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." > > This reverts commit 256733c78af655029cb04afae2c404afb41ea685. > > Reason for revert: <breaks downstream> > > Original change's description: > > Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate. > > > > Bug: webrtc:13573 > > Change-Id: Iae649e7922a67f70c53d33f3b87ea62bb6a3490c > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262812 > > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > > Cr-Commit-Position: refs/heads/main@{#36940} > > Bug: webrtc:13573 > Change-Id: I3341b6b96a56de63058c38943611b8c1629294ce > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262941 > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#36942} Bug: webrtc:13573 Change-Id: Iaf1222c58a18f378df20e4f83262b9a9da491712 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262943 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36985}
2022-05-24 10:32:32 +02:00
using Factory =
VideoEncoderFactoryTemplate<webrtc::LibvpxVp8EncoderTemplateAdapter,
#if defined(WEBRTC_USE_H264)
webrtc::OpenH264EncoderTemplateAdapter,
#endif
#if defined(RTC_USE_LIBAOM_AV1_ENCODER)
webrtc::LibaomAv1EncoderTemplateAdapter,
#endif
webrtc::LibvpxVp9EncoderTemplateAdapter>;
absl::optional<SdpVideoFormat> MatchOriginalFormat(
const SdpVideoFormat& format) {
const auto supported_formats = Factory().GetSupportedFormats();
absl::optional<SdpVideoFormat> res;
int best_parameter_match = 0;
for (const auto& supported_format : supported_formats) {
if (absl::EqualsIgnoreCase(supported_format.name, format.name)) {
int matching_parameters = 0;
for (const auto& kv : supported_format.parameters) {
auto it = format.parameters.find(kv.first);
if (it != format.parameters.end() && it->second == kv.second) {
matching_parameters += 1;
}
}
if (!res || matching_parameters > best_parameter_match) {
res = supported_format;
best_parameter_match = matching_parameters;
}
}
}
return res;
Reland of Stop using hardcoded payload types for video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2513633002/ ) Reason for revert: The WebRtcBrowserTest.NegotiateUnsupportedVideoCodec test has been fixed in Chromium with the following change: function removeVideoCodec(offerSdp) { - offerSdp = offerSdp.replace('a=rtpmap:100 VP8/90000\r\n', - 'a=rtpmap:100 XVP8/90000\r\n'); + offerSdp = offerSdp.replace(/a=rtpmap:(\d+)\ VP8\/90000\r\n/, + 'a=rtpmap:$1 XVP8/90000\r\n'); return offerSdp; } Original issue's description: > Revert of Stop using hardcoded payload types for video codecs (patchset #6 id:210001 of https://codereview.webrtc.org/2493133002/ ) > > Reason for revert: > Breaks chromium.fyi test: > WebRtcBrowserTest.NegotiateUnsupportedVideoCodec > > Original issue's description: > > Stop using hardcoded payload types for video codecs > > > > This CL stops using hardcoded payload types for different video codecs > > and will dynamically assign them payload types incrementally from 96 to > > 127 instead. > > > > This CL: > > * Replaces 'std::vector<VideoCodec> DefaultVideoCodecList()' in > > webrtcvideoengine2.cc with an explicit WebRtcVideoEncoderFactory for > > internally supported software codecs instead. The purpose is to > > streamline the payload type assignment in webrtcvideoengine2.cc which > > will now have two encoder factories of the same > > WebRtcVideoEncoderFactory type; one internal and one external. > > * Removes webrtc::VideoEncoder::EncoderType and use cricket::VideoCodec > > instead. > > * Removes 'static VideoEncoder* Create(EncoderType codec_type)' and > > moves the create function to the internal encoder factory instead. > > * Removes video_encoder.cc. webrtc::VideoEncoder is now just an > > interface without any static functions. > > * The function GetSupportedCodecs in webrtcvideoengine2.cc unifies > > the internal and external codecs and assigns them payload types > > incrementally from 96 to 127. > > * Updates webrtcvideoengine2_unittest.cc and removes assumptions about > > what payload types will be used. > > > > BUG=webrtc:6677,webrtc:6705 > > R=hta@webrtc.org, ossu@webrtc.org, stefan@webrtc.org > > > > Committed: https://crrev.com/42043b95872b51321f508bf255d804ce3dff366b > > Cr-Commit-Position: refs/heads/master@{#15135} > > TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:6677,webrtc:6705 > > Committed: https://crrev.com/eacbaea920797ff751ca83050d140821f5055591 > Cr-Commit-Position: refs/heads/master@{#15140} TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:6677,webrtc:6705 Review-Url: https://codereview.webrtc.org/2511933002 Cr-Commit-Position: refs/heads/master@{#15148}
2016-11-18 01:34:11 -08:00
}
Reland "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." This reverts commit f8c81ca4690aa3e470cc61633f512de383c308a8. Reason for revert: <Prepare to reland> Original change's description: > Revert "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." > > This reverts commit 256733c78af655029cb04afae2c404afb41ea685. > > Reason for revert: <breaks downstream> > > Original change's description: > > Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate. > > > > Bug: webrtc:13573 > > Change-Id: Iae649e7922a67f70c53d33f3b87ea62bb6a3490c > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262812 > > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > > Cr-Commit-Position: refs/heads/main@{#36940} > > Bug: webrtc:13573 > Change-Id: I3341b6b96a56de63058c38943611b8c1629294ce > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262941 > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#36942} Bug: webrtc:13573 Change-Id: Iaf1222c58a18f378df20e4f83262b9a9da491712 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262943 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36985}
2022-05-24 10:32:32 +02:00
} // namespace
Reland of Stop using hardcoded payload types for video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2513633002/ ) Reason for revert: The WebRtcBrowserTest.NegotiateUnsupportedVideoCodec test has been fixed in Chromium with the following change: function removeVideoCodec(offerSdp) { - offerSdp = offerSdp.replace('a=rtpmap:100 VP8/90000\r\n', - 'a=rtpmap:100 XVP8/90000\r\n'); + offerSdp = offerSdp.replace(/a=rtpmap:(\d+)\ VP8\/90000\r\n/, + 'a=rtpmap:$1 XVP8/90000\r\n'); return offerSdp; } Original issue's description: > Revert of Stop using hardcoded payload types for video codecs (patchset #6 id:210001 of https://codereview.webrtc.org/2493133002/ ) > > Reason for revert: > Breaks chromium.fyi test: > WebRtcBrowserTest.NegotiateUnsupportedVideoCodec > > Original issue's description: > > Stop using hardcoded payload types for video codecs > > > > This CL stops using hardcoded payload types for different video codecs > > and will dynamically assign them payload types incrementally from 96 to > > 127 instead. > > > > This CL: > > * Replaces 'std::vector<VideoCodec> DefaultVideoCodecList()' in > > webrtcvideoengine2.cc with an explicit WebRtcVideoEncoderFactory for > > internally supported software codecs instead. The purpose is to > > streamline the payload type assignment in webrtcvideoengine2.cc which > > will now have two encoder factories of the same > > WebRtcVideoEncoderFactory type; one internal and one external. > > * Removes webrtc::VideoEncoder::EncoderType and use cricket::VideoCodec > > instead. > > * Removes 'static VideoEncoder* Create(EncoderType codec_type)' and > > moves the create function to the internal encoder factory instead. > > * Removes video_encoder.cc. webrtc::VideoEncoder is now just an > > interface without any static functions. > > * The function GetSupportedCodecs in webrtcvideoengine2.cc unifies > > the internal and external codecs and assigns them payload types > > incrementally from 96 to 127. > > * Updates webrtcvideoengine2_unittest.cc and removes assumptions about > > what payload types will be used. > > > > BUG=webrtc:6677,webrtc:6705 > > R=hta@webrtc.org, ossu@webrtc.org, stefan@webrtc.org > > > > Committed: https://crrev.com/42043b95872b51321f508bf255d804ce3dff366b > > Cr-Commit-Position: refs/heads/master@{#15135} > > TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:6677,webrtc:6705 > > Committed: https://crrev.com/eacbaea920797ff751ca83050d140821f5055591 > Cr-Commit-Position: refs/heads/master@{#15140} TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:6677,webrtc:6705 Review-Url: https://codereview.webrtc.org/2511933002 Cr-Commit-Position: refs/heads/master@{#15148}
2016-11-18 01:34:11 -08:00
std::vector<SdpVideoFormat> InternalEncoderFactory::GetSupportedFormats()
const {
Reland "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." This reverts commit f8c81ca4690aa3e470cc61633f512de383c308a8. Reason for revert: <Prepare to reland> Original change's description: > Revert "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." > > This reverts commit 256733c78af655029cb04afae2c404afb41ea685. > > Reason for revert: <breaks downstream> > > Original change's description: > > Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate. > > > > Bug: webrtc:13573 > > Change-Id: Iae649e7922a67f70c53d33f3b87ea62bb6a3490c > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262812 > > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > > Cr-Commit-Position: refs/heads/main@{#36940} > > Bug: webrtc:13573 > Change-Id: I3341b6b96a56de63058c38943611b8c1629294ce > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262941 > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#36942} Bug: webrtc:13573 Change-Id: Iaf1222c58a18f378df20e4f83262b9a9da491712 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262943 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36985}
2022-05-24 10:32:32 +02:00
return Factory().GetSupportedFormats();
}
std::unique_ptr<VideoEncoder> InternalEncoderFactory::CreateVideoEncoder(
const SdpVideoFormat& format) {
Reland "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." This reverts commit f8c81ca4690aa3e470cc61633f512de383c308a8. Reason for revert: <Prepare to reland> Original change's description: > Revert "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." > > This reverts commit 256733c78af655029cb04afae2c404afb41ea685. > > Reason for revert: <breaks downstream> > > Original change's description: > > Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate. > > > > Bug: webrtc:13573 > > Change-Id: Iae649e7922a67f70c53d33f3b87ea62bb6a3490c > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262812 > > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > > Cr-Commit-Position: refs/heads/main@{#36940} > > Bug: webrtc:13573 > Change-Id: I3341b6b96a56de63058c38943611b8c1629294ce > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262941 > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#36942} Bug: webrtc:13573 Change-Id: Iaf1222c58a18f378df20e4f83262b9a9da491712 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262943 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36985}
2022-05-24 10:32:32 +02:00
auto original_format = MatchOriginalFormat(format);
return original_format ? Factory().CreateVideoEncoder(*original_format)
: nullptr;
Reland of Stop using hardcoded payload types for video codecs (patchset #1 id:1 of https://codereview.webrtc.org/2513633002/ ) Reason for revert: The WebRtcBrowserTest.NegotiateUnsupportedVideoCodec test has been fixed in Chromium with the following change: function removeVideoCodec(offerSdp) { - offerSdp = offerSdp.replace('a=rtpmap:100 VP8/90000\r\n', - 'a=rtpmap:100 XVP8/90000\r\n'); + offerSdp = offerSdp.replace(/a=rtpmap:(\d+)\ VP8\/90000\r\n/, + 'a=rtpmap:$1 XVP8/90000\r\n'); return offerSdp; } Original issue's description: > Revert of Stop using hardcoded payload types for video codecs (patchset #6 id:210001 of https://codereview.webrtc.org/2493133002/ ) > > Reason for revert: > Breaks chromium.fyi test: > WebRtcBrowserTest.NegotiateUnsupportedVideoCodec > > Original issue's description: > > Stop using hardcoded payload types for video codecs > > > > This CL stops using hardcoded payload types for different video codecs > > and will dynamically assign them payload types incrementally from 96 to > > 127 instead. > > > > This CL: > > * Replaces 'std::vector<VideoCodec> DefaultVideoCodecList()' in > > webrtcvideoengine2.cc with an explicit WebRtcVideoEncoderFactory for > > internally supported software codecs instead. The purpose is to > > streamline the payload type assignment in webrtcvideoengine2.cc which > > will now have two encoder factories of the same > > WebRtcVideoEncoderFactory type; one internal and one external. > > * Removes webrtc::VideoEncoder::EncoderType and use cricket::VideoCodec > > instead. > > * Removes 'static VideoEncoder* Create(EncoderType codec_type)' and > > moves the create function to the internal encoder factory instead. > > * Removes video_encoder.cc. webrtc::VideoEncoder is now just an > > interface without any static functions. > > * The function GetSupportedCodecs in webrtcvideoengine2.cc unifies > > the internal and external codecs and assigns them payload types > > incrementally from 96 to 127. > > * Updates webrtcvideoengine2_unittest.cc and removes assumptions about > > what payload types will be used. > > > > BUG=webrtc:6677,webrtc:6705 > > R=hta@webrtc.org, ossu@webrtc.org, stefan@webrtc.org > > > > Committed: https://crrev.com/42043b95872b51321f508bf255d804ce3dff366b > > Cr-Commit-Position: refs/heads/master@{#15135} > > TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:6677,webrtc:6705 > > Committed: https://crrev.com/eacbaea920797ff751ca83050d140821f5055591 > Cr-Commit-Position: refs/heads/master@{#15140} TBR=hta@webrtc.org,stefan@webrtc.org,ossu@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:6677,webrtc:6705 Review-Url: https://codereview.webrtc.org/2511933002 Cr-Commit-Position: refs/heads/master@{#15148}
2016-11-18 01:34:11 -08:00
}
Reland "Handle scalability mode in QueryCodecSupport" This reverts commit 74281bed5350af9c15f83e0b1aec5c5921dbf76f. Reason for revert: Fixed unit test by removing VP9 profile 2 from encoder factory unit test since this is platform dependent. Original change's description: > Revert "Handle scalability mode in QueryCodecSupport" > > This reverts commit 715a14811883a642e3acca21fb6017f8a128c0a5. > > Reason for revert: Speculative revert. Breaks upstream project http://b/200009579 > > Original change's description: > > Handle scalability mode in QueryCodecSupport > > > > All valid scalability modes should be supported by the builtin > > software decoder/encoder. > > > > Bug: chromium:1187565 > > Change-Id: If66105d210d5055019f35dae2f80a18ad4a70cdd > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222642 > > Commit-Queue: Johannes Kron <kron@webrtc.org> > > Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> > > Reviewed-by: Erik Språng <sprang@webrtc.org> > > Cr-Commit-Position: refs/heads/main@{#34998} > > TBR=danilchap@webrtc.org,sprang@webrtc.org,kron@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com > > Change-Id: Ibf40d523c50791d73e2afdc3917892b859d2bcb6 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: chromium:1187565 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232020 > Reviewed-by: Andrey Logvin <landrey@webrtc.org> > Commit-Queue: Andrey Logvin <landrey@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#35001} Bug: chromium:1187565 Change-Id: I598a2a530b8fea22997bbb5910eb3b864d1e28a2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232021 Reviewed-by: Erik Språng <sprang@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Johannes Kron <kron@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35003}
2021-09-15 10:56:04 +00:00
VideoEncoderFactory::CodecSupport InternalEncoderFactory::QueryCodecSupport(
const SdpVideoFormat& format,
Reland "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." This reverts commit f8c81ca4690aa3e470cc61633f512de383c308a8. Reason for revert: <Prepare to reland> Original change's description: > Revert "Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate." > > This reverts commit 256733c78af655029cb04afae2c404afb41ea685. > > Reason for revert: <breaks downstream> > > Original change's description: > > Replace InternalVideoEncoderFactory implementation with VideoEncoderFactoryTemplate. > > > > Bug: webrtc:13573 > > Change-Id: Iae649e7922a67f70c53d33f3b87ea62bb6a3490c > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262812 > > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > > Cr-Commit-Position: refs/heads/main@{#36940} > > Bug: webrtc:13573 > Change-Id: I3341b6b96a56de63058c38943611b8c1629294ce > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262941 > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Philip Eliasson <philipel@webrtc.org> > Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#36942} Bug: webrtc:13573 Change-Id: Iaf1222c58a18f378df20e4f83262b9a9da491712 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262943 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36985}
2022-05-24 10:32:32 +02:00
absl::optional<std::string> scalability_mode) const {
auto original_format = MatchOriginalFormat(format);
return original_format
? Factory().QueryCodecSupport(*original_format, scalability_mode)
: VideoEncoderFactory::CodecSupport{.is_supported = false};
Reland "Handle scalability mode in QueryCodecSupport" This reverts commit 74281bed5350af9c15f83e0b1aec5c5921dbf76f. Reason for revert: Fixed unit test by removing VP9 profile 2 from encoder factory unit test since this is platform dependent. Original change's description: > Revert "Handle scalability mode in QueryCodecSupport" > > This reverts commit 715a14811883a642e3acca21fb6017f8a128c0a5. > > Reason for revert: Speculative revert. Breaks upstream project http://b/200009579 > > Original change's description: > > Handle scalability mode in QueryCodecSupport > > > > All valid scalability modes should be supported by the builtin > > software decoder/encoder. > > > > Bug: chromium:1187565 > > Change-Id: If66105d210d5055019f35dae2f80a18ad4a70cdd > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222642 > > Commit-Queue: Johannes Kron <kron@webrtc.org> > > Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> > > Reviewed-by: Erik Språng <sprang@webrtc.org> > > Cr-Commit-Position: refs/heads/main@{#34998} > > TBR=danilchap@webrtc.org,sprang@webrtc.org,kron@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com > > Change-Id: Ibf40d523c50791d73e2afdc3917892b859d2bcb6 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: chromium:1187565 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232020 > Reviewed-by: Andrey Logvin <landrey@webrtc.org> > Commit-Queue: Andrey Logvin <landrey@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#35001} Bug: chromium:1187565 Change-Id: I598a2a530b8fea22997bbb5910eb3b864d1e28a2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232021 Reviewed-by: Erik Språng <sprang@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Johannes Kron <kron@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35003}
2021-09-15 10:56:04 +00:00
}
} // namespace webrtc