Remove ViEExternalCodec usage in VideoSendStream.

Replaces interface usage with direct calls on ViEEncoder removing a
layer of indirection.

BUG=1695
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49179004

Cr-Commit-Position: refs/heads/master@{#9095}
This commit is contained in:
Peter Boström
2015-04-28 11:58:44 +02:00
parent 4a9cb6b67d
commit 038df3c5d7
2 changed files with 6 additions and 10 deletions

View File

@ -118,7 +118,6 @@ VideoSendStream::VideoSendStream(
config_(config),
suspended_ssrcs_(suspended_ssrcs),
channel_group_(channel_group),
external_codec_(nullptr),
channel_(-1),
use_config_bitrate_(true),
stats_proxy_(Clock::GetRealTimeClock(), config) {
@ -203,10 +202,10 @@ VideoSendStream::VideoSendStream(
DCHECK(config.encoder_settings.encoder != nullptr);
DCHECK_GE(config.encoder_settings.payload_type, 0);
DCHECK_LE(config.encoder_settings.payload_type, 127);
external_codec_ = ViEExternalCodec::GetInterface(video_engine);
CHECK_EQ(0, external_codec_->RegisterExternalSendCodec(
channel_, config.encoder_settings.payload_type,
config.encoder_settings.encoder, false));
// TODO(pbos): Wire up codec internal-source setting or remove setting.
CHECK_EQ(0, vie_encoder_->RegisterExternalEncoder(
config.encoder_settings.encoder,
config.encoder_settings.payload_type, false));
codec_ = ViECodec::GetInterface(video_engine);
CHECK(ReconfigureVideoEncoder(encoder_config));
@ -257,8 +256,8 @@ VideoSendStream::~VideoSendStream() {
capture_->DisconnectCaptureDevice(channel_);
capture_->ReleaseCaptureDevice(capture_id_);
external_codec_->DeRegisterExternalSendCodec(
channel_, config_.encoder_settings.payload_type);
vie_encoder_->DeRegisterExternalEncoder(
config_.encoder_settings.payload_type);
video_engine_base_->DeleteChannel(channel_);
@ -266,8 +265,6 @@ VideoSendStream::~VideoSendStream() {
video_engine_base_->Release();
capture_->Release();
codec_->Release();
if (external_codec_)
external_codec_->Release();
network_->Release();
}

View File

@ -92,7 +92,6 @@ class VideoSendStream : public webrtc::VideoSendStream,
ViECodec* codec_;
ViEEncoder* vie_encoder_;
ViEExternalCapture* external_capture_;
ViEExternalCodec* external_codec_;
ViENetwork* network_;
ViEImageProcess* image_process_;