Thiago Farina
9bfe3daf73
Cleanup: Remove i420_video_frame.h header.
...
It is just a pass through to webrtc/video_frame.h. Updated the callers
to include webrtc/video_frame.h instead and removed i420_video_frame.h.
This should fix pbos' TODO in i420_video_frame.h.
Tested on Linux with the following command lines:
$ rm -rf out/
$ ./webrtc/build/gyp_webrtc
$ ninja -C out/Debug
BUG=None
TEST=see above
R=magjed@webrtc.org , pbos@webrtc.org , tommi@webrtc.org
TBR=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/46819004
Patch from Thiago Farina <tfarina@chromium.org>.
Cr-Commit-Position: refs/heads/master@{#8973}
2015-04-10 10:52: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
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
pkasting@chromium.org
16825b1a82
Use int64_t more consistently for times, in particular for RTT values.
...
Existing code was inconsistent about whether to use uint16_t, int, unsigned int,
or uint32_t, and sometimes silently truncated one to another, or truncated
int64_t. Because most core time-handling functions use int64_t, being
consistent about using int64_t unless otherwise necessary minimizes the number
of explicit or implicit casts.
BUG=chromium:81439
TEST=none
R=henrik.lundin@webrtc.org , holmer@google.com , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31349004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8045 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 21:51:21 +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
andresp@webrtc.org
85ef770d92
Split video engine android initialization into each internal module initialization.
...
This is to later on allow targets to pick at link time if to include the external or internal implementation. In order to do that the video_engine cannot compile different based on which option is picked later on.
BUG=3768,3770
R=glaznev@webrtc.org , stefan@webrtc.org
TBR=henrike@webrtc.org , mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/25529004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7208 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-17 11:44:51 +00:00
fischman@webrtc.org
9512719569
AppRTCDemo(android): support app (UI) & capture rotation.
...
Now app UI rotates as the device orientation changes, and the captured stream
tries to maintain real-world-up, matching Chrome/Android and Hangouts/Android
behavior.
BUG=2432
R=glaznev@webrtc.org , henrike@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/15689005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6354 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 18:40:44 +00:00
wuchengli@chromium.org
637c55f45b
Add support of texture frames for video capturer.
...
This is a reland of r6252. The video_capture_tests failure on
builder Android Chromium-APK Tests should be flaky.
- Add ViECapturer unittest.
- Add CloneFrame function in I420VideoFrame.
- Encoders do not support texture yet and texture frames
are dropped in ViEEncoder for now.
Corresponding CLs:
https://codereview.chromium.org/277943002
http://cl/66620352
BUG=chromium:362437
TEST=WebRTC video stream forwarding, video_engine_core_unittests,
common_video_unittests and video_capture_tests_apk.
TBR=fischman@webrtc.org , perkj@webrtc.org , stefan@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/12609004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6258 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-28 07:00:51 +00:00
wuchengli@chromium.org
89e8ffb395
Revert "Add support of texture frames for video capturer."
...
This reverts commit 83c89cd003be75d7d06ef9a2b139588f08d280ca.
Reason: The Buildbot has detected a new failure on builder
Android Chromium-APK Tests.
BUG=chromium:362437
TBR=fischman@webrtc.org , perkj@webrtc.org , stefan@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/12599004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6253 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-27 14:12:58 +00:00
wuchengli@chromium.org
efe15355ee
Add support of texture frames for video capturer.
...
- Add ViECapturer unittest.
- Add CloneFrame function in I420VideoFrame.
- Encoders do not support texture yet and texture frames
are dropped in ViEEncoder for now.
Corresponding CLs:
https://codereview.chromium.org/277943002
http://cl/66620352
BUG=chromium:362437
TEST=WebRTC video stream forwarding. Run video_engine_core_unittests and common_video_unittests.
R=fischman@webrtc.org , perkj@webrtc.org , stefan@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/12499004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6252 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-27 12:40:27 +00:00
fischman@webrtc.org
b0b135e4c2
VideoCaptureAndroid: support multiple frame-rates per resolution.
...
Also enables running video_capture_tests_apk on the WebRTC/Chromium APK bots,
assuming GYP_DEFINES includes include_tests=1 and
include_internal_video_capture=1.
This required running VideoCaptureAndroid's camera capture on a dedicated thread, matching other platform's video_capture impls.
BUG=2974,3152
R=wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11359004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5868 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-09 01:18:32 +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
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
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
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
mflodman@webrtc.org
3ba883f0fc
Removing functionality for inserting pre-encoded frames instead of raw
...
video frames. The functionality hasn't been used for a long time and
should be done properly if used in the future.
This is a pre-step for implementing CPU overload control.
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1630004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4194 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-07 13:57:57 +00:00
stefan@webrtc.org
b8e7f4cc97
Change capture interface to use NTP capture time.
...
Move NTP functionality to Clock.
BUG=1563
TEST=trybots and vie_auto_test --automated
Review URL: https://webrtc-codereview.appspot.com/1313005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3842 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-12 11:56:23 +00:00
pbos@webrtc.org
dfc5bb9c97
WebRtc_Word32 -> int32_t in video_capture/
...
BUG=314
Review URL: https://webrtc-codereview.appspot.com/1298005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3811 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-10 08:23:13 +00:00
mikhal@webrtc.org
ac993fef2c
Adding codecType to OnIncomingCapturedEncodedFrame
...
partially reverting r3013.
Review URL: https://webrtc-codereview.appspot.com/965010
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3055 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-07 17:18:04 +00:00
andrew@webrtc.org
94caca7105
Reorganize modules/video_capture.
...
- The usual elimination of main/source etc.
- Fully qualify "public" includes.
- Use lowercase for all directory names.
Review URL: https://webrtc-codereview.appspot.com/933010
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3025 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-30 21:58:00 +00:00