Commit Graph

8589 Commits

Author SHA1 Message Date
Karl Wiberg
8bb6ea3da9 Reset speech encoder before hooking it up to RED or CNG
Commit 7e0c7d49 ("Add support for external encoders in ACM") changed
things around so that we no longer recreate the speech encoder when
adding CNG or RED to an existing encoder. This isn't correct, since
those two expect to be in sync with the speech encoder they work with.
Solve the problem by resetting the speech encoder before hooking in
RED or CNG.

BUG=crbug/490368
R=jmarusic@webrtc.org
TBR=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9307}
2015-05-28 11:37:27 +00:00
Henrik Lundin
8051832a9d Adding a new Matlab tool rtpAnalyze
The purpose of the tool is to analyze the output from the command line
tool rtp_analyze. That is, starting with an rtpdump or pcap file, it
is processed through rtp_analyze to produce a text output, which is
then used as input to this new Matlab function.

BUG=2692
TBR=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9306}
2015-05-28 10:37:56 +00:00
Henrik Boström
3b187b9c0c Removed unnecessary includes of webrtcvideocapturer.h
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9305}
2015-05-28 09:43:45 +00:00
Erik Språng
11beccd712 Remove external report blocks from RtcpSender and rtp_rtcp interface.
Feature does not seem to be used and complicates other refactoring of
the rtcp module.

BUG=
R=asapersson@webrtc.org, henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9304}
2015-05-28 09:10:34 +00:00
Peter Boström
23c2e55479 Remove remaining .mk files.
These files are not supported, kept up to date or likely to build
anymore.

BUG=
R=glaznev@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9303}
2015-05-28 09:05:11 +00:00
Andrew MacDonald
b444b3f0ff Redirect logs to stderr in audioproc_f.
Notably, this displays logs from the AGC.

Also add a "time per chunk" field to the perf output.

R=aluebs@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9302}
2015-05-28 00:26:12 +00:00
Michael Graczyk
9b720f7016 Add GetChunkLength to LappedTransform.
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9301}
2015-05-28 00:09:56 +00:00
Joachim Bauch
fec2c6d7eb Prevent potential double-free if srtp_create fails.
If srtp_create fails while adding streams, it deallocates the session
but doesn't clear the passed pointer which then could lead to a
double-free in the SrtpSession dtor.

The CL also adds locking for libsrtp initialization / shutdown.

BUG=4042
R=jiayl@webrtc.org, juberti@google.com, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9300}
2015-05-27 21:41:52 +00:00
Henrik Kjellander
10602605f8 Added buildbucket bucket definitions
Added definitions of buildbucket buckets used by webrtc project.

R=kjellander@webrtc.org, kjellander@chromium.org, sergiyb@chromium.org
TBR=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9299}
2015-05-27 21:01:51 +00:00
Tommi
92fbbb21f8 Switch acm_receiver over to using base/logging.h
BUG=
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9298}
2015-05-27 20:07:46 +00:00
Noah Richards
9303eaf512 Don't unnecessarily set mode/category on AVAudioSession.
Doing so clears transient properties on the session back to defaults.

BUG=
R=tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9297}
2015-05-27 17:24:00 +00:00
Peter Boström
def39883f0 Configure default render delay as 10 ms.
BUG=chromium:488395
R=mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9296}
2015-05-27 15:59:21 +00:00
Henrik Lundin
cf808d2366 Add new fast mode for NetEq's Accelerate operation
This change instroduces a mode where the Accelerate operation will be
more aggressive. When enabled, it will allow acceleration at lower
correlation levels, and possibly remove multiple pitch periods at
once.

The feature is enabled through NetEq::Config, and is off by
default. This means that bit-exactness tests are currently not
affected.

A unit test was added for the Accelerate class, with and without fast
mode enabled.

BUG=4691
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9295}
2015-05-27 12:33:39 +00:00
Henrik Boström
cbe408aa11 WebRtcVideoCapturer: Getting rid of the |critical_section_stopping_| lock and all of its critical sections.
This avoids a deadlock in WebRtcVideoCapturer.
The deadlock could occur because OnIncomingFrame() has the |critical_section_stopping_| lock, which could block a Stop() on the |start_thread_|. When OnIncomingFrame() then tries to do synchronous invoke on |start_thread_| (before releasing said lock) we have a deadlock.

BUG=4670
R=magjed@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9294}
2015-05-27 08:11:38 +00:00
Minyue Li
c065cc797d Clarify boolean flags in neteq_opus_quality_test.
Note that the use of boolean flags in gflags is a bit unnatural. For setting a boolean flag to false: putting "no" in front of its name (see http://gflags.github.io/gflags/)

We make this clearer by defaulting boolean flags to false, and clarifying it in the description.

BUG=
R=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9293}
2015-05-27 08:01:18 +00:00
Henrik Lundin
c13cacbb39 Remove an unused method in NetEq::Expand
TBR=ivoc@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9292}
2015-05-27 07:23:53 +00:00
Bjorn Volcker
de4703c5d1 Refactor common_audio/vad: Create now returns the handle directly instead of an error code
Changed the WebRtcVad_Create() function to the more conventional format of returning the handle directly instead of an error code to take care of.
In addition NULL was changed to nullptr in the files where it applied.

Affected components:
* AGC
* VAD
* NetEQ

BUG=441, 3347
TESTED=locally on Linux and trybots
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9291}
2015-05-27 05:23:11 +00:00
Minyue
afef4bfd1c Reland "Adding a test framework for conference mode application in VoE."
"Adding a test framework for conference mode application in VoE." was wrongly committed and therefore was temporarily reverted.

This is to reland.

The CL is indifferent from its original version
https://review.webrtc.org/46249004/

TBR=phoglund@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#9290}
2015-05-26 22:21:25 +00:00
Minyue
a4b7e5e35a Revert "Adding a test framework for conference mode application in VoE."
This reverts commit fc052055e9.
since it was not committed correctly.

I committed it from a wrong machine, which did not have the correct patch.

BUG=
TBR=phoglund@webrtc.org,

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

Cr-Commit-Position: refs/heads/master@{#9289}
2015-05-26 21:21:55 +00:00
Wan-Teh Chang
6a1ba8c17f Fix coding style nits.
uint32_t parameters don't need to be passed by reference. The
VCMJitterBuffer destructor doesn't need to be virtual because the
class has no virtual methods.

R=stefan@webrtc.org
BUG=none

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

Cr-Commit-Position: refs/heads/master@{#9288}
2015-05-26 21:11:46 +00:00
Stefan Holmer
e87d48719f Fix ARM64 detection for VP8 and VP9 wrappers.
BUG=4702
R=marpan@google.com, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9287}
2015-05-26 20:10:38 +00:00
Minyue
fc052055e9 Adding a test framework for conference mode application in VoE.
BUG=
R=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9286}
2015-05-26 19:00:50 +00:00
Guo-wei Shieh
5d55c98cd2 WebRTC 4521: Remove usage of deprecated timezone global variable
BUG=4521
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9285}
2015-05-26 18:53:39 +00:00
Henrik Kjellander
8d3ad82d30 Script for auto-rolling chromium_revision in DEPS.
The previous script only looked up the LKGR and generated a
commit message. This CL renames the script and makes it update
the DEPS file, commit locally, upload CL and send tryjobs.

BUG=4688
R=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9284}
2015-05-26 17:52:10 +00:00
Peter Boström
5a3ebd761c Revert "Remove default encoder/decoders."
This reverts commit 78ae00eea2 due to perf
regressions. Reverting during investigation to figure out root causes.

BUG=chromium:491112
R=henrik.lundin@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9283}
2015-05-26 09:44:14 +00:00
Brave Yao
e14e5f4468 Solve TSan warning about unlocking an unlocked mutex.
In my previous cl, https://webrtc-codereview.appspot.com/52479004/, there is 'UnLock()' left when we switched to scoped lock, which will cause TSan warning sometimes.
===========================================================
WARNING: ThreadSanitizer: unlock of an unlocked mutex (or by a wrong thread) (pid=9981)
#0 pthread_mutex_unlock <null> (libjingle_peerconnection_unittest+0x00000046836f)
#1 webrtc::CriticalSectionPosix::Leave() webrtc/system_wrappers/source/critical_section_posix.cc:39:10 (libjingle_peerconnection_unittest+0x000000bc368d)
#2 ~CriticalSectionScoped webrtc/system_wrappers/interface/critical_section_wrapper.h:46:48 (libjingle_peerconnection_unittest+0x000000a61fcb)
#3 webrtc::AudioDeviceLinuxPulse::RecThreadProcess() webrtc/modules/audio_device/linux/audio_device_pulse_linux.cc:3003 (libjingle_peerconnection_unittest+0x000000a61fcb)
===========================================================

BUG=3056
TEST=bots
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9282}
2015-05-26 08:29:27 +00:00
Jelena Marusic
f09e09c7ee VoE: Remove unused interfaces
BUG=4690

I have removed methods in VoE interfaces that were marked to be removed. I have removed them also in fake and mock implementations. I have also updated the callers in various ways:
1. Project win_test had some calls to the removed methods, but it turned out that the project is not used anymore, so I removed it entirely.
2. There were some calls to removed methods in jni methods. I have removed couple of jni methods as now they seem to do nothing.
3. With the remaining callers I just removed the calls to removed methods.

R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9281}
2015-05-26 08:25:00 +00:00
Tommi
32c2023fb6 Attempt at fixing error on the Chrome Windows FYI bots.
It looks like our basictypes.h file in the overrides folder is including the file it is overriding due to include path precedence (Chrome's is lower than WebRTCs).

TBR=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9280}
2015-05-25 19:22:23 +00:00
Henrik Lundin
905495cfaa Introduce NetEq::Config::ToString and use it in NetEq's constructor
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9279}
2015-05-25 14:58:46 +00:00
Henrik Kjellander
e982a70ae3 PRESUBMIT: Fix typo.
In https://webrtc-codereview.appspot.com/50069004/
the regex for Mac trybots became invalid. This fixes it.

TBR=phoglund@webrtc.org
TESTED=Ran 'git cl try --bot=mac_x64_gn'

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

Cr-Commit-Position: refs/heads/master@{#9278}
2015-05-25 14:34:00 +00:00
Peter Boström
54be3e0049 Remove some WebRtcVideoEngine2 unittest stubs.
Also contains some cleanup/typo fixes.

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9277}
2015-05-25 13:04:33 +00:00
Karl Wiberg
d8399e630f Also provide sample rate when registering decoders
This replaces the old practice of looking up the sample rate in a
table, which won't work when we add support for external decoders.

COAUTHOR=henrik.lundin@webrtc.org
BUG=4474
R=jmarusic@webrtc.org, minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9276}
2015-05-25 12:40:05 +00:00
Minyue
323b132f5e Protect ACM decoder buffer in stereo.
In https://code.google.com/p/webrtc/source/detail?r=8730, I did a protection on ACM decoder buffer from being overflow.

However, the I misunderstood the return unit for PacketDuration(), and therefore, stereo decoders are not well protected.

This CL fixed this.

BUG=4361
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9275}
2015-05-25 11:49:45 +00:00
Henrik Kjellander
57e5fd2e60 PRESUBMIT: Improve PyLint check and add GN format check.
Add pylintrc file based on
https://code.google.com/p/chromium/codesearch#chromium/src/tools/perf/pylintrc
bit tightened up quite a bit (the one in depot_tools is far
more relaxed).

Remove a few excluded directories from pylint check and fixed/
suppressed all warnings generated.

Add GN format check + formatted all GN files using 'gn format'.
Cleanup redundant rules in tools/PRESUBMIT.py

TESTED=Ran 'git cl presubmit -vv', fixed the PyLint violations.
Ran it again with a modification in webrtc/build/webrtc.gni, formatted
all the GN files and ran it again.

R=henrika@webrtc.org, phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9274}
2015-05-25 10:55:50 +00:00
Tommi
00aac5aacf Some cleanup for base/logging and base/stream.h
* Fix race when calling UpdateMinLogSeverity
* Remove unused 'diagnostic mode'
* Remove LogToStream
* Fix ctor of StringStream
* Delete POpenStream
* Delete AsyncWriteStream
* Delete CircularFileStream
* Delete StreamSegment

BUG=
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9273}
2015-05-25 09:26:08 +00:00
Tommi
23edcff7a9 Move base/logging.* to rtc_base_approved.
BUG=
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9272}
2015-05-25 08:45:51 +00:00
henrika
ee369e4277 Refactoring of AudioTrackJni and AudioRecordJni using new JVM/JNI classes
BUG=NONE
TEST=./webrtc/build/android/test_runner.py gtest -s modules_unittests --gtest_filter=AudioDevice*
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9271}
2015-05-25 08:11:38 +00:00
Henrik Kjellander
a26c4e5df6 Script to generate CL descriptions when rolling chromium_revision.
Having nice CL descriptions that explains what a roll of
chromium_revision in WebRTC's DEPS file actually changes is
useful to save time tracing down breakages.
This script can be used to generate such CL descriptions.
In the future it might be used for a complete auto-rolling
solution for this.

BUG=4688
R=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9270}
2015-05-23 09:55:46 +00:00
Tommi
0eefb4d5c3 Detach base/logging.* from base/stream.*.
This is being done in preparation of moving base/logging.* to rtc_base_approved. base/stream.* has libjingle dependencies that webrtc can't use, so logging.* can't depend on streams. It does look like stream.* isn't used much, so cleaning that up as well as cleaning up usage of the actual stream support (now LogStream) in the logging code, is in order, but I'll leave that to another cl.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9269}
2015-05-23 07:54:19 +00:00
Andrew MacDonald
469c2c04aa Make Config::default_value leak instead of having an exit-time destructor.
I wanted to use Config::Get in Chromium code, but it triggered the following
warning:
../../third_party/webrtc/common.h:89:20: error: declaration requires an exit-time destructor [-Werror,-Wexit-time-destructors]
    static const T def;
                   ^
../../third_party/webrtc/common.h:110:10: note: in instantiation of function template specialization requested here
  return default_value<T>();
         ^

I assume we don't hit this in webrtc because the warning is disabled.

This also switches to the RTC_ prefix from the deprecated LIBJINGLE_.

Needed due to this Chromium CL:
https://codereview.chromium.org/1148843004/

R=andresp@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9268}
2015-05-23 00:50:33 +00:00
Alejandro Luebs
4bf12eafba Revert "Fix sending wrong candidates down to transportchannel."
This reverts commit f65de8483e.

It was breaking the build bots: http://build.chromium.org/p/client.webrtc/builders/Win%20DrMemory%20Light/builds/3062

TBR=decurtis

BUG=

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

Cr-Commit-Position: refs/heads/master@{#9267}
2015-05-22 22:32:51 +00:00
Donald Curtis
f65de8483e Fix sending wrong candidates down to transportchannel.
BUG=4665
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9266}
2015-05-22 21:55:26 +00:00
Noah Richards
67b635a47e Fix simulcast_encoder_adapter giving full target_bitrate to the 2nd layer of any simulcast setup during InitEncode.
BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9265}
2015-05-22 21:12:15 +00:00
Noah Richards
e4cb4e9aae Fix jitter buffer bug around out-of-order packets and non-RTX padding.
tl;dr - non-continuous frames (due to padding) would get stuck as incomplete if the previous complete frame arrived and was decoded before the padding arrived.This fix re-checks the incomplete frame list for continuous frames after old packets arrive.

When padding is enabled and RTX is not, padding is sent as empty RTP packets tacked onto the end of completed frames (meaning: same timestamp, but after a packet with the marker bit set). Given the following set of circumstances, codified in the new unit test method, a frame can get permanently stuck in the incomplete frames list:

- Frame A decoded (packets 94-95). Next expected sequence number is 96.
- Frame C arrives (packets 100-101) and is marked complete. It isn't continuous, since it starts at 100, so it's placed in the incomplete frame list.
- Frame B arrives (packets 96-97) and is complete, since 97 has a marker bit.  Turns out that packets 98-99 are padding, but the receiver doesn't know that.
- Frame B is decoded, removed from the decodable frames list, and last decoded state is updated.
- Packets 98-99 arrive. They hit the IsOldPacket check and update the last decoded state, but they don't trigger FindAndInsertContinuousFrames.
- Further packets/frames arrive and complete, but FindAndInsertContinuousFrames only runs on frames that are newer than the newly completed frame.

In this state, Frame C is permanently stuck as incomplete, so the jitter buffer overall is stuck until max NACK age (default: 450 packets), the max NACK list size (default: 200 packets), or a keyframe arrives and IsContinuous returns true for the keyframe.

(Before the November refactoring, Frame B wouldn't have to have been decoded for the bug to trigger; just having a complete continuous frame at any time before the padding arrived would cause this state, as FindAndInsertContinuousFrames was only called when the frame originally became continuous and was inserted into the decodable frames list. Post refactoring, the frame is removed/re-added to the decodable list on every padding packet that arrives)

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9264}
2015-05-22 21:03:08 +00:00
Alejandro Luebs
477487410a Enable AudioProcessing48kHzSupport by default
Because of the Finch experiment, this will not affect Chrome's behaviour at all.
The SNRs in AudioProcessingTest.Formats were only increased to the next multiple of 5.

BUG=webrtc:3146
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9263}
2015-05-22 18:59:59 +00:00
Peter Boström
3548dd2154 Set local SSRCs on receivers added before senders.
Addresses bug where a receiver would report SSRC 1 even though the
endpoint has sending streams.

BUG=4678
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9262}
2015-05-22 16:48:13 +00:00
Henrik Lundin
367c868c99 AudioEncoderCng: Handle case where speech encoder is reset
Previously, AudioEncoderCng required the speech encoder to not change
its mind regarding the number of 10 ms frames in the next packet
between calls to AudioEncoderCng::EncodeInternal()---specifically, it
could handle an upward but not a downward adjustment. With this patch,
it can handle a downward adjustment too, by simply saving the
overshoot data for the next call to EncodeInternal().

It will still not handle the case where the encoder's reported number
of 10 ms frames in the next packet is inconsistent with the behavior
of its Encode() function when called with no intervening changes to
the encoder.

R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9261}
2015-05-22 13:13:24 +00:00
Minyue Li
f761d10393 Update NetEq Quality Test.
1. move channel number of input file to the base class

2. limit channel number to be 1, since the resampler support only mono at the moment

3. adding a logging function

4. adding more switch to neteq_opus_quality_test

BUG=2692
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9260}
2015-05-22 09:21:58 +00:00
Henrik Boström
915df4fc30 CaptureManager: Don't stop a capturer at UnregisterVideoCapturer if it did not start in the first place.
This fixes a bug where, if the VideoCapturer failed to start under certain circumstances, the capture manager would cause a callback saying that the capturer stopped even though it never started in the first place. A VERIFY check in VideoSource::SetState would then cause a crash since the state was set to kEnded when it was already in state kEnded (SetState only allows being called when the state changes).

I only noticed this bug while doing a mistake in a separate CL. Not sure how to reliably reproduce said bug on a working build, but I have previously had camera hardware issues where it couldn't start the camera which resulted in the SetState kEnded -> kEnded crash. Hopefully this will fix that.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9259}
2015-05-22 07:43:10 +00:00
Fredrik Solenberg
9a416bd14e Get rid of unnecessary Terminate() method and worker_thread_ from WebRtcVideoEngine2
BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9258}
2015-05-22 07:03:48 +00:00