Commit Graph

9 Commits

Author SHA1 Message Date
b29b9c8e49 Replace VideoCaptureDataCallback by VideoSinkInterface.
This also deletes unused features of the video_capturer interface, the classes
VideoCaptureFeedBack, VideoCaptureEncodeInterface and related methods,
and the module id which used to be passed as an argument to the
VideoCaptureDataCallback.

In theory the module id could have been used to let a single
VideoCaptureDataCallback serve several capturers, and demultiplex
on the id, but in practice, it was unused. With this change, it is
required to use a separate VideoSinkInterface for each capturer.

BUG=webrtc:6789

Review-Url: https://codereview.webrtc.org/2534553002
Cr-Commit-Position: refs/heads/master@{#15540}
2016-12-12 08:23:05 +00:00
69fc315fd9 Convert DeviceInfoImpl::_captureCapabilities from a map to a vector.
The map was just mapping an index to a pointer of a POD, so the code is easily
simplified by using a vector (with implicit index key) and the POD as a value.
(also fixes a leak in the windows code, which lacked a virtual dtor for
VideoCaptureCapabilityWindows but was deleting through a base pointer).

R=perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4840 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 17:01:42 +00:00
4ca7d3f9fe Replace MapWrapper with std::map<>.
MapWrapper was needed on some platforms where STL wasn't supported, we
now use std::map<> directly.

BUG=2164
TEST=trybots
R=henrike@webrtc.org, phoglund@webrtc.org, stefan@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4530 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 19:51:57 +00:00
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
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
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
8187877402 Reland 3135 - Previous failure was bot flakiness.
*****

Restructure the video_capture code a bit to make room for a Media Foundation class implementation.
This change includes the following:

* Skeleton classes for a couple of base MediaFoundation classes (no code yet).  See *_mf.*.
* Renaming the DirectShow based implementation from "_windows" to "_ds".
* Move the VideoCaptureImpl::CreateDeviceInfo() method into video_capture_factory_windows.cc
  The reason for this is that that's where the other VideoCaptureImpl factory function is
  and the factory function won't be implementation specific.
* Removed use of <initguid.h> from a header file to avoid defining the same guids in multiple object files.
  (more info here: http://msdn.microsoft.com/en-us/library/windows/desktop/dd375463(v=vs.85).aspx)
* Moved a couple of global variables from the capture_delay_values_windows.h header and into
  device_info_ds.cc since that's the only file that uses those variables.
* Delete capture_delay_values_windows.h.
* Added a factory function: DeviceInfoDS::Create() that'll create the DirectShow specific implementation.

TEST=This is mostly moving code around.  The code that is added, is currently "dead". No manual testing needed.
BUG=chromium:140545
Review URL: https://webrtc-codereview.appspot.com/967008

TBR=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/934017

TBR=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/934018

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3137 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-20 13:35:33 +00:00
951b6c404a Revert 3135 - This broke the Mac bots somehow. Here's the error:
[ RUN      ] ViEStandardIntegrationTest.RunsBaseTestWithoutErrors
2012-11-20 13:06:59.625 vie_auto_test[4001:f07] An uncaught exception was raised
2012-11-20 13:06:59.625 vie_auto_test[4001:f07] Error (1000) creating CGSWindow on line 259
2012-11-20 13:06:59.670 vie_auto_test[4001:f07] (
	0   CoreFoundation                      0x9a4e912b __raiseError + 219
	1   libobjc.A.dylib                     0x95ee252e objc_exception_throw + 230
	2   CoreFoundation                      0x9a448bbb +[NSException raise:format:] + 139
	3   AppKit                              0x996b4757 _NSCreateWindowWithOpaqueShape2 + 302
	4   AppKit                              0x996b2f40 -[NSWindow _commonAwake] + 1823
	5   AppKit                              0x9966fa77 -[NSWindow _commonInitFrame:styleMask:backing:defer:] + 1652
	6   AppKit                              0x9966eb3f -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1063
	7   AppKit                              0x9966e704 -[NSWindow initWithContentRect:styleMask:backing:defer:] + 70
	8   vie_auto_test                       0x0015c232 -[TestCocoaUi createWindows:] + 338
	9   libobjc.A.dylib                     0x95eef5d3 -[NSObject performSelector:withObject:] + 70
	10  Foundation                          0x969050c0 __NSThreadPerformPerform + 395
	11  CoreFoundation                      0x9a3bf66f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
	12  CoreFoundation                      0x9a3bf099 __CFRunLoopDoSources0 + 233
	13  CoreFoundation                      0x9a3e4e46 __CFRunLoopRun + 934
	14  CoreFoundation                      0x9a3e463a CFRunLoopRunSpecific + 378
	15  CoreFoundation                      0x9a3e44ab CFRunLoopRunInMode + 123
	16  Foundation                          0x9690d946 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 278
	17  vie_auto_test                       0x002e490a main + 522
	18  vie_auto_test                       0x000b1835 start + 53

*****


Restructure the video_capture code a bit to make room for a Media Foundation class implementation.
This change includes the following:

* Skeleton classes for a couple of base MediaFoundation classes (no code yet).  See *_mf.*.
* Renaming the DirectShow based implementation from "_windows" to "_ds".
* Move the VideoCaptureImpl::CreateDeviceInfo() method into video_capture_factory_windows.cc
  The reason for this is that that's where the other VideoCaptureImpl factory function is
  and the factory function won't be implementation specific.
* Removed use of <initguid.h> from a header file to avoid defining the same guids in multiple object files.
  (more info here: http://msdn.microsoft.com/en-us/library/windows/desktop/dd375463(v=vs.85).aspx)
* Moved a couple of global variables from the capture_delay_values_windows.h header and into
  device_info_ds.cc since that's the only file that uses those variables.
* Delete capture_delay_values_windows.h.
* Added a factory function: DeviceInfoDS::Create() that'll create the DirectShow specific implementation.

TEST=This is mostly moving code around.  The code that is added, is currently "dead". No manual testing needed.
BUG=chromium:140545
Review URL: https://webrtc-codereview.appspot.com/967008

TBR=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/934017

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3136 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-20 12:17:05 +00:00
704eb8fa15 Restructure the video_capture code a bit to make room for a Media Foundation class implementation.
This change includes the following:

* Skeleton classes for a couple of base MediaFoundation classes (no code yet).  See *_mf.*.
* Renaming the DirectShow based implementation from "_windows" to "_ds".
* Move the VideoCaptureImpl::CreateDeviceInfo() method into video_capture_factory_windows.cc
  The reason for this is that that's where the other VideoCaptureImpl factory function is
  and the factory function won't be implementation specific.
* Removed use of <initguid.h> from a header file to avoid defining the same guids in multiple object files.
  (more info here: http://msdn.microsoft.com/en-us/library/windows/desktop/dd375463(v=vs.85).aspx)
* Moved a couple of global variables from the capture_delay_values_windows.h header and into
  device_info_ds.cc since that's the only file that uses those variables.
* Delete capture_delay_values_windows.h.
* Added a factory function: DeviceInfoDS::Create() that'll create the DirectShow specific implementation.

TEST=This is mostly moving code around.  The code that is added, is currently "dead". No manual testing needed.
BUG=chromium:140545
Review URL: https://webrtc-codereview.appspot.com/967008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3135 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-20 11:27:25 +00:00