Improve logging and add DCHECKs in codec database.
BUG= R=mflodman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/47719004 Cr-Commit-Position: refs/heads/master@{#8842} git-svn-id: http://webrtc.googlecode.com/svn/trunk@8842 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
eebcab5ce9
commit
0b52cebd28
@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
|
#include "webrtc/base/checks.h"
|
||||||
#include "webrtc/engine_configurations.h"
|
#include "webrtc/engine_configurations.h"
|
||||||
#ifdef VIDEOCODEC_I420
|
#ifdef VIDEOCODEC_I420
|
||||||
#include "webrtc/modules/video_coding/codecs/i420/main/interface/i420.h"
|
#include "webrtc/modules/video_coding/codecs/i420/main/interface/i420.h"
|
||||||
@ -236,25 +237,15 @@ bool VCMCodecDataBase::SetSendCodec(
|
|||||||
int number_of_cores,
|
int number_of_cores,
|
||||||
size_t max_payload_size,
|
size_t max_payload_size,
|
||||||
VCMEncodedFrameCallback* encoded_frame_callback) {
|
VCMEncodedFrameCallback* encoded_frame_callback) {
|
||||||
if (!send_codec) {
|
DCHECK(send_codec);
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (max_payload_size == 0) {
|
if (max_payload_size == 0) {
|
||||||
max_payload_size = kDefaultPayloadSize;
|
max_payload_size = kDefaultPayloadSize;
|
||||||
}
|
}
|
||||||
if (number_of_cores <= 0) {
|
DCHECK_GE(number_of_cores, 1);
|
||||||
return false;
|
DCHECK_GE(send_codec->plType, 1);
|
||||||
}
|
|
||||||
if (send_codec->plType <= 0) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
// Make sure the start bit rate is sane...
|
// Make sure the start bit rate is sane...
|
||||||
if (send_codec->startBitrate > 1000000) {
|
DCHECK_LE(send_codec->startBitrate, 1000000u);
|
||||||
return false;
|
DCHECK(send_codec->codecType != kVideoCodecUnknown);
|
||||||
}
|
|
||||||
if (send_codec->codecType == kVideoCodecUnknown) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
bool reset_required = pending_encoder_reset_;
|
bool reset_required = pending_encoder_reset_;
|
||||||
if (number_of_cores_ != number_of_cores) {
|
if (number_of_cores_ != number_of_cores) {
|
||||||
number_of_cores_ = number_of_cores;
|
number_of_cores_ = number_of_cores;
|
||||||
@ -289,6 +280,7 @@ bool VCMCodecDataBase::SetSendCodec(
|
|||||||
if (!reset_required) {
|
if (!reset_required) {
|
||||||
encoded_frame_callback->SetPayloadType(send_codec->plType);
|
encoded_frame_callback->SetPayloadType(send_codec->plType);
|
||||||
if (ptr_encoder_->RegisterEncodeCallback(encoded_frame_callback) < 0) {
|
if (ptr_encoder_->RegisterEncodeCallback(encoded_frame_callback) < 0) {
|
||||||
|
LOG(LS_ERROR) << "Failed to register encoded-frame callback.";
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@ -304,17 +296,18 @@ bool VCMCodecDataBase::SetSendCodec(
|
|||||||
} else {
|
} else {
|
||||||
ptr_encoder_ = CreateEncoder(send_codec->codecType);
|
ptr_encoder_ = CreateEncoder(send_codec->codecType);
|
||||||
current_enc_is_external_ = false;
|
current_enc_is_external_ = false;
|
||||||
if (!ptr_encoder_) {
|
if (!ptr_encoder_)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
encoded_frame_callback->SetPayloadType(send_codec->plType);
|
encoded_frame_callback->SetPayloadType(send_codec->plType);
|
||||||
if (ptr_encoder_->InitEncode(send_codec,
|
if (ptr_encoder_->InitEncode(send_codec,
|
||||||
number_of_cores_,
|
number_of_cores_,
|
||||||
max_payload_size_) < 0) {
|
max_payload_size_) < 0) {
|
||||||
|
LOG(LS_ERROR) << "Failed to initialize video encoder.";
|
||||||
DeleteEncoder();
|
DeleteEncoder();
|
||||||
return false;
|
return false;
|
||||||
} else if (ptr_encoder_->RegisterEncodeCallback(encoded_frame_callback) < 0) {
|
} else if (ptr_encoder_->RegisterEncodeCallback(encoded_frame_callback) < 0) {
|
||||||
|
LOG(LS_ERROR) << "Failed to register encoded-frame callback.";
|
||||||
DeleteEncoder();
|
DeleteEncoder();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -139,8 +139,8 @@ int32_t VideoSender::RegisterSendCodec(const VideoCodec* sendCodec,
|
|||||||
current_codec_ = *sendCodec;
|
current_codec_ = *sendCodec;
|
||||||
|
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
LOG(LS_ERROR) << "Failed to initialize the encoder with payload name "
|
LOG(LS_ERROR) << "Failed to initialize set encoder with payload name '"
|
||||||
<< sendCodec->plName << ". Error code: " << ret;
|
<< sendCodec->plName << "'.";
|
||||||
return VCM_CODEC_ERROR;
|
return VCM_CODEC_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user