63 Commits

Author SHA1 Message Date
nisse
64ec8f826f Reland of Move MutableDataY{,U,V} methods to I420Buffer only. (patchset #1 id:1 of https://codereview.webrtc.org/2354223002/ )
Reason for revert:
Downstream application now fixed.

Original issue's description:
> Revert of Move MutableDataY{,U,V} methods to I420Buffer only. (patchset #14 id:260001 of https://codereview.webrtc.org/2278883002/ )
>
> Reason for revert:
> Broke downstream application.
>
> Original issue's description:
> > Move MutableDataY{,U,V} methods to I420Buffer only.
> >
> > Deleted from the VideoFrameBuffer base class.
> >
> > BUG=webrtc:5921
> >
> > Committed: https://crrev.com/5539ef6c03c273f39fadae41ace47fdc11ac6d60
> > Cr-Commit-Position: refs/heads/master@{#14317}
>
> TBR=perkj@webrtc.org,magjed@webrtc.org,pthatcher@webrtc.org,honghaiz@webrtc.org,stefan@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5921
>
> Committed: https://crrev.com/776870a2599b8f43ad56987f9031690e3ccecde8
> Cr-Commit-Position: refs/heads/master@{#14325}

TBR=perkj@webrtc.org,magjed@webrtc.org,pthatcher@webrtc.org,honghaiz@webrtc.org,stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5921

Review-Url: https://codereview.webrtc.org/2372483002
Cr-Commit-Position: refs/heads/master@{#14389}
2016-09-27 07:17:40 +00:00
nisse
776870a259 Revert of Move MutableDataY{,U,V} methods to I420Buffer only. (patchset #14 id:260001 of https://codereview.webrtc.org/2278883002/ )
Reason for revert:
Broke downstream application.

Original issue's description:
> Move MutableDataY{,U,V} methods to I420Buffer only.
>
> Deleted from the VideoFrameBuffer base class.
>
> BUG=webrtc:5921
>
> Committed: https://crrev.com/5539ef6c03c273f39fadae41ace47fdc11ac6d60
> Cr-Commit-Position: refs/heads/master@{#14317}

TBR=perkj@webrtc.org,magjed@webrtc.org,pthatcher@webrtc.org,honghaiz@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5921

Review-Url: https://codereview.webrtc.org/2354223002
Cr-Commit-Position: refs/heads/master@{#14325}
2016-09-21 10:52:21 +00:00
nisse
5539ef6c03 Move MutableDataY{,U,V} methods to I420Buffer only.
Deleted from the VideoFrameBuffer base class.

BUG=webrtc:5921

Review-Url: https://codereview.webrtc.org/2278883002
Cr-Commit-Position: refs/heads/master@{#14317}
2016-09-21 08:27:38 +00:00
nisse
69adc9c7c0 Delete unused code in webrtc_libyuv.cc.
Delete unused ConvertFromYV12, and dead prototypes ConvertRGB24ToARGB
ConvertNV12ToRGB565. Move Calc16ByteAlignedStride to the test file
where it is used.

BUG=

Review-Url: https://codereview.webrtc.org/2021843002
Cr-Commit-Position: refs/heads/master@{#13003}
2016-06-02 07:58:43 +00:00
Niels Möller
d28db7fd65 Delete all use of tick_util.h.
Depends on Chrome cl https://codereview.chromium.org/1888003002/, which was landed some time ago.

BUG=webrtc:5740
R=stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12674}
2016-05-10 14:31:58 +00:00
Peter Boström
1d1944187f Replace RefCountImpl with rtc::RefCountedObject.
Removes code duplication and use of the dangerous public destructor in
RefCountImpl.

Also making wider use of scoped_refptr and fixing various leaks in the
process.

BUG=webrtc:5229
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12075}
2016-03-21 15:44:41 +00:00
deadbeef
f5629ad44f Reland of Change VideoCapture_apply_rotation default to false (patchset #1 id:1 of https://codereview.webrtc.org/1807673008/ )
Reason for revert:
Relanding because this doesn't actually break the bot. The issue the caused the test to crash on the bot should be fixed by: https://codereview.webrtc.org/1815733002/

Original issue's description:
> Revert of Change VideoCapture_apply_rotation default to false (patchset #4 id:80001 of https://codereview.webrtc.org/1779883004/ )
>
> Reason for revert:
> Seems to break on linux ubsan
>
> https://build.chromium.org/p/client.webrtc/builders/Linux%20UBSan/builds/247
>
> Original issue's description:
> > Change VideoCapture_apply_rotation default to false
> >
> > BUG=webrtc:5621
> > R=pthatcher@webrtc.org
> >
> > Committed: https://crrev.com/6919457319b0088ed8b68db30f68a03966d67121
> > Cr-Commit-Position: refs/heads/master@{#12052}
>
> TBR=pthatcher@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5621
>
> Committed: https://crrev.com/223b982785573323aa399de4f2e551cadbaace8d
> Cr-Commit-Position: refs/heads/master@{#12053}

TBR=pthatcher@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5621

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

Cr-Commit-Position: refs/heads/master@{#12054}
2016-03-18 18:38:33 +00:00
perkj
223b982785 Revert of Change VideoCapture_apply_rotation default to false (patchset #4 id:80001 of https://codereview.webrtc.org/1779883004/ )
Reason for revert:
Seems to break on linux ubsan

https://build.chromium.org/p/client.webrtc/builders/Linux%20UBSan/builds/247

Original issue's description:
> Change VideoCapture_apply_rotation default to false
>
> BUG=webrtc:5621
> R=pthatcher@webrtc.org
>
> Committed: https://crrev.com/6919457319b0088ed8b68db30f68a03966d67121
> Cr-Commit-Position: refs/heads/master@{#12052}

TBR=pthatcher@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5621

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

Cr-Commit-Position: refs/heads/master@{#12053}
2016-03-18 17:06:36 +00:00
Per
6919457319 Change VideoCapture_apply_rotation default to false
BUG=webrtc:5621
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12052}
2016-03-18 15:56:56 +00:00
Niels Möller
739fcb989d Cleanup of webrtc::VideoFrame.
Delete EqualsFrame method, used only by tests. Delete one of the
CreateFrame methods. Drop return value for CreateEmptyFrame, CreateFrame
and CopyFrame.

BUG=webrtc:5426

Committed: https://crrev.com/208019637bfed975f8f13b16d40b90e200763cd6
Cr-Commit-Position: refs/heads/master@{#11783}

R=mflodman@webrtc.org, pbos@webrtc.org, perkj@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11811}
2016-02-29 12:11:57 +00:00
kjellander
54ebfca934 Revert of Cleanup of webrtc::VideoFrame. (patchset #6 id:100001 of https://codereview.webrtc.org/1679323002/ )
Reason for revert:
Breaks downstream compilation. Please make non-breaking API changes for the reland or coordinate fixing downstream code quickly with the sheriff.

Original issue's description:
> Cleanup of webrtc::VideoFrame.
>
> Delete EqualsFrame method, used only by tests. Delete one of the
> CreateFrame methods. Drop return value for CreateEmptyFrame, CreateFrame
> and CopyFrame.
>
> BUG=webrtc:5426
>
> Committed: https://crrev.com/208019637bfed975f8f13b16d40b90e200763cd6
> Cr-Commit-Position: refs/heads/master@{#11783}

TBR=pbos@webrtc.org,perkj@webrtc.org,pthatcher@webrtc.org,mflodman@webrtc.org,marpan@webrtc.org,nisse@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#11789}
2016-02-26 15:38:57 +00:00
nisse
208019637b Cleanup of webrtc::VideoFrame.
Delete EqualsFrame method, used only by tests. Delete one of the
CreateFrame methods. Drop return value for CreateEmptyFrame, CreateFrame
and CopyFrame.

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#11783}
2016-02-26 14:40:47 +00:00
pbos
a26ac925f7 Reland of move ignored return code from modules. (patchset #1 id:1 of https://codereview.webrtc.org/1736663004/ )
Reason for revert:
Revert breaks other uses, a fix will be rolled into Chromium instead.

Original issue's description:
> Revert of Remove ignored return code from modules. (patchset #3 id:40001 of https://codereview.webrtc.org/1703833002/ )
>
> Reason for revert:
> Breaks Chromium.
>
> Original issue's description:
> > Remove ignored return code from modules.
> >
> > ModuleProcessImpl doesn't act on return codes and having them around is
> > confusing (it's unclear what an error return code here would do even).
> >
> > BUG=
> > R=tommi@webrtc.org
> >
> > Committed: f14c47a58c
>
> TBR=tommi@webrtc.org,pbos@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=
>
> Committed: https://crrev.com/da33a8a2a22f6d19ba2a8cce963beafbdbaa8fd8
> Cr-Commit-Position: refs/heads/master@{#11761}

TBR=tommi@webrtc.org,torbjorng@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11762}
2016-02-25 12:50:09 +00:00
torbjorng
da33a8a2a2 Revert of Remove ignored return code from modules. (patchset #3 id:40001 of https://codereview.webrtc.org/1703833002/ )
Reason for revert:
Breaks Chromium.

Original issue's description:
> Remove ignored return code from modules.
>
> ModuleProcessImpl doesn't act on return codes and having them around is
> confusing (it's unclear what an error return code here would do even).
>
> BUG=
> R=tommi@webrtc.org
>
> Committed: f14c47a58c

TBR=tommi@webrtc.org,pbos@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11761}
2016-02-25 12:34:12 +00:00
Peter Boström
f14c47a58c Remove ignored return code from modules.
ModuleProcessImpl doesn't act on return codes and having them around is
confusing (it's unclear what an error return code here would do even).

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11747}
2016-02-24 15:51:23 +00:00
Henrik Kjellander
ff761fba82 modules: more interface -> include renames
This changes the following module directories:
* webrtc/modules/audio_conference_mixer/interface
* webrtc/modules/interface
* webrtc/modules/media_file/interface
* webrtc/modules/rtp_rtcp/interface
* webrtc/modules/utility/interface

To avoid breaking downstream, I followed this recipe:
1. Copy the interface dir to a new sibling directory: include
2. Update the header guards in the include directory to match the style guide.
3. Update the header guards in the interface directory to match the ones in include. This is required to avoid getting redefinitions in the not-yet-updated downstream code.
4. Add a pragma warning in the header files in the interface dir. Example:
#pragma message("WARNING: webrtc/modules/interface is DEPRECATED; "
                "use webrtc/modules/include")
5. Search for all source references to webrtc/modules/interface and update them to webrtc/modules/include (*.c*,*.h,*.mm,*.S)
6. Update all GYP+GN files. This required manual inspection since many subdirectories of webrtc/modules referenced the interface dir using ../interface etc(*.gyp*,*.gn*)

BUG=5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel -m tryserver.webrtc

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

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

Cr-Commit-Position: refs/heads/master@{#10500}
2015-11-04 07:32:04 +00:00
Henrik Kjellander
98f53510b2 system_wrappers: rename interface -> include
BUG=webrtc:5095
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10438}
2015-10-28 17:17:50 +00:00
tommi
e4f96501fc Remove system_wrappers/interface/trace_event.h
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10346}
2015-10-21 06:00:57 +00:00
Miguel Casas-Sanchez
4765070b8d Rename I420VideoFrame to VideoFrame.
This is a mechanical change since it affects so many
files.
I420VideoFrame -> VideoFrame
and reformatted.

Rationale: in the next CL I420VideoFrame will
get an indication of Pixel Format (I420 for
starters) and of storage type: usually
UNOWNED, could be SHMEM, and in the near
future will be possibly TEXTURE. See
https://codereview.chromium.org/1154153003
for the change that happened in Cr.

BUG=4730, chromium:440843
R=jiayl@webrtc.org, niklas.enbom@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9339}
2015-05-30 00:21:56 +00:00
Guo-wei Shieh
64c1e8cda5 Enable CVO by default through webrtc pipeline.
All RTP packets from sender side will carry the rotation info. (will file a bug to track this) On the receiving side, only packets with marker bit set will be examined.

Tests completed:
1. android standalone to android standalone
2. android standalone to chrome (with and without this change)
3. android on chrome

BUG=4145
R=glaznev@webrtc.org, mflodman@webrtc.org, perkj@webrtc.org, pthatcher@webrtc.org

Committed: https://crrev.com/1b1c15cad16de57053bb6aa8a916079e0534bdae
Cr-Commit-Position: refs/heads/master@{#8905}

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

Cr-Commit-Position: refs/heads/master@{#8917}
2015-04-01 22:33:15 +00:00
perkj@webrtc.org
af612d5e07 Reland "Make the entry point for VideoFrames to webrtc const ref I420VideoFrame.""
Original cl description:
This removes the none const pointer entry and SwapFrame.
Since frames delivered using VideoSendStream no longer use the external capture module, VideoSendStream will not get an incoming framerate callback. VideoSendStream now uses a rtc::RateTracker.
Also, the video engine must ensure that time stamps are always increasing.

With this, time stamps (ntp, render_time and rtp timestamps ) are checked and set in ViECapturer::OnIncomingCapturedFrame

This cl was previously reverted in https://webrtc-codereview.appspot.com/46549004/.

Patchset 1 contains the original patch after rebase.
Patshet 2 fix webrtc_perf_tests reported in chromium:465306

Note that chromium:465287 is being fixed in https://webrtc-codereview.appspot.com/43829004/

BUG=1128
R=magjed@webrtc.org, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8776}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8776 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-18 09:51:44 +00:00
magjed@webrtc.org
2056ee3e3c Revert "Changed argument occurences of const I420VideoFrame* to const I420VideoFrame& and non-const I420VideoFrame& to I420VideoFrame*."
This reverts commit r8731.

Reason for revert: Breakes Chromium FYI bots.

TBR=hbos, tommi

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

Cr-Commit-Position: refs/heads/master@{#8733}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8733 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 13:48:18 +00:00
hbos@webrtc.org
2dc5fa69b2 Changed argument occurences of const I420VideoFrame* to const I420VideoFrame& and non-const I420VideoFrame& to I420VideoFrame*.
R=magjed@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8731}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8731 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 13:02:19 +00:00
magjed@webrtc.org
d7452a0168 Revert "Make the entry point for VideoFrames to webrtc const ref I420VideoFrame."
This reverts commit r8633.

Reason for revert: Performance regressions in browser_tests_new_vie and webrtc_perf_tests.

BUG=1128,chromium:465287,chromium:465306
TBR=pbos,mflodman,perkj

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

Cr-Commit-Position: refs/heads/master@{#8670}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8670 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 15:13:13 +00:00
guoweis@webrtc.org
59140d6a5a Remove VideoRotationMode to VideoRotation.
With this change, there is only one copy of rotation enum.

BUG=4145
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8654}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8654 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 17:08:20 +00:00
perkj@webrtc.org
bcead305a2 Make the entry point for VideoFrames to webrtc const ref I420VideoFrame.
This removes the none const pointer entry and SwapFrame.

Since frames delivered using VideoSendStream no longer use the external capture module, VideoSendStream will not get an incoming framerate callback. VideoSendStream now uses a rtc::RateTracker.
Also, the video engine must ensure that time stamps are always increasing.

With this, time stamps (ntp, render_time and rtp timestamps ) are checked and set in ViECapturer::OnIncomingCapturedFrame

BUG=1128
R=magjed@webrtc.org, mflodman@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8633}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8633 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 12:38:22 +00:00
guoweis@webrtc.org
5a7dc39277 This is a code clean up. No functional change intended.
Consolidate the enum for capturer/frame rotation we use through out the code base.

BUG=4145
R=mflodman@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8365}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8365 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-13 14:32:13 +00:00
guoweis@webrtc.org
1226e926e6 CVO capturer feature: allow unrotated frame flows through the capture pipeline.
split from https://webrtc-codereview.appspot.com/37029004/

This is based on clean up code change at https://webrtc-codereview.appspot.com/37129004

BUG=4145
R=perkj@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org, tommi@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=8337

Committed: https://code.google.com/p/webrtc/source/detail?r=8338

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

Cr-Commit-Position: refs/heads/master@{#8339}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8339 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 18:38:53 +00:00
guoweis@webrtc.org
dc7b02277c CVO capturer feature: allow unrotated frame flows through the capture pipeline.
split from https://webrtc-codereview.appspot.com/37029004/

This is based on clean up code change at https://webrtc-codereview.appspot.com/37129004

BUG=4145
R=perkj@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org, tommi@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=8337

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

Cr-Commit-Position: refs/heads/master@{#8338}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8338 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 18:06:10 +00:00
guoweis@webrtc.org
20e8f22766 CVO capturer feature: allow unrotated frame flows through the capture pipeline.
split from https://webrtc-codereview.appspot.com/37029004/

This is based on clean up code change at https://webrtc-codereview.appspot.com/37129004

BUG=4145
R=perkj@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8337}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8337 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 17:51:46 +00:00
tommi@webrtc.org
4161715e3f Remove ChangeUniqueID.
This fixes a two year old TODO of deleting dead code :)
In cases where the _id or id_ member variable is being used for tracing,
I changed the member to at least be const.

It doesn't look like id's are that useful anymore so maybe the next step is to get rid of them.

BUG=
R=henrika@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8201}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8201 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-29 12:14:13 +00:00
pkasting@chromium.org
0b1534c52e Use int64_t for milliseconds more often, primarily for TimeUntilNextProcess.
This fixes a variety of MSVC warnings about value truncations when implicitly
storing the 64-bit values we get back from e.g. TimeTicks in 32-bit objects, and
removes the need for a number of explicit casts.

This also moves a number of constants so they're declared right where they're used, which is easier to read and maintain, and makes some of them of integral type rather than using the "enum hack".

BUG=chromium:81439
TEST=none
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7905 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 22:09:40 +00:00
pkasting@chromium.org
4591fbd09f Use size_t more consistently for packet/payload lengths.
See design doc at https://docs.google.com/a/chromium.org/document/d/1I6nmE9D_BmCY-IoV6MDPY2V6WYpEI-dg2apWXTfZyUI/edit?usp=sharing for more information.

This CL was reviewed and approved in pieces in the following CLs:
https://webrtc-codereview.appspot.com/24209004/
https://webrtc-codereview.appspot.com/24229004/
https://webrtc-codereview.appspot.com/24259004/
https://webrtc-codereview.appspot.com/25109004/
https://webrtc-codereview.appspot.com/26099004/
https://webrtc-codereview.appspot.com/27069004/
https://webrtc-codereview.appspot.com/27969004/
https://webrtc-codereview.appspot.com/27989004/
https://webrtc-codereview.appspot.com/29009004/
https://webrtc-codereview.appspot.com/30929004/
https://webrtc-codereview.appspot.com/30939004/
https://webrtc-codereview.appspot.com/31999004/
Committing as TBR to the original reviewers.

BUG=chromium:81439
TEST=none
TBR=pthatcher,henrik.lundin,tina.legrand,stefan,tkchin,glaznev,kjellander,perkj,mflodman,henrika,asapersson,niklas.enbom

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7726 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-20 22:28:14 +00:00
fischman@webrtc.org
42694c5937 VideoCaptureImpl::IncomingFrame(): avoid deadlock by acquiring _apiCs.
Since VCI::IF() fires a callback it risks a call back into VCI on the same
stack.  Failing to acquire _apiCs before _callbackCs means this is a lock
inversion and deadlock results.  By acquiring _apiCs first no lock inversion
occurs and the deadlock is removed.

BUG=3434
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6353 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 18:28:28 +00:00
pbos@webrtc.org
3d5cb33da4 Remove WEBRTC_TRACE use in video_capture/
Does not touch platform-specific code.

BUG=3153
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6137 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 08:42:07 +00:00
fischman@webrtc.org
8685af7ea0 Remove "Too long processing time of Incoming frame" logspam.
This isn't indicative of anything actionable and spams android logcat with times
in the 10-30ms range several times per second.

BUG=2732
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5527 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-11 17:48:11 +00:00
mallinath@webrtc.org
7433a088d2 Revert 5444 "Revert 5421 "Fix deadlock on register/unregister ob..."
We reverted the r5421 to allow us roll webrtc to chrome without any modifications
to libjingle. Since webrtc is rolled with r5444, we can add back the original CL
and changes to libjingle will be upstreamed in the next roll.

TBR=andresp@webrtc.org

> Revert 5421 "Fix deadlock on register/unregister observer while ..."
> 
> Failure to compile on Chromium Internal bots, because of API changes.
> 
> http://chromegw.corp.google.com/i/internal.chromium.webrtc.fyi/builders/Mac/builds/2805/steps/compile/logs/stdio
> 
> You need to follow the steps mentioned in 
> https://docs.google.com/a/google.com/document/d/1aHrmXECnu3-Jovc2-zYI267EaQCYz-IclYyBp9iA9Fc/edit that of a API changer.
> 
> Since I will be rolling the libjingle this week, I can push your changes along with libjingle roll, if you prepare the CLs
> as mentioned in the doc.
> 
> > Fix deadlock on register/unregister observer while there is a an going callback.
> > 
> > BUG=2835
> > R=mallinath@webrtc.org
> > 
> > Review URL: https://webrtc-codereview.appspot.com/7119005
> 
> TBR=andresp@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/7679004

TBR=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5453 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-29 00:56:02 +00:00
mallinath@webrtc.org
18586d38bc Revert 5421 "Fix deadlock on register/unregister observer while ..."
Failure to compile on Chromium Internal bots, because of API changes.

http://chromegw.corp.google.com/i/internal.chromium.webrtc.fyi/builders/Mac/builds/2805/steps/compile/logs/stdio

You need to follow the steps mentioned in 
https://docs.google.com/a/google.com/document/d/1aHrmXECnu3-Jovc2-zYI267EaQCYz-IclYyBp9iA9Fc/edit that of a API changer.

Since I will be rolling the libjingle this week, I can push your changes along with libjingle roll, if you prepare the CLs
as mentioned in the doc.

> Fix deadlock on register/unregister observer while there is a an going callback.
> 
> BUG=2835
> R=mallinath@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/7119005

TBR=andresp@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5444 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-27 22:00:57 +00:00
andresp@webrtc.org
8d375c95b7 Fix deadlock on register/unregister observer while there is a an going callback.
BUG=2835
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5421 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-23 23:09:25 +00:00
pbos@webrtc.org
2ffb149c2c Replace VideoFrameI420 with I420VideoFrame.
Gives one less struct/class for I420 video frames.

BUG=2657
R=mflodman@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5160 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-22 13:10:13 +00:00
sheu@chromium.org
5dd2ecb32d Revert "Remove extra copy in VideoCaptureImpl::IncomingFrameI420"
This reverts commit f4ca3808bd9ec2293ec205f2f4a7d9739ce1f2df.

TBR=niklas.emblom@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5071 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-31 23:41:04 +00:00
sheu@chromium.org
74e6e8458e Remove extra copy in VideoCaptureImpl::IncomingFrameI420
Add support for aliasing a I420VideoFrame (and internally, a Plane) to an
existing memory buffer without taking ownership.  Use this to remove an extra
copy in VideoCaptureImpl::IncomingFrameI420.

BUG=1128
BUG=chromium:310271
TEST=local build, run Chromium on ARM, build, run Chromium/unittests on Linux
TBR=fischman@webrtc.org, mflodman@webrtc.org, mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5070 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-31 21:48:16 +00:00
sheu@chromium.org
d705649edf Revert "Remove extra copy in VideoCaptureImpl::IncomingFrameI420"
This reverts commit 99f9743fe39066ba93b41f2b0a417696cbbd06fb.

Revert while build breakage is fixed.

BUG=None
TBR=niklas.emblom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5069 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-31 21:20:15 +00:00
sheu@chromium.org
1a4ed0d70c Remove extra copy in VideoCaptureImpl::IncomingFrameI420
Add support for aliasing a I420VideoFrame (and internally, a Plane) to an
existing memory buffer without taking ownership.  Use this to remove an extra
copy in VideoCaptureImpl::IncomingFrameI420.

BUG=1128
TEST=local build, run Chromium on ARM, build, run Chromium/unittests on Linux
R=fischman@webrtc.org, mflodman@webrtc.org, mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5068 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-31 20:32:28 +00:00
pbos@webrtc.org
e05362916c Make sure the first frame isn't dropped.
If frames were delivered within the same millisecond as VideoCaptureImpl
was created, or the timestamp weren't granular enough then the first
frame would be mistakenly dropped because of having the same timestamp
as a previous one, even though there was no previous one.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5004 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-21 09:02:30 +00:00
fischman@webrtc.org
4e65e07e41 VideoCaptureAndroid: rewrote the (standalone) implementation of video capture on Android.
Besides being ~40% the size of the previous implementation, this makes it so
that VideoCaptureAndroid can stop and restart capture, which is necessary to
support onPause/onResume reasonably on Android.

BUG=1407
R=henrike@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4915 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-03 18:23:13 +00:00
andresp@webrtc.org
77bf5c28c8 Clean capture timestamp code.
BUG=
R=mflodman@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4675 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-04 11:35:43 +00:00
pbos@webrtc.org
a9b74ad716 Include files from webrtc/.. paths in video_capture/.
BUG=1662
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4337 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-12 10:03:52 +00:00
hclam@chromium.org
1a7b9b94be Cleanup WebRTC tracing
The goal of this change is to:
1. Remove unused tracing events.
2. Organize tracing events to facilitate measurement of end to end latency.

The major change in this CL is to use ASYNC_STEP such that operation
flow can be traced for the same frame.

R=marpan@webrtc.org, pwestin@webrtc.org, turaj@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4308 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-08 21:31:18 +00:00
pbos@webrtc.org
d900e8bea8 Proper spacing for end-of-namespace comments.
BUG=
R=mflodman@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 15:12:26 +00:00