1531 Commits

Author SHA1 Message Date
magjed
66f438f8c3 Revert of Fixing scenario where track is rejected and later un-rejected. (patchset #5 id:80001 of https://codereview.webrtc.org/1231613002/)
Reason for revert:
I think this causes WebRtcBrowserTest.CallAndModifyStream to fail on Android. See https://code.google.com/p/webrtc/issues/detail?id=4857 for more info.

Original issue's description:
> Fixing scenario where track is rejected and later un-rejected.
>
> Added `RestartLocalTracks` and `RestartRemoteTracks` methods to
> `MediaStreamHandlerContainer` which will redo the track handlers'
> initial setup; most importantly, this will re-connect the
> renderer/capturer/etc. to a channel which was destroyed and then
> re-created.
>
> Also added `AcceptRemoteTracks` method to MediaStreamSignaling, which
> does the inverse of `RejectRemoteTracks`. Effectively this will notify
> sinks that the track is live again, after previously being set to
> `kEnded` when it was rejected.
>
> BUG=webrtc:2136
>
> Committed: https://crrev.com/be37888b6d5d269dbd5385569dba15c0d70594f2
> Cr-Commit-Position: refs/heads/master@{#9600}

TBR=pthatcher@webrtc.org,juberti@webrtc.org,deadbeef@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:2136

Review URL: https://codereview.webrtc.org/1247443005

Cr-Commit-Position: refs/heads/master@{#9622}
2015-07-23 13:02:45 +00:00
magjed
64e753c399 Revert of Allow more than 2 input channels in AudioProcessing. (patchset #13 id:240001 of https://codereview.webrtc.org/1226093007/)
Reason for revert:
Breaks Chromium FYI content_browsertest on all platforms. The testcase that fails is WebRtcAecDumpBrowserTest.CallWithAecDump.

https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux/builds/19388

Sample output:
[ RUN      ] WebRtcAecDumpBrowserTest.CallWithAecDump
Xlib:  extension "RANDR" missing on display ":9".
[4:14:0722/211548:1282124453:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: ISAC/48000/1 (105)
[4:14:0722/211548:1282124593:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: PCMU/8000/2 (110)
[4:14:0722/211548:1282124700:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: PCMA/8000/2 (118)
[4:14:0722/211548:1282124815:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: G722/8000/2 (119)
[19745:19745:0722/211548:1282133667:INFO:CONSOLE(64)] "Looking at video in element remote-view-1", source: http://127.0.0.1:48819/media/webrtc_test_utilities.js (64)
[19745:19745:0722/211548:1282136892:INFO:CONSOLE(64)] "Looking at video in element remote-view-2", source: http://127.0.0.1:48819/media/webrtc_test_utilities.js (64)
../../content/test/webrtc_content_browsertest_base.cc:62: Failure
Value of: ExecuteScriptAndExtractString( shell()->web_contents(), javascript, &result)
  Actual: false
Expected: true
Failed to execute javascript call({video: true, audio: true});.
From javascript: (nothing)
When executing 'call({video: true, audio: true});'
../../content/test/webrtc_content_browsertest_base.cc:75: Failure
Failed
../../content/browser/media/webrtc_aecdump_browsertest.cc:26: Failure
Expected: (base::kNullProcessId) != (*id), actual: 0 vs 0
../../content/browser/media/webrtc_aecdump_browsertest.cc:95: Failure
Value of: GetRenderProcessHostId(&render_process_id)
  Actual: false
Expected: true
../../content/browser/media/webrtc_aecdump_browsertest.cc:99: Failure
Value of: base::PathExists(dump_file)
  Actual: false
Expected: true
../../content/browser/media/webrtc_aecdump_browsertest.cc:101: Failure
Value of: base::GetFileSize(dump_file, &file_size)
  Actual: false
Expected: true
../../content/browser/media/webrtc_aecdump_browsertest.cc:102: Failure
Expected: (file_size) > (0), actual: 0 vs 0
[  FAILED  ] WebRtcAecDumpBrowserTest.CallWithAecDump, where TypeParam =  and GetParam() =  (361 ms)

Original issue's description:
> Allow more than 2 input channels in AudioProcessing.
>
> The number of output channels is constrained to be equal to either 1 or the
> number of input channels.
>
> R=aluebs@webrtc.org, andrew@webrtc.org, pbos@webrtc.org
>
> Committed: c204754b7a

TBR=andrew@webrtc.org,aluebs@webrtc.org,ajm@chromium.org,pbos@chromium.org,pbos@webrtc.org,mgraczyk@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.webrtc.org/1253573005

Cr-Commit-Position: refs/heads/master@{#9621}
2015-07-23 11:30:14 +00:00
Michael Graczyk
c204754b7a Allow more than 2 input channels in AudioProcessing.
The number of output channels is constrained to be equal to either 1 or the
number of input channels.

R=aluebs@webrtc.org, andrew@webrtc.org, pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1226093007 .

Cr-Commit-Position: refs/heads/master@{#9619}
2015-07-23 04:06:16 +00:00
magjed
b69ab79338 VideoCapturerAndroid: Add function to change capture format while camera is running
Review URL: https://codereview.webrtc.org/1178703009

Cr-Commit-Position: refs/heads/master@{#9608}
2015-07-22 09:32:04 +00:00
deadbeef
be37888b6d Fixing scenario where track is rejected and later un-rejected.
Added `RestartLocalTracks` and `RestartRemoteTracks` methods to
`MediaStreamHandlerContainer` which will redo the track handlers'
initial setup; most importantly, this will re-connect the
renderer/capturer/etc. to a channel which was destroyed and then
re-created.

Also added `AcceptRemoteTracks` method to MediaStreamSignaling, which
does the inverse of `RejectRemoteTracks`. Effectively this will notify
sinks that the track is live again, after previously being set to
`kEnded` when it was rejected.

BUG=webrtc:2136

Review URL: https://codereview.webrtc.org/1231613002

Cr-Commit-Position: refs/heads/master@{#9600}
2015-07-17 17:30:53 +00:00
jbauch
fabe2c961f Remove deprecated functions.
This CL removes some functions that are marked as deprecated. Chromium
has been updated in https://crrev.com/7dee3f68b7699ad72c7fc4d75332f72703313849
to call the new functions.

Review URL: https://codereview.webrtc.org/1237613003

Cr-Commit-Position: refs/heads/master@{#9598}
2015-07-16 20:43:27 +00:00
qiangchen
c27d89fdc6 Let WebRtcVideoChannel2::WebRtcVideoSendStream::InputFrame carry the input frame's timestamp to output frame.
Essentially we are carrying over the capture timestamp to the encoded frame sent out, so the frame lengths will contain no noise.

Review URL: https://codereview.webrtc.org/1225153002

Cr-Commit-Position: refs/heads/master@{#9597}
2015-07-16 17:27:23 +00:00
jbauch
bd38428089 Don't use result of "field_trial::FindFullName" as string reference.
"field_trial::FindFullName" can return "std::string()" which should not
be referenced by the caller.

Review URL: https://codereview.webrtc.org/1238943003

Cr-Commit-Position: refs/heads/master@{#9594}
2015-07-16 11:06:02 +00:00
Peter Thatcher
a9b4c32052 Nuke buffered latency mode. It's not actually working, and it's not used. It's just dead code complexity.
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1226093010 .

Cr-Commit-Position: refs/heads/master@{#9593}
2015-07-16 10:47:39 +00:00
jbauch
083b73fb95 Use std::string references instead of copying contents.
This CL improves the memory footprint a bit by using string references
instead of creating a copy.

Review URL: https://codereview.webrtc.org/1241973002

Cr-Commit-Position: refs/heads/master@{#9592}
2015-07-16 09:46:43 +00:00
Jelena Marusic
cd6702282a Define Stream base classes
BUG=webrtc:4690

Defined classes Stream, SendStream and ReceiveStream. Inherited existing stream classes from either SendStream or ReceiveStream.
This is a step towards having a Transport associated with streams instead of a Call. It will allow a lot of code in the Call to be media type agnostic.

R=henrika@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1226123005 .

Cr-Commit-Position: refs/heads/master@{#9591}
2015-07-16 07:30:20 +00:00
deadbeef
f393829434 Use "UDP/TLS/RTP/SAVPF" profile in offer when DTLS-SRTP is used.
Tested that this doesn't break compatibility with Firefox or older
versions of Chrome, no matter which side generates the initial offer.

BUG=webrtc:2796

Review URL: https://codereview.webrtc.org/1219333002

Cr-Commit-Position: refs/heads/master@{#9589}
2015-07-15 19:20:56 +00:00
pbos
8fc7fa798f Base A/V synchronization on sync_labels.
Groups of streams that should be synchronized are signalled through
SDP. These should be used rather than synchronizing the first-added
video stream to the first-added audio stream implicitly.

BUG=webrtc:4667
R=hta@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org
TBR=mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1181653002

Cr-Commit-Position: refs/heads/master@{#9586}
2015-07-15 15:03:04 +00:00
Zeke Chin
2d3b7e2173 AppRTCDemo file logging.
Adds logging macros to log logs to a file. Undeletes CircularFileStream
for that purpose.

BUG=
R=jiayl@webrtc.org, pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1217473011 .

Cr-Commit-Position: refs/heads/master@{#9582}
2015-07-14 19:55:56 +00:00
honghaiz
a03cd3fdef 1. Override and virtual has to be consistent.
2. provide an implementation for SetIceConnectionReceivingTimeout so that Chrome does not complain.

BUG=

Review URL: https://codereview.webrtc.org/1227843006

Cr-Commit-Position: refs/heads/master@{#9574}
2015-07-14 00:08:11 +00:00
jackychen
6e2ce6e1ae Allow for framerate reduction for HW encoder.
R=pbos@webrtc.org, stefan@webrtc.org
TBR=glaznev@google.com

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

Cr-Commit-Position: refs/heads/master@{#9573}
2015-07-13 23:26:40 +00:00
honghaiz
900996290c Add methods to set the ICE connection receiving_timeout values.
BUG=

Review URL: https://codereview.webrtc.org/1231913003

Cr-Commit-Position: refs/heads/master@{#9572}
2015-07-13 19:19:42 +00:00
noahric
d10a68e797 Don't create unsignalled receive streams for RTX, RED RTX, and ULPFEC packets.
BUG=webrtc:4389

Review URL: https://codereview.webrtc.org/1226093002

Cr-Commit-Position: refs/heads/master@{#9566}
2015-07-10 18:28:02 +00:00
Peter Thatcher
a6d2444c84 Remove BaseSession::SignalNewDescription. It was only used by GTP and now just clutters the code.
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1228203002 .

Cr-Commit-Position: refs/heads/master@{#9564}
2015-07-10 04:26:45 +00:00
pbos
bb36fdf95f Remove empty-string comparisons.
Use .empty() and !.empty() in favor of == "" or != "".

BUG=
R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1228913003

Cr-Commit-Position: refs/heads/master@{#9559}
2015-07-09 14:48:27 +00:00
pbos
3b1e647b6a Remove media sinks from Channel.
Allows removing MediaRecorder which isn't in use apart from channel
unittests, along with it unittests for MediaRecorder that are flaky when
run in parallel can also go.

BUG=
R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1219663008

Cr-Commit-Position: refs/heads/master@{#9558}
2015-07-09 10:57:57 +00:00
tommi
0f620f4e31 Make sure we process all pending offer/answer requests before terminating.
This fixes a bug in the WebRtcSessionDescriptionFactory where messages would be dropped or worse yet processed after the factory was deleted.

BUG=chromium:507307

Review URL: https://codereview.webrtc.org/1231823002

Cr-Commit-Position: refs/heads/master@{#9557}
2015-07-09 10:25:04 +00:00
Jiayang Liu
61093868b4 Expose the disable encryption option to JNI.
BUG=
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1230613002 .

Cr-Commit-Position: refs/heads/master@{#9554}
2015-07-08 22:25:56 +00:00
Peter Thatcher
54360510ff Add flakyness check based on the recently received packets.
BUG=
R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1207563002 .

Cr-Commit-Position: refs/heads/master@{#9553}
2015-07-08 18:08:39 +00:00
Bjorn Volcker
4e7aa43ea0 audio_processing: Adds two UMA histograms logging delay jumps in AEC
We have two histograms today that trigger on large jumps in either platform reported stream delays (WebRTC.Audio.PlatformReportedStreamDelayJump) or the system delay in the AEC (WebRTC.Audio.AecSystemDelayJump). The latter is the internal buffer size in the AEC.
The sizes of such jumps are of relevance since it can harm the AEC and even put it in a complete failure state. It is hard, not to say impossible, to tell how frequent it is.
Therefore, two complementary histograms are added; number of jumps in each metric.
This way we get a quick way to determine how often a jump occurs in general and also how frequent it is within a call.

This is solved by adding a counter for each metric.
The counter is activated either upon an event trigger or if we know for sure when the AEC is running.
Unfortunately, we can't rely on the destructor at the end of a call so we add a public API for the user to take on the action of calling it at the end of a call.

Tested locally by building ToT chromium including changes and three triggered jumps (200, 50 and 60 ms).
The stats picked up the 60 and 200 ms jumps as expected.

BUG=488124
R=asapersson@webrtc.org, pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1229443003.

Cr-Commit-Position: refs/heads/master@{#9544}
2015-07-07 09:50:16 +00:00
jbauch
ac8869ec5a Report metrics about negotiated ciphers.
This CL adds an API to the metrics observer interface to report negotiated
ciphers for WebRTC sessions. This can be used from Chromium for UMA metrics
later to get an idea which cipher suites are used by clients (e.g. compare
the use of DTLS 1.0 / 1.2).

BUG=428343

Review URL: https://codereview.webrtc.org/1156143005

Cr-Commit-Position: refs/heads/master@{#9537}
2015-07-03 08:36:22 +00:00
henrik.lundin
0f133b99c6 Rename APM Config ReportedDelay to DelayAgnostic
We use this Config struct for enabling/disabling the delay agnostic
AEC. This change renames it to DelayAgnostic for readability reasons.

NOTE: The logic is reversed in this CL. The old ReportedDelay config
turned DA-AEC off, while the new DelayAgnostic turns it on.

The old Config is kept in parallel with the new during a transition
period. This is to avoid problems with API breakages. During this
period, ReportedDelay is disabled or DelayAgnostic is enabled, DA-AEC
is engaged in APM.

BUG=webrtc:4651
R=bjornv@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1211053006

Cr-Commit-Position: refs/heads/master@{#9531}
2015-07-02 07:17:59 +00:00
tkchin
0d7dbde8cf Update AppRTCDemo resolution for iPhone6/6+
BUG=

Review URL: https://codereview.webrtc.org/1214113015

Cr-Commit-Position: refs/heads/master@{#9530}
2015-07-02 01:26:40 +00:00
bemasc
0edd50ccb3 Support for onbufferedamountlow
Original review at https://webrtc-codereview.appspot.com/54679004/

BUG=https://code.google.com/p/chromium/issues/detail?id=496700

Review URL: https://codereview.webrtc.org/1207613006

Cr-Commit-Position: refs/heads/master@{#9527}
2015-07-01 20:34:42 +00:00
Zeke Chin
71f6f4405c iOS HW H264 support.
First step towards supporting H264 on iOS. More tuning/experimentation
required in future CLs. Tested using AppRTCDemo on iPhone6 + iPad Mini.
Future work to get it working on OS/X, simulator (renders black screen
currently) and with the Android AppRTCDemo. Currently protected with a
compile time guard.

BUG=4081
R=andrew@webrtc.org, haysc@webrtc.org, holmer@google.com, jiayl@webrtc.org, kjellander@webrtc.org, pbos@webrtc.org, phoglund@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1187573004.

Cr-Commit-Position: refs/heads/master@{#9515}
2015-06-29 21:35:08 +00:00
Peter Boström
4b91bd0897 Move frame input (ViECapturer) to webrtc/video/.
Renames ViECapturer to VideoCaptureInput and initializes several
parameters on construction instead of setters.

Also removes an old deadlock suppression.

BUG=1695, 2999
R=asapersson@webrtc.org, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9508}
2015-06-26 04:58:23 +00:00
Peter Thatcher
c0c3a865f4 Prevent JS from bypassing RTP data channel bandwidth limitation.
Normally the RTP data channel is capped at 30kbps, but by mangling the
SDP string, one could get around this limitation. With this fix,
SdpDeserialize will return an error if it detects this condition.

BUG=280726
R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1196403004.

Cr-Commit-Position: refs/heads/master@{#9499}
2015-06-24 22:31:35 +00:00
Andrew MacDonald
8d3e489d01 Update deeper codereview.settings files to match the root.
R=kjellander@webrtc.org

Review URL: https://codereview.webrtc.org/1190883002.

Cr-Commit-Position: refs/heads/master@{#9498}
2015-06-24 19:40:39 +00:00
magjed
59a677ada2 Android VideoRendererGui: Refactor GLES rendering
This CL should not change any visible behaviour. It does the following:
 * Extract GLES rendering into separate class GlRectDrawer. This class is also needed for future video encode with OES texture input.
 * Clean up current ScalingType -> display size calculation and introduce new SCALE_ASPECT_BALANCED (b/21735609) and remove unused SCALE_FILL.
 * Replace current mirror/rotation index juggling with android.opengl.Matrix operations instead.

Review URL: https://codereview.webrtc.org/1191243005

Cr-Commit-Position: refs/heads/master@{#9496}
2015-06-24 10:59:43 +00:00
Erik Språng
2c4c914819 In screenshare mode, suppress VP8 bitrate overshoot and increase quality
This change includes several improvements:

* VP8 configured with new rate control
* Detection of frame dropping, with qp bump for next frame
* Increased target and TL0 bitrates
* Reworked rate control (TL allocation) in screenshare_layers

A note on performance: PSNR and SSIM is expected to get slightly worse with this cl. Frame drops and delays should however improve.

BUG=4171
R=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1193513006.

Cr-Commit-Position: refs/heads/master@{#9495}
2015-06-24 09:24:50 +00:00
phoglund
7ab5f801dd Adding an equals method for KeyValuePair for easier testing.
With this we can write stuff like

assertThat(result.mandatory,
    hasItem(new KeyValuePair("minWidth", "1280")));

The above will currently fail because the object falls back to ==.

BUG=None

Review URL: https://codereview.webrtc.org/1193883006

Cr-Commit-Position: refs/heads/master@{#9494}
2015-06-24 08:11:51 +00:00
Joachim Bauch
66f920ea57 Remove definition of non-existent method.
The private method "CreateDefaultLocalDescription" is defined in the
class, but not implemented or used anywhere.

R=juberti@webrtc.org

Review URL: https://codereview.webrtc.org/1182793004.

Cr-Commit-Position: refs/heads/master@{#9493}
2015-06-24 07:34:41 +00:00
tommi
39b31001d2 Change kEchoCancellation to be 'echoCancellation'.
This is the second cl in WebRTC for this change and will be landed after Chromium has been updated to use kGooglEchoCancellation where that variant is required. See also the first part: https://codereview.webrtc.org/1179233003

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

Review URL: https://codereview.webrtc.org/1185963003

Cr-Commit-Position: refs/heads/master@{#9490}
2015-06-23 16:50:50 +00:00
jbauch
be24c94c95 Set / verify stats report timestamps.
This CL updates the track report timestamps which were fixed at "0" before
and updates the timestamps in reports for local audio tracks.

Also the timestamps are checked in various tests to make sure no "0" is
returned.

Original CL is at https://webrtc-codereview.appspot.com/51829004/

BUG=webrtc:4316
TBR=hta@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1204493002

Cr-Commit-Position: refs/heads/master@{#9485}
2015-06-22 22:06:50 +00:00
henrika
1d34fe979c Adds support for webrtc::test::ResourcePath on iOS
BUG=webrtc:4752
R=tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1178843002.

Cr-Commit-Position: refs/heads/master@{#9445}
2015-06-16 08:04:24 +00:00
Henrik Lundin
b02af18c5c Follow-up: Remove old DelayCorrection AEC config
This is a follow-up to r9401, where the configuration DelayCorrection
was replaced by ExtendedFilter.

This change also removes the media constraint
kExperimentalEchoCancellation which was replaced by
kExtendedFilterEchoCancellation in the same CL.

Both settings that are now being removed were kept in the code to avoid
API breakages. In https://codereview.chromium.org/1167343004,
depending code has been updated to avoid breakages.

BUG=webrtc:4696
R=bjornv@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1181413004.

Cr-Commit-Position: refs/heads/master@{#9444}
2015-06-16 07:53:32 +00:00
Henrik Kjellander
05ce5dd0f1 Roll chromium_revision e937e5f..c2239a8 (333350:334133)
Removed no longer used test_isolation_outdir variable as in
https://codereview.chromium.org/1176463003

The move of a DEPS in https://codereview.chromium.org/1155743013
is causing problems on some trybots. It shouldn't affect developers.

Relevant changes:
* src/third_party/android_tools: a3afc68..ed3dde6
* src/third_party/icu: 9939a5d..a05f412
* src/third_party/libjpeg_turbo: 8ee9bdd..f4631b6
* src/third_party/libyuv: 632c50f..632c50f
Details: e937e5f..c2239a8/DEPS

Clang version was not updated in this roll.

BUG=
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1182043002.

Cr-Commit-Position: refs/heads/master@{#9435}
2015-06-15 09:10:25 +00:00
Åsa Persson
2b679250fb VideoCapturerAndroid: Add possibility to request a new resolution from the video adapter.
BUG=
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1178643006.

Cr-Commit-Position: refs/heads/master@{#9434}
2015-06-15 07:53:16 +00:00
Tommi
70c7fe14ac Add kGoogEchoCancellation to MediaConstraintsInterface.
This constraint will be equal to kEchoCancellation until we've updated Chromium to use kGoogEchoCancellation where that constraint is needed.  Once that's done, I'll change kEchoCancellation to be 'echoCancellation'.

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

Review URL: https://codereview.webrtc.org/1179233003.

Cr-Commit-Position: refs/heads/master@{#9433}
2015-06-15 07:14:15 +00:00
Alex Glaznev
782671f798 Improve Android HW decoder error handling.
- Remove an option to use MediaCodec SW decoder from Java layer.
- Better handling Java exceptions in JNI - detect exceptions
and either try to reset the codec or fallback to SW decoder.
- If any error is reported by codec try to fallback to SW
codec for VP8 or reset decoder and continue decoding for H.264.
- Add more logging for error conditions.

R=wzh@webrtc.org

Review URL: https://codereview.webrtc.org/1178943007.

Cr-Commit-Position: refs/heads/master@{#9431}
2015-06-12 23:40:51 +00:00
Jon Hjelle
2f65ac1437 Fix crash and warning in AppRTCDemo
Don't dismiss the presented view controller if it's already being dismissed to clear a warning about dismissing from a view controller while a dismiss is in progress.

Remove the sample buffer delegate when capture is being stopped to avoid a crash when a delegate method is sent to a deallocated object.

BUG=webrtc:4734
R=jiayl@webrtc.org, tkchin@webrtc.org

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

Patch from Jon Hjelle <hjon@andyet.net>.

Cr-Commit-Position: refs/heads/master@{#9430}
2015-06-12 18:33:51 +00:00
Peter Kasting
728d9037c0 Reformat existing code. There should be no functional effects.
This includes changes like:
* Attempt to break lines at better positions
* Use "override" in more places, don't use "virtual" with it
* Use {} where the body is more than one line
* Make declaration and definition arg names match
* Eliminate unused code
* EXPECT_EQ(expected, actual) (but use (actual, expected) for e.g. _GT)
* Correct #include order
* Use anonymous namespaces in preference to "static" for file-scoping
* Eliminate unnecessary casts
* Update reference code in comments of ARM assembly sources to match actual current C code
* Fix indenting to be more style-guide compliant
* Use arraysize() in more places
* Use bool instead of int for "boolean" values (0/1)
* Shorten and simplify code
* Spaces around operators
* 80 column limit
* Use const more consistently
* Space goes after '*' in type name, not before
* Remove unnecessary return values
* Use "(var == const)", not "(const == var)"
* Spelling
* Prefer true, typed constants to "enum hack" constants
* Avoid "virtual" on non-overridden functions
* ASSERT(x == y) -> ASSERT_EQ(y, x)

BUG=none
R=andrew@webrtc.org, asapersson@webrtc.org, henrika@webrtc.org, juberti@webrtc.org, kjellander@webrtc.org, kwiberg@webrtc.org

Review URL: https://codereview.webrtc.org/1172163004

Cr-Commit-Position: refs/heads/master@{#9420}
2015-06-11 21:31:48 +00:00
Peter Kasting
b7e5054414 Match existing type usage better.
This makes a variety of small changes to synchronize bits of code using different types, remove useless code or casts, and add explicit casts in some places previously doing implicit ones.  For example:

* Change a few type declarations to better match how the majority of code uses those objects.
* Eliminate "< 0" check for unsigned values.
* Replace "(float)sin(x)", where |x| is also a float, with "sinf(x)", and similar.
* Add casts to uint32_t in many places timestamps were used and the existing code stored signed values into the unsigned objects.
* Remove downcasts when the results would be passed to a larger type, e.g. calling "foo((int16_t)x)" with an int |x| when foo() takes an int instead of an int16_t.
* Similarly, add casts when passing a larger type to a function taking a smaller one.
* Add casts to int16_t when doing something like "int16_t = int16_t + int16_t" as the "+" operation would implicitly upconvert to int, and similar.
* Use "false" instead of "0" for setting a bool.
* Shift a few temp types when doing a multi-stage calculation involving typecasts, so as to put the most logical/semantically correct type possible into the temps.  For example, when doing "int foo = int + int; size_t bar = (size_t)foo + size_t;", we might change |foo| to a size_t and move the cast if it makes more sense for |foo| to be represented as a size_t.

BUG=none
R=andrew@webrtc.org, asapersson@webrtc.org, henrika@webrtc.org, juberti@webrtc.org, kwiberg@webrtc.org
TBR=andrew, asapersson, henrika

Review URL: https://codereview.webrtc.org/1168753002

Cr-Commit-Position: refs/heads/master@{#9419}
2015-06-11 19:56:03 +00:00
Peter Boström
eb82309d06 Remove FileMediaEngine.
This is currently only used in libjingle/examples/call which is
deprecated and not currently building.

BUG=
R=juberti@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1169833004.

Cr-Commit-Position: refs/heads/master@{#9415}
2015-06-11 08:27:36 +00:00
Magnus Jedvert
80cf97cddd Android rendering: Move common EGL and GL functions to separate classes
This CL does not make any functional changes. The purpose is to extract some common code that is needed for texture capture and texture encode.

This CL does the following changes:
* Move common EGL functions from org.webrtc.MediaCodecVideoDecoder to org.webrtc.EglBase.
* Move common GL functions from org.webrtc.VideoRendererGui to org.webrtc.GlUtil and org.webrtc.GlShader.
* Remove unused call to surfaceTexture.getTransformMatrix in YuvImageRenderer.
* Add helper functions rotatedWidth()/rotatedHeight() in VideoRenderer.I420Frame.

R=glaznev@webrtc.org, hbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9414}
2015-06-11 08:09:15 +00:00