(Auto)update libjingle 63837929-> 63884381

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5800 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
wu@webrtc.org
2014-03-27 17:03:58 +00:00
parent 6b17be0bf8
commit cfe5e9c894
7 changed files with 54 additions and 8 deletions

View File

@ -86,6 +86,12 @@ const char MediaConstraintsInterface::kCpuOveruseThreshold[] =
"googCpuOveruseThreshold";
const char MediaConstraintsInterface::kCpuOveruseEncodeUsage[] =
"googCpuOveruseEncodeUsage";
const char MediaConstraintsInterface::kHighStartBitrate[] =
"googHighStartBitrate";
const char MediaConstraintsInterface::kHighBitrate[] =
"googHighBitrate";
const char MediaConstraintsInterface::kVeryHighBitrate[] =
"googVeryHighBitrate";
// Constraint keys for CreateOffer / CreateAnswer defined in W3C specification.
const char MediaConstraintsInterface::kOfferToReceiveAudio[] =

View File

@ -100,6 +100,9 @@ class MediaConstraintsInterface {
static const char kCpuUnderuseThreshold[];
static const char kCpuOveruseThreshold[];
static const char kCpuOveruseEncodeUsage[];
static const char kHighStartBitrate[]; // googHighStartBitrate
static const char kHighBitrate[]; // googHighBitrate
static const char kVeryHighBitrate[]; // googVeryHighBitrate
// Constraint keys for CreateOffer / CreateAnswer
// Specified by the W3C PeerConnection spec

View File

@ -578,6 +578,30 @@ bool WebRtcSession::Initialize(
video_options_.use_improved_wifi_bandwidth_estimator.Set(value);
}
if (FindConstraint(
constraints,
MediaConstraintsInterface::kHighStartBitrate,
&value,
NULL)) {
video_options_.video_start_bitrate.Set(cricket::kHighStartBitrate);
}
if (FindConstraint(
constraints,
MediaConstraintsInterface::kVeryHighBitrate,
&value,
NULL)) {
video_options_.video_highest_bitrate.Set(
cricket::VideoOptions::VERY_HIGH);
} else if (FindConstraint(
constraints,
MediaConstraintsInterface::kHighBitrate,
&value,
NULL)) {
video_options_.video_highest_bitrate.Set(
cricket::VideoOptions::HIGH);
}
const cricket::VideoCodec default_codec(
JsepSessionDescription::kDefaultVideoCodecId,
JsepSessionDescription::kDefaultVideoCodecName,

View File

@ -62,6 +62,7 @@ class VideoRenderer;
const int kMinRtpHeaderExtensionId = 1;
const int kMaxRtpHeaderExtensionId = 255;
const int kScreencastDefaultFps = 5;
const int kHighStartBitrate = 1500;
// Used in AudioOptions and VideoOptions to signify "unset" values.
template <class T>
@ -441,7 +442,7 @@ struct VideoOptions {
// Enable WebRTC leaky bucket when sending media packets.
Settable<bool> video_leaky_bucket;
// Set highest bitrate mode for video.
Settable<int> video_highest_bitrate;
Settable<HighestBitrate> video_highest_bitrate;
// Enable WebRTC Cpu Overuse Detection, which is a new version of the CPU
// adaptation algorithm. So this option will override the
// |adapt_input_to_cpu_usage|.

View File

@ -36,6 +36,7 @@
#include <set>
#include "talk/base/basictypes.h"
#include "talk/base/bind.h"
#include "talk/base/buffer.h"
#include "talk/base/byteorder.h"
#include "talk/base/common.h"
@ -3088,8 +3089,18 @@ bool WebRtcVideoMediaChannel::GetVideoAdapter(
return true;
}
void WebRtcVideoMediaChannel::OnFrameFromCapturer(VideoCapturer* capturer,
const VideoFrame* frame) {
// This method is called from the capturer thread while the rest of the
// WebRtcVideoMediaChannel is run on the worker thread.
engine_->worker_thread()->Invoke<void>(
Bind(&WebRtcVideoMediaChannel::SendFrame, this, capturer, frame));
}
void WebRtcVideoMediaChannel::SendFrame(VideoCapturer* capturer,
const VideoFrame* frame) {
// TODO(ronghuawu): Reenable once webrtc 3125 is fixed.
// ASSERT(engine_->worker_thread() == talk_base::Thread::Current());
// If the |capturer| is registered to any send channel, then send the frame
// to those send channels.
bool capturer_is_channel_owned = false;
@ -4037,8 +4048,8 @@ bool WebRtcVideoMediaChannel::SetLocalRtxSsrc(int channel_id,
void WebRtcVideoMediaChannel::MaybeConnectCapturer(VideoCapturer* capturer) {
if (capturer != NULL && GetSendChannelNum(capturer) == 1) {
capturer->SignalVideoFrame.connect(this,
&WebRtcVideoMediaChannel::SendFrame);
capturer->SignalVideoFrame.connect(
this, &WebRtcVideoMediaChannel::OnFrameFromCapturer);
}
}

View File

@ -292,9 +292,7 @@ class WebRtcVideoMediaChannel : public talk_base::MessageHandler,
uint32 send_ssrc() const { return 0; }
bool GetRenderer(uint32 ssrc, VideoRenderer** renderer);
bool GetVideoAdapter(uint32 ssrc, CoordinatedVideoAdapter** video_adapter);
void SendFrame(VideoCapturer* capturer, const VideoFrame* frame);
bool SendFrame(WebRtcVideoChannelSendInfo* channel_info,
const VideoFrame* frame, bool is_screencast);
void OnFrameFromCapturer(VideoCapturer* capturer, const VideoFrame* frame);
// Thunk functions for use with HybridVideoEngine
void OnLocalFrame(VideoCapturer* capturer, const VideoFrame* frame) {
@ -416,6 +414,9 @@ class WebRtcVideoMediaChannel : public talk_base::MessageHandler,
// to one send channel, i.e. the last send channel.
void MaybeDisconnectCapturer(VideoCapturer* capturer);
void SendFrame(VideoCapturer* capturer, const VideoFrame* frame);
bool SendFrame(WebRtcVideoChannelSendInfo* channel_info,
const VideoFrame* frame, bool is_screencast);
bool RemoveRecvStreamInternal(uint32 ssrc);
// Global state.

View File

@ -128,7 +128,7 @@ class WebRtcVideoEngineTestFake : public testing::Test,
return false;
}
cricket::FakeVideoCapturer capturer;
channel_->SendFrame(&capturer, &frame);
channel_->OnFrameFromCapturer(&capturer, &frame);
return true;
}
bool SendI420ScreencastFrame(int width, int height) {
@ -145,7 +145,7 @@ class WebRtcVideoEngineTestFake : public testing::Test,
}
cricket::FakeVideoCapturer capturer;
capturer.SetScreencast(true);
channel_->SendFrame(&capturer, &frame);
channel_->OnFrameFromCapturer(&capturer, &frame);
return true;
}
void VerifyCodecFeedbackParams(const cricket::VideoCodec& codec) {