summaryrefslogtreecommitdiffstats
path: root/webkit/glue/media
Commit message (Collapse)AuthorAgeFilesLines
* FBTF: Monster ctor patch after changing heuristics in clang plugin.erg@google.com2010-10-182-3/+6
| | | | | | | | | | | (Only 916k this time off Debug Linux .a files) BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3814013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62967 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Fix more ctor/dtors found by clang plugin.erg@google.com2010-10-132-1/+3
| | | | | | | | | | | (1.2 megs off of Debug Linux .a files) BUG=none TEST=compiles everywhere Review URL: http://codereview.chromium.org/3743001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62420 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move some structs in webkit_glue::ResourceLoaderBridge:: .erg@google.com2010-10-086-16/+16
| | | | | | | | | | | | | This moves inner structs into the namespace toplevel so we can foreward declare them; then we forward declare them in render_messages.h so we can drop that header. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3616014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61996 0039d316-1c4b-4281-b951-d872f2087c98
* webkit: Append base:: in the StringPrintf calls.tfarina@chromium.org2010-09-292-17/+20
| | | | | | | | | | | (Note: This is a TODO in string_util.h) BUG=None TEST=None Review URL: http://codereview.chromium.org/3404027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60885 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move virtual methods to implementation files.erg@google.com2010-09-231-0/+1
| | | | | | | | | | | Remove logging.h and other headers where possible. BUG=none TEST=none Review URL: http://codereview.chromium.org/3461019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60369 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: report network stack-based finish time for resources.pfeldman@chromium.org2010-09-166-11/+17
| | | | | | | | | BUG= TEST= Review URL: http://codereview.chromium.org/3385004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59617 0039d316-1c4b-4281-b951-d872f2087c98
* Adding way to pass video frames between Chromium and WebKitvrk@google.com2010-08-313-3/+25
| | | | | | | | | | | | | This patch adds an implementation of the WebVideoFrame interface defined in WebKit, and it adds behavior to WebMediaPlayerImpl to pass video frame data between WebKit and Chromium. BUG=none TEST=none Review URL: http://codereview.chromium.org/3155050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58022 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unnecessary STL #includes from src/webkit.viettrungluu@chromium.org2010-08-191-2/+0
| | | | | | | | | BUG=none TEST=builds Review URL: http://codereview.chromium.org/3122029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56655 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unneeded headers from base/ (part 6)thestig@chromium.org2010-08-191-4/+4
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3093013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56641 0039d316-1c4b-4281-b951-d872f2087c98
* GTTF: some more FRIEND_TEST_ALL_PREFIXESphajdan.jr@chromium.org2010-08-161-2/+3
| | | | | | | | | TEST=none BUG=44549 Review URL: http://codereview.chromium.org/3161021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56253 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper stream-to-file plumbing.darin@chromium.org2010-07-223-6/+3
| | | | | | | | | | | | This just hooks up the renderer side of the IPC. R=brettw BUG=49789 TEST=none Review URL: http://codereview.chromium.org/3053009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53378 0039d316-1c4b-4281-b951-d872f2087c98
* Fix an unitialized read in a unit test to appease valgrindthakis@chromium.org2010-07-202-5/+1
| | | | | | | | | | | See http://codereview.chromium.org/2908003 for some backstory. BUG=none TEST=Webkit Mac memory bot goes green. Review URL: http://codereview.chromium.org/2825059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52988 0039d316-1c4b-4281-b951-d872f2087c98
* Video Buffering: Caches data to disk when paused (resubmit)vrk@google.com2010-07-153-5/+209
| | | | | | | | | | | | | Resubmitting this buffering patch because original patch was reverted. This patch clears up the memory leak issue in the unit tests and adds valgrind suppressions to silence the uninitialized variable false positives. BUG=42285 TEST=test_shell_tests Review URL: http://codereview.chromium.org/2908003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52569 0039d316-1c4b-4281-b951-d872f2087c98
* media: refactoring video_render_base to recycle buffersjiesun@google.com2010-07-141-4/+14
| | | | | | | | | | | | | | To make recycle work, we had to define the usage scope of current frame. otherwise we are introducing tearing because we will begin to decode into the buffer before it is done by the renderer/painter/compositor. current mechanism depends on hold reference of a copied picture. we had no that luxury if we do not copy output buffers. we had to compromise by 1. in pause() ( which is not the sense of pipeline->pause(), which is implemented by set playrate = 0 ) in filter->pause() ( or in the future flush() ), which is part of seeking ( and in the future, part of stop() too) , we had to return all the buffers to owner. we had no current buffer to display. we use NULL as current frame in this case. 2. remove black frame from render base, this is only valid for system memory based video frame, even that should we use color fill instead of color conversion and scale. 3. pause and stop has to wait for pending read (actually flush) and pending paint. 4. we only advance frame when there are two or more frames in ready queue. Review URL: http://codereview.chromium.org/2836038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52398 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting my previous changesvrk@google.com2010-07-073-210/+6
| | | | | | | | | | Reverting r51789, r51762. TBR=hclam Review URL: http://codereview.chromium.org/2823041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51800 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed memory leak in test shell testsvrk@google.com2010-07-071-0/+6
| | | | | | | | | | | | Added call to cleanup code in AllowDefer tests so that the resource is properly released. BUG=none TEST=test_shell_tests Review URL: http://codereview.chromium.org/2825042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51789 0039d316-1c4b-4281-b951-d872f2087c98
* Video buffering: Caches data to disk when paused for faster bufferingvrk@google.com2010-07-073-6/+204
| | | | | | | | | | | | | | | | | | | Added logic to buffered data source and buffered resource loading so that media is continually cached to disk when video is paused and the in-memory buffer is full. When the buffered resource loader sees that disk caching is enabled (which is triggered by the data source when paused), it does not defer but instead writes and reads data from the seekable buffer, essentially caching the data to disk without keeping too much video in memory. Also added unit test for this behavior and made SeekableBuffer methods virtual in order to properly mock the buffer. BUG=none TEST=test_shell_tests Review URL: http://codereview.chromium.org/2824048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51762 0039d316-1c4b-4281-b951-d872f2087c98
* Calling slow video renderer in case opacity is not 1.0.pranavk@chromium.org2010-07-021-0/+19
| | | | | | | | | BUG=41057 TEST=load page http://ddstreet.org/chrome-video-opacity-bug/ and see that the video is translucent. Review URL: http://codereview.chromium.org/2848034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51560 0039d316-1c4b-4281-b951-d872f2087c98
* 1. remove initial rendering lag time for egl image decoding pathwjia@google.com2010-06-242-2/+6
| | | | | | | | | | | 2. put all GLES operations in one thread BUG=none TEST=dev platform and desktop Review URL: http://codereview.chromium.org/2836019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50749 0039d316-1c4b-4281-b951-d872f2087c98
* code cleanup for media code for video renerers.jiesun@google.com2010-06-231-13/+3
| | | | | | | | | add more generic surface format and surface type signalling from video decoder to video renderer. if we want to allocate buffer in renderer, we had to know these kind of information. remove redundant ParseMediaFormat and duplicated width,height, egl_image_supports in derived class of VideoRenderBase. Review URL: http://codereview.chromium.org/2829009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50558 0039d316-1c4b-4281-b951-d872f2087c98
* Make MediaFilter::Stop() asynchronous.boliu@chromium.org2010-06-116-20/+36
| | | | | | | | | | | | | | This is the second issue regarding making Stop() asynchronous. All Stop() in subclasses of MediaFilter is made to accept a callback and runs the callback at the end of its stop. BUG=16059 TEST=media_unittest, unit_tests, test_shell_tests still passes Review URL: http://codereview.chromium.org/2541003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49548 0039d316-1c4b-4281-b951-d872f2087c98
* Add EGLImage as one media type different than regular uncompressed video buffer.scherkus@chromium.org2010-05-051-2/+5
| | | | | | | | | | | | | | Video renderer could get this info via decoder->media_format(). This is needed in case video renderer is the buffer allocator. Patch by wjia@chromium.org: http://codereview.chromium.org/1725021/show BUG=NONE TEST=compiles Review URL: http://codereview.chromium.org/1952003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46479 0039d316-1c4b-4281-b951-d872f2087c98
* Mark some more release() calls with ignore_result.estade@chromium.org2010-05-042-11/+8
| | | | | | | | | BUG=42904 TEST=none Review URL: http://codereview.chromium.org/1695033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46411 0039d316-1c4b-4281-b951-d872f2087c98
* Merging SeekableBuffer and BufferQueue:sergeyu@chromium.org2010-04-271-2/+2
| | | | | | | | | | | | 1. Removed SeekableBuffer::Buffer. 2. Extended SeekableBuffer to support all the features of BufferQueue. 3. BufferQueue removed and replaced with SeekableBuffer. BUG=28654 TEST=none Review URL: http://codereview.chromium.org/1736012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45669 0039d316-1c4b-4281-b951-d872f2087c98
* Optimized version of bilinear video scaler. It is about 2 times faster than ↵sergeyu@chromium.org2010-04-091-18/+16
| | | | | | | | | | | Skia that is currently used for video scaling. BUG=19113 TEST=none Review URL: http://codereview.chromium.org/1556021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44119 0039d316-1c4b-4281-b951-d872f2087c98
* Don't clear VideoRendererImpl's proxy_ variable during OnStop().scherkus@chromium.org2010-04-061-5/+1
| | | | | | | | | | | | | | | | | | | | Nasty threading issue involving PipelineThread, VideoRendererThread and RenderThread: - VideoRendererThread continuously calls OnFrameAvailable(), as expected - RenderThread gets the signal to destroy a <video> - RenderThread blocks on PipelineThread to finish clean up - PipelineThread calls OnStop(), which sets proxy_ to NULL - Race condition occurs if VideoRendererThread was already on its way to call OnFrameAvailable() again Now we could fix this by adding more locks (i.e., inside VideoRendererBase::ThreadMain() before we call OnFrameAvailable()), but that defeats the entire point of keeping VideoRendererThread as lock-free as possible. We could also add an extra lock in VideoRendererImpl to synchronize access to proxy_, but that's unnecessary as proxy_ outlives VideoRendererImpl so there's no need to set it to NULL. Furthermore it's OK to keep calling proxy_->Repaint() since that will post tasks to the RenderThread, which is conveniently blocked on PipelineThread to finish, who is blocked on VideoRendererThread to finish calling proxy_->Repaint()! After that task is posted, everything unblocks and terminates and when RenderThread resumes it notifies proxy_ to cancel any pending tasks (such as that last repaint). BUG=35858 TEST=layout tests should crash less frequently on shutdown Review URL: http://codereview.chromium.org/1625003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43766 0039d316-1c4b-4281-b951-d872f2087c98
* Bilinear video scaling enabled (using Skia).scherkus@chromium.org2010-04-021-15/+21
| | | | | | | | | | | | | | | This has a performance impact on scaled video but looks considerably better. We still use our optimized path for unscaled video. Patch by sergeyu@chromium.org http://codereview.chromium.org/1081011/show BUG=19113 TEST=none Review URL: http://codereview.chromium.org/1535017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43444 0039d316-1c4b-4281-b951-d872f2087c98
* Added --enable-video-logging, which will log the presentation timestamp of ↵scherkus@chromium.org2010-03-302-13/+38
| | | | | | | | | | | | | video frames. In conjunction with a log parser we can detect dropped frames and our display jitter. BUG=none TEST=none Review URL: http://codereview.chromium.org/1398001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43038 0039d316-1c4b-4281-b951-d872f2087c98
* Merged VideoSurface, VideoFrame and VideoFrameImpl in VideoFrame.scherkus@chromium.org2010-03-231-126/+110
| | | | | | | | | | | Patch by sergeyu@chromium.org BUG=28100 TEST=Ran media_unittests Review URL: http://codereview.chromium.org/1226001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42391 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/gfx contents to gfx/ben@chromium.org2010-03-141-5/+5
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41559 0039d316-1c4b-4281-b951-d872f2087c98
* More dependency breaking. webkit shouldn't depend on chrome or ipc.tony@chromium.org2010-03-101-1/+0
| | | | | | | | The GPU code will still cause problems, but this is a step in the right direction. Review URL: http://codereview.chromium.org/707002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41115 0039d316-1c4b-4281-b951-d872f2087c98
* Initial work for cross-process video rendering using layers.scherkus@chromium.org2010-02-263-19/+64
| | | | | | | | | | | Introduces VideoLayer, which is similar to BackingStore except handles YUV surfaces and conversion to RGB. BUG=33329 TEST=N/A Review URL: http://codereview.chromium.org/597066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40137 0039d316-1c4b-4281-b951-d872f2087c98
* Pulled out Callback code into base/callback.h. This is the first step ↵akalin@chromium.org2010-02-194-6/+10
| | | | | | | | | | | | | towards redoing the Callback interfaces. Added and removed includes as needed. BUG=35223 TEST=trybots Review URL: http://codereview.chromium.org/646061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39419 0039d316-1c4b-4281-b951-d872f2087c98
* Revert two changes that accidentally got in my last checkin.brettw@chromium.org2010-01-122-19/+0
| | | | | | | BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36048 0039d316-1c4b-4281-b951-d872f2087c98
* Working rudimentary audio in Pepper.brettw@chromium.org2010-01-122-0/+19
| | | | | | | | | BUG=28292 TEST=none Patch by neb@chromium.org Original review: http://codereview.chromium.org/524006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36043 0039d316-1c4b-4281-b951-d872f2087c98
* Add a CreateBridge method to the ChildThread.jcampan@chromium.org2009-12-191-13/+15
| | | | | | | | | | | | | The intent is to allow unit-tests that use render view to override ChildThread::CreateBridge() to provide their own resource loading. This is used by the upcoming translate unit-test. BUG=None TEST=None Review URL: http://codereview.chromium.org/503032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35014 0039d316-1c4b-4281-b951-d872f2087c98
* Add compiler-specific "examine printf format" attributes to printfs.evan@chromium.org2009-11-202-5/+10
| | | | | | | | | | | | Functions that take a printf-style format get a new annotation, which produces a bunch of compiler warnings when you use printf impoperly. This change adds the annotations and fixes the warnings. We now must use PRId64 for 64-bit numbers and the PRIsz for size_t. Review URL: http://codereview.chromium.org/339059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32600 0039d316-1c4b-4281-b951-d872f2087c98
* Use an explicit boolean has_new_first_party_for_cookies insteadwtc@chromium.org2009-11-184-2/+8
| | | | | | | | | | | | of an empty, invalid URL to indicate whether the first party for cookies URL needs changing when following a redirect. R=eroman BUG=25133 TEST=none Review URL: http://codereview.chromium.org/405011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32260 0039d316-1c4b-4281-b951-d872f2087c98
* Propagate the "first party for cookies" from WebKit to the network stackwtc@chromium.org2009-11-134-4/+10
| | | | | | | | | | | | | | when we follow a redirect, because WebKit's MainResourceLoader::willSendRequest method may change the "first party for cookies" URL of the resource request. R=abarth BUG=25133 TEST=In Options menu, change cookie policy to "Accept cookies only from sites I visit" and then follow the instructions in issue 25133 comment 20. Review URL: http://codereview.chromium.org/385024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31951 0039d316-1c4b-4281-b951-d872f2087c98
* Upstreaming WebKit.gypyaar@chromium.org2009-11-121-1/+1
| | | | | | | | | | | | This mega patch contains a few simple but tightly dependent changes: 1. Deletion of webkit/api/WebKit.gyp. The file now lives in webkit.org. 2. Rename of webkit/webkit.gyp to webkit/webkit_glue.gyp. Having two webkit.gyp was a source of developer confusion. 3. Gyp dependencies are updated across chromium to point at the upstream WebKit.gyp and the renamed webkit_glue.gyp. 4. Some 200+ files include paths fixed to point to third_party/WebKit/WebKit/chromium instead of webkit/api. The later will be deleted in a subsequent patch. Review URL: http://codereview.chromium.org/387020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31749 0039d316-1c4b-4281-b951-d872f2087c98
* Third patch in making destructors of refcounted objects private.jam@chromium.org2009-11-052-2/+8
| | | | | | | BUG=26749 Review URL: http://codereview.chromium.org/363023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31169 0039d316-1c4b-4281-b951-d872f2087c98
* Make GetURLForDebugging return a const GURL.tony@chromium.org2009-10-284-5/+5
| | | | | | Review URL: http://codereview.chromium.org/326003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30388 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed valgrind breakage by r29848hclam@chromium.org2009-10-231-9/+3
| | | | | | | | | | TBR=scherkus References shouldn't have been released. Review URL: http://codereview.chromium.org/333004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29856 0039d316-1c4b-4281-b951-d872f2087c98
* Allow <video> to read from a data URI. Data URI is now handledhclam@chromium.org2009-10-235-62/+131
| | | | | | | | | | | | | | by SimpleDataSource. Selection of data source is done by the existing factory method by calling to IsMediaFormatSupported. And each data source would determine if they support the mentioned scheme. BUG=24357 TEST=open a video with data:/ scheme. Review URL: http://codereview.chromium.org/284007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29848 0039d316-1c4b-4281-b951-d872f2087c98
* Set os_error to net::ERR_ABORTED instead of 0 or net::ERR_FAILED whenwtc@chromium.org2009-10-171-0/+1
| | | | | | | | | | | we set the status of a URLRequestStatus to URLRequestStatus::CANCELED. R=eroman BUG=24674 TEST=none Review URL: http://codereview.chromium.org/269064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29367 0039d316-1c4b-4281-b951-d872f2087c98
* Report stalled event correctly for <video>hclam@chromium.org2009-10-163-150/+298
| | | | | | | | | | | | | | | | | | | | | BUG=20127 BUG=13568 TEST=Opens a web page, stalled event should be fire only if network is actuall stalled. What this patch does: 1. Report Loading / Idle according to whether we are actively receiving data in the BuffereResourceLoader. This is done by signaling the network events to BufferedDataSource and then to the media playback pipeline. 2. Report byteLoaded() as the last byte position buffered. This will enable an actual ticking progress for the progress event. With this value actually ticking, stalled event is suppressed. Review URL: http://codereview.chromium.org/269002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29235 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity: initialize read_attempts_ in BufferedDataSource constructor.mattm@chromium.org2009-10-061-0/+1
| | | | | | | | | | CID=5439 BUG=none TEST=none Review URL: http://codereview.chromium.org/258030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28088 0039d316-1c4b-4281-b951-d872f2087c98
* Enable <video> using cachehclam@chromium.org2009-09-303-176/+189
| | | | | | | | | | | | Retrying the following two patches: http://codereview.chromium.org/253001/show http://codereview.chromium.org/248012/show TBR=scherkus Review URL: http://codereview.chromium.org/242073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27632 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r27587 that broke the treehclam@chromium.org2009-09-303-141/+178
| | | | | | | | TBR=scherkus Review URL: http://codereview.chromium.org/246044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27591 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r27589 that broke the treehclam@chromium.org2009-09-301-6/+4
| | | | | | | | TBR=scherkus Review URL: http://codereview.chromium.org/246043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27590 0039d316-1c4b-4281-b951-d872f2087c98