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:
@ -118,7 +118,6 @@ VideoSendStream::VideoSendStream(
|
|||||||
config_(config),
|
config_(config),
|
||||||
suspended_ssrcs_(suspended_ssrcs),
|
suspended_ssrcs_(suspended_ssrcs),
|
||||||
channel_group_(channel_group),
|
channel_group_(channel_group),
|
||||||
external_codec_(nullptr),
|
|
||||||
channel_(-1),
|
channel_(-1),
|
||||||
use_config_bitrate_(true),
|
use_config_bitrate_(true),
|
||||||
stats_proxy_(Clock::GetRealTimeClock(), config) {
|
stats_proxy_(Clock::GetRealTimeClock(), config) {
|
||||||
@ -203,10 +202,10 @@ VideoSendStream::VideoSendStream(
|
|||||||
DCHECK(config.encoder_settings.encoder != nullptr);
|
DCHECK(config.encoder_settings.encoder != nullptr);
|
||||||
DCHECK_GE(config.encoder_settings.payload_type, 0);
|
DCHECK_GE(config.encoder_settings.payload_type, 0);
|
||||||
DCHECK_LE(config.encoder_settings.payload_type, 127);
|
DCHECK_LE(config.encoder_settings.payload_type, 127);
|
||||||
external_codec_ = ViEExternalCodec::GetInterface(video_engine);
|
// TODO(pbos): Wire up codec internal-source setting or remove setting.
|
||||||
CHECK_EQ(0, external_codec_->RegisterExternalSendCodec(
|
CHECK_EQ(0, vie_encoder_->RegisterExternalEncoder(
|
||||||
channel_, config.encoder_settings.payload_type,
|
config.encoder_settings.encoder,
|
||||||
config.encoder_settings.encoder, false));
|
config.encoder_settings.payload_type, false));
|
||||||
|
|
||||||
codec_ = ViECodec::GetInterface(video_engine);
|
codec_ = ViECodec::GetInterface(video_engine);
|
||||||
CHECK(ReconfigureVideoEncoder(encoder_config));
|
CHECK(ReconfigureVideoEncoder(encoder_config));
|
||||||
@ -257,8 +256,8 @@ VideoSendStream::~VideoSendStream() {
|
|||||||
capture_->DisconnectCaptureDevice(channel_);
|
capture_->DisconnectCaptureDevice(channel_);
|
||||||
capture_->ReleaseCaptureDevice(capture_id_);
|
capture_->ReleaseCaptureDevice(capture_id_);
|
||||||
|
|
||||||
external_codec_->DeRegisterExternalSendCodec(
|
vie_encoder_->DeRegisterExternalEncoder(
|
||||||
channel_, config_.encoder_settings.payload_type);
|
config_.encoder_settings.payload_type);
|
||||||
|
|
||||||
video_engine_base_->DeleteChannel(channel_);
|
video_engine_base_->DeleteChannel(channel_);
|
||||||
|
|
||||||
@ -266,8 +265,6 @@ VideoSendStream::~VideoSendStream() {
|
|||||||
video_engine_base_->Release();
|
video_engine_base_->Release();
|
||||||
capture_->Release();
|
capture_->Release();
|
||||||
codec_->Release();
|
codec_->Release();
|
||||||
if (external_codec_)
|
|
||||||
external_codec_->Release();
|
|
||||||
network_->Release();
|
network_->Release();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,7 +92,6 @@ class VideoSendStream : public webrtc::VideoSendStream,
|
|||||||
ViECodec* codec_;
|
ViECodec* codec_;
|
||||||
ViEEncoder* vie_encoder_;
|
ViEEncoder* vie_encoder_;
|
||||||
ViEExternalCapture* external_capture_;
|
ViEExternalCapture* external_capture_;
|
||||||
ViEExternalCodec* external_codec_;
|
|
||||||
ViENetwork* network_;
|
ViENetwork* network_;
|
||||||
ViEImageProcess* image_process_;
|
ViEImageProcess* image_process_;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user