webrtc/webrtc/video_engine/vie_external_codec_impl.h
stefan@webrtc.org fcd8585874 Enable external encoders with internal picture source.
CL enables registering of external encoder with internal picture
source on API by adding simple passthrough parameter that is already
supported within video engine.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3344 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-09 08:35:40 +00:00

52 lines
1.9 KiB
C++

/*
* Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef WEBRTC_VIDEO_ENGINE_VIE_EXTERNAL_CODEC_IMPL_H_
#define WEBRTC_VIDEO_ENGINE_VIE_EXTERNAL_CODEC_IMPL_H_
#include "video_engine/include/vie_external_codec.h"
#include "video_engine/vie_ref_count.h"
namespace webrtc {
class ViESharedData;
class ViEExternalCodecImpl
: public ViEExternalCodec,
public ViERefCount {
public:
// Implements ViEExternalCodec.
virtual int Release();
virtual int RegisterExternalSendCodec(const int video_channel,
const unsigned char pl_type,
VideoEncoder* encoder,
bool internal_source = false);
virtual int DeRegisterExternalSendCodec(const int video_channel,
const unsigned char pl_type);
virtual int RegisterExternalReceiveCodec(const int video_channel,
const unsigned int pl_type,
VideoDecoder* decoder,
bool decoder_render = false,
int render_delay = 0);
virtual int DeRegisterExternalReceiveCodec(const int video_channel,
const unsigned char pl_type);
protected:
explicit ViEExternalCodecImpl(ViESharedData* shared_data);
virtual ~ViEExternalCodecImpl();
private:
ViESharedData* shared_data_;
};
} // namespace webrtc
#endif // WEBRTC_VIDEO_ENGINE_VIE_EXTERNAL_CODEC_IMPL_H_