Implement SimulcastEncoderAdapter support.

R=stefan@webrtc.org
BUG=1788

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8061 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
pbos@webrtc.org
2015-01-14 16:26:23 +00:00
parent 8315d7de85
commit f18fba2f7b
10 changed files with 113 additions and 42 deletions

View File

@ -116,9 +116,8 @@ struct ScreenshareTemporalLayersFactory : webrtc::TemporalLayers::Factory {
namespace webrtc {
SimulcastEncoderAdapter::SimulcastEncoderAdapter(
scoped_ptr<VideoEncoderFactory> factory)
: factory_(factory.Pass()), encoded_complete_callback_(NULL) {
SimulcastEncoderAdapter::SimulcastEncoderAdapter(VideoEncoderFactory* factory)
: factory_(factory), encoded_complete_callback_(NULL) {
memset(&codec_, 0, sizeof(webrtc::VideoCodec));
}

View File

@ -33,8 +33,7 @@ class VideoEncoderFactory {
class SimulcastEncoderAdapter : public VP8Encoder,
public EncodedImageCallback {
public:
explicit SimulcastEncoderAdapter(scoped_ptr<VideoEncoderFactory> factory);
explicit SimulcastEncoderAdapter(VideoEncoderFactory* factory);
virtual ~SimulcastEncoderAdapter();
// Implements VideoEncoder

View File

@ -171,8 +171,7 @@ class TestSimulcastEncoderAdapterFakeHelper {
// Can only be called once as the SimulcastEncoderAdapter will take the
// ownership of |factory_|.
VP8Encoder* CreateMockEncoderAdapter() {
scoped_ptr<VideoEncoderFactory> scoped_factory(factory_);
return new SimulcastEncoderAdapter(scoped_factory.Pass());
return new SimulcastEncoderAdapter(factory_);
}
void ExpectCallSetChannelParameters(uint32_t packetLoss, int64_t rtt) {

View File

@ -32,8 +32,7 @@ class VP8EncoderImplFactory : public VideoEncoderFactory {
VP8Encoder* VP8Encoder::Create() {
if (VP8EncoderFactoryConfig::use_simulcast_adapter()) {
scoped_ptr<VideoEncoderFactory> factory(new VP8EncoderImplFactory());
return new SimulcastEncoderAdapter(factory.Pass());
return new SimulcastEncoderAdapter(new VP8EncoderImplFactory());
} else {
return new VP8EncoderImpl();
}