summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphoglund@webrtc.org <phoglund@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-05-13 15:39:26 +0000
committerphoglund@webrtc.org <phoglund@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-05-13 15:39:26 +0000
commit99616fa103845c69253195b8506d0bbcd0414f82 (patch)
tree54d7d930f65d6670252064684827656a34a1f297
parent9062a9a4975cfe16a6e7258bbdfb4f2ebdb80ad1 (diff)
downloadwebrtc-99616fa103845c69253195b8506d0bbcd0414f82.tar.gz
Revert 4008 "Avoid resetting video encoder for similar configs."
> Avoid resetting video encoder for similar configs. > > BUG=1681 > R=holmer@google.com, mflodman@webrtc.org, stefan@webrtc.org > > Review URL: https://webrtc-codereview.appspot.com/1442006 TBR=pbos@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1431005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4010 4adac7df-926f-26a2-2b94-8c16560cd09d
-rw-r--r--modules/video_coding/main/source/video_coding_impl.cc70
-rw-r--r--modules/video_coding/main/source/video_coding_impl.h6
2 files changed, 7 insertions, 69 deletions
diff --git a/modules/video_coding/main/source/video_coding_impl.cc b/modules/video_coding/main/source/video_coding_impl.cc
index af326091..4ed2e805 100644
--- a/modules/video_coding/main/source/video_coding_impl.cc
+++ b/modules/video_coding/main/source/video_coding_impl.cc
@@ -318,63 +318,6 @@ VideoCodingModuleImpl::InitializeSender()
return VCM_OK;
}
-bool VideoCodingModuleImpl::RequiresEncoderReset(const VideoCodec& send_codec) {
- VideoCodec current_codec;
-
- if (!_codecDataBase.SendCodec(&current_codec)) {
- return true;
- }
-
- if (current_codec.codecType != send_codec.codecType ||
- strcmp(current_codec.plName, send_codec.plName) != 0 ||
- current_codec.plType != send_codec.plType ||
- current_codec.width != send_codec.width ||
- current_codec.height != send_codec.height ||
- current_codec.qpMax != send_codec.qpMax ||
- current_codec.numberOfSimulcastStreams !=
- send_codec.numberOfSimulcastStreams ||
- current_codec.mode != send_codec.mode ||
- current_codec.extra_options != send_codec.extra_options) {
- return true;
- }
-
- switch (current_codec.codecType) {
- case kVideoCodecVP8:
- if (memcmp(&current_codec.codecSpecific.VP8,
- &send_codec.codecSpecific.VP8,
- sizeof(current_codec.codecSpecific.VP8)) != 0) {
- return true;
- }
- break;
- case kVideoCodecGeneric:
- if (memcmp(&current_codec.codecSpecific.Generic,
- &send_codec.codecSpecific.Generic,
- sizeof(current_codec.codecSpecific.Generic)) != 0) {
- return true;
- }
- break;
- // Known codecs without payload-specifics
- case kVideoCodecI420:
- case kVideoCodecRED:
- case kVideoCodecULPFEC:
- break;
- // Unknown codec type, reset just to be sure.
- case kVideoCodecUnknown:
- return true;
- }
-
- if (current_codec.numberOfSimulcastStreams > 0) {
- for (unsigned char i = 0; i < current_codec.numberOfSimulcastStreams; ++i) {
- if (memcmp(&current_codec.simulcastStream[i],
- &send_codec.simulcastStream[i],
- sizeof(current_codec.simulcastStream[i])) != 0) {
- return true;
- }
- }
- }
- return false;
-}
-
// Register the send codec to be used.
int32_t
VideoCodingModuleImpl::RegisterSendCodec(const VideoCodec* sendCodec,
@@ -386,18 +329,13 @@ VideoCodingModuleImpl::RegisterSendCodec(const VideoCodec* sendCodec,
{
return VCM_PARAMETER_ERROR;
}
-
- bool requires_reconfigure = RequiresEncoderReset(*sendCodec);
-
- if (!_codecDataBase.RegisterSendCodec(sendCodec, numberOfCores,
- maxPayloadSize)) {
+ bool ret = _codecDataBase.RegisterSendCodec(sendCodec, numberOfCores,
+ maxPayloadSize);
+ if (!ret)
+ {
return -1;
}
- if (!requires_reconfigure) {
- return VCM_OK;
- }
-
_encoder = _codecDataBase.GetEncoder(sendCodec, &_encodedFrameCallback);
if (_encoder == NULL)
{
diff --git a/modules/video_coding/main/source/video_coding_impl.h b/modules/video_coding/main/source/video_coding_impl.h
index a2338b25..0ffc14f0 100644
--- a/modules/video_coding/main/source/video_coding_impl.h
+++ b/modules/video_coding/main/source/video_coding_impl.h
@@ -279,13 +279,13 @@ public:
protected:
int32_t Decode(const webrtc::VCMEncodedFrame& frame);
- bool RequiresEncoderReset(const VideoCodec& send_codec);
int32_t RequestKeyFrame();
- int32_t RequestSliceLossIndication(const uint64_t pictureID) const;
+ int32_t RequestSliceLossIndication(
+ const uint64_t pictureID) const;
int32_t NackList(uint16_t* nackList, uint16_t& size);
private:
- int32_t _id;
+ int32_t _id;
Clock* clock_;
CriticalSectionWrapper* _receiveCritSect;
bool _receiverInited;