summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* media seek to any frame for ffmpegfbarchard@chromium.org2010-07-201-0/+4
| | | | | | | | | BUG=none TEST=should help layout tests when combined with a roll Review URL: http://codereview.chromium.org/2809061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53004 0039d316-1c4b-4281-b951-d872f2087c98
* file_util: deprecate remaining wstring functionsevan@chromium.org2010-07-168-53/+72
| | | | | | | | | | | This removes the last wstring-accepting functions from file_util on non-Windows platforms. BUG=24672 Review URL: http://codereview.chromium.org/3005005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52755 0039d316-1c4b-4281-b951-d872f2087c98
* temporary fix for OMX port setting change eventwjia@google.com2010-07-162-7/+15
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/2868050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52702 0039d316-1c4b-4281-b951-d872f2087c98
* Add an AudioInputController to help with audio recording.satish@chromium.org2010-07-164-0/+409
| | | | | | | | | | | This is similar to the existing AudioOutputController class used for playback. Also adds a unit test which uses the new fake audio input stream, so this patch is dependant on http://codereview.chromium.org/2909015 TEST=no new user visible change to test, just some backend recording additions which are unused at the moment. BUG=none Review URL: http://codereview.chromium.org/2905010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52617 0039d316-1c4b-4281-b951-d872f2087c98
* This callback is created byjiesun@google.com2010-07-151-5/+4
| | | | | | | | void PipelineImpl::FilterStateTransitionTask() and the ownership is transferred to Filter, filter should delete this callback. Review URL: http://codereview.chromium.org/2845044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52565 0039d316-1c4b-4281-b951-d872f2087c98
* Audio pause and seek betterhclam@chromium.org2010-07-152-19/+69
| | | | | | | | | | | | | BUG=39885 Pause for audio is now in effect in less than 200ms. Seek for audio is also much better as we play also very short amount after seek. Review URL: http://codereview.chromium.org/2931014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52560 0039d316-1c4b-4281-b951-d872f2087c98
* AudioController sets volume to 1.0 by defaulthclam@chromium.org2010-07-151-1/+1
| | | | | | | | | | | | | | NaCl audio stop working because the demo NaCl plugin doesn't set volume. We revert to the original behavior of AudioController by setting volume to 1.0 by default. TBR=neb BUG=49807 TEST=NaCl audio plays Review URL: http://codereview.chromium.org/2966014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52548 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt four at landing the "histogram.h removed from message_loop.h" patch.erg@chromium.org2010-07-155-0/+5
| | | | | | | | | | | | | | Previously committed as r52349 and r52336. Related commits: r52367, r52364 and r52343. Rerunning trybots due to previous trybot breakage. TEST=none BUG=none Review URL: http://codereview.chromium.org/2965015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52496 0039d316-1c4b-4281-b951-d872f2087c98
* Add a fake audio input stream for testing purposes.satish@chromium.org2010-07-157-1/+201
| | | | | | | | | | This will be used by unit tests in subsequent patches. BUG=none TEST=no new features added and nothing new to test Review URL: http://codereview.chromium.org/2909015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52464 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed ended event when playing audio on linux.sergeyu@chromium.org2010-07-143-43/+3
| | | | | | | | | | | AudioRendererBase::FillBuffers() sends ended event only when playback_delay == 0, but with ALSA output the delay was never set to 0 because it includes hardware delay. Changed ALSA output to include only internal buffers in the delay value: this matches windows and mac versions. BUG=45074 TEST=<audio> fires ended event when necessary Review URL: http://codereview.chromium.org/2978005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52407 0039d316-1c4b-4281-b951-d872f2087c98
* media: refactoring video_render_base to recycle buffersjiesun@google.com2010-07-146-132/+205
| | | | | | | | | | | | | | 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
* Revert everything related to the relanding.erg@chromium.org2010-07-145-5/+0
| | | | | | Review URL: http://codereview.chromium.org/2982009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52367 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r52336.erg@chromium.org2010-07-145-0/+5
| | | | | | | | | | | | | | (I accidentally committed a previous version of the patch (the fixed version was in codereview since I had switched to my mac to address this exact compile failure.) BUG=none TEST=none TBR=evan Review URL: http://codereview.chromium.org/2937010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52349 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 52336 - More header cleanup:erg@chromium.org2010-07-145-5/+0
| | | | | | | | | | | | | | | | - Some cleanup to url_request.h - Remove task.h from headers that don't need it. - Remove histogram.h from message_loop.h BUG=none TEST=none Review URL: http://codereview.chromium.org/2986002 TBR=erg@chromium.org Review URL: http://codereview.chromium.org/2969006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52343 0039d316-1c4b-4281-b951-d872f2087c98
* More header cleanup:erg@chromium.org2010-07-145-0/+5
| | | | | | | | | | | | | - Some cleanup to url_request.h - Remove task.h from headers that don't need it. - Remove histogram.h from message_loop.h BUG=none TEST=none Review URL: http://codereview.chromium.org/2986002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52336 0039d316-1c4b-4281-b951-d872f2087c98
* Add recording capability to AudioManager, and implemented on windows using ↵satish@chromium.org2010-07-1414-5/+696
| | | | | | | | | | | | | the WaveIn APIs. Implementation for other platforms will follow in future patches. Also includes a unit test. BUG=none TEST=no user visible change yet, just adding audio recording backend. Review URL: http://codereview.chromium.org/2966005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52292 0039d316-1c4b-4281-b951-d872f2087c98
* Rename a header and some methods to make way for subsequent audio recording ↵satish@chromium.org2010-07-1228-156/+162
| | | | | | | | | | | | | additions. Renaming audio_output.h to audio_io.h as future patches will add audio recording code to this file. Also renamed a couple of methods to make it clear that these are for audio playback/output and similar methods will be added for audio capture/recording soon. BUG=none TEST=no change in functionality. Review URL: http://codereview.chromium.org/2962006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52125 0039d316-1c4b-4281-b951-d872f2087c98
* media: Remove a not accurated TODO.tfarina@chromium.org2010-07-101-12/+3
| | | | | | | | | BUG=None TEST=trybots Review URL: http://codereview.chromium.org/2901007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52047 0039d316-1c4b-4281-b951-d872f2087c98
* Renamed AudioController to AudioOutputController.satish@chromium.org2010-07-094-110/+125
| | | | | | | | | | This is in preparation to add an AudioInputController for audio recording in subsequent changes. BUG=none TEST=no functional change Review URL: http://codereview.chromium.org/2964005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52015 0039d316-1c4b-4281-b951-d872f2087c98
* A simple media player using Media Foundation.hclam@chromium.org2010-07-095-0/+1364
| | | | | | | | | | | | BUG=none TEST=none Submitted for=imcheng@google.com Reviewed: http://codereview.chromium.org/2806039/show Review URL: http://codereview.chromium.org/2856033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51932 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite AudioRendererHost to use AudioControllerhclam@chromium.org2010-07-073-14/+31
| | | | | | | | | | | | | | | | | | | | | | | | This change will move all the audio device methods calls to AudioController so we can move all the audio related methods calls off the IO thread. This change will let AudioRendererHost to use the AudioController API. This involves rewriting the whole AudioRendererHost. After this patch we can implement proper pause operations that is only possible if they are hosted on a separated thread due to their blocking nature. Normal latency mode is fully covered by unit tests, including audio control operations and data conversation. Low latency mode using SyncSocket is tested only for stream creation and still need to handle cases during shutdown when we want SyncSocket to return immediately. TEST=unit_tests --gtest_filter=AudioRendererTest.* BUG=39885 Review URL: http://codereview.chromium.org/2850016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51743 0039d316-1c4b-4281-b951-d872f2087c98
* Use LoadLibraryEx() instead of SetDllDirectory() for overriding DLL loading ↵scherkus@chromium.org2010-06-301-12/+5
| | | | | | | | | | path. BUG=35857 TEST=install a real version of chrome (don't simply unzip a build). close chrome. create an empty file named C:\Windows\avutil-50.dll. start chrome and go to www.youtube.com/html5. no error dialog box should appear. repeat these steps with an earlier version of chrome to verify that an error dialog box appears complaining about C:\Windows\avutil-50.dll. Review URL: http://codereview.chromium.org/2853018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51304 0039d316-1c4b-4281-b951-d872f2087c98
* media: OMX seek works for OMX_HEADBUFFERTYPE now.jiesun@google.com2010-06-2914-35/+231
| | | | | | | | | | | | | | | | 1. Promote Stop() to engine interafce and make it Asynchronous. 2. Add Pause() and Flush() in engine interface. 3. Notify buffer return in ffmpeg engine so that future recycling could use it. 4. Add Pause logic in OMX decode engine. to fully support seek in hardware path, some pipeline work and video render work is required. that will be in the next patch (maybe jia will write it). 1. some renderer hack is required for now. but current pause model of videoRenderBase is not suitable for hardware case. we need to resolve that. 2. Seek after EOS is not supported. 3. Seek for EGL image path is not yet tested, some code is required to return EGLImage buffer to allocator's side. Review URL: http://codereview.chromium.org/2808022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51153 0039d316-1c4b-4281-b951-d872f2087c98
* move quit of paint message_loop into callback of pipeline stop to guarantee ↵wjia@google.com2010-06-281-13/+10
| | | | | | | | | | | message loop will not quit till paint is deinit'ed. BUG=none TEST=dev platform and desktop Review URL: http://codereview.chromium.org/2870029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51070 0039d316-1c4b-4281-b951-d872f2087c98
* 1. remove initial rendering lag time for egl image decoding pathwjia@google.com2010-06-2414-99/+146
| | | | | | | | | | | 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
* move DEPS of app into player_x11wjia@google.com2010-06-241-0/+0
| | | | | | | | | BUG=none TEST=try bots Review URL: http://codereview.chromium.org/2828023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50745 0039d316-1c4b-4281-b951-d872f2087c98
* media_Bench and ffmpeg_tests disable exception handler by defaultfbarchard@chromium.org2010-06-242-4/+16
| | | | | | | | | BUG=47307 TEST=no change in normal behavior. Review URL: http://codereview.chromium.org/2811026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50684 0039d316-1c4b-4281-b951-d872f2087c98
* Limit the DLL search path when loading FFmpeg binaries on Windows.scherkus@chromium.org2010-06-231-2/+14
| | | | | | | | | | This prevents us from accidentally loading other copies of FFmpeg during renderer process boot. BUG=35857 TEST=install a real version of chrome (don't simply unzip a build). close chrome. create an empty file named C:\Windows\avutil-50.dll. start chrome and go to www.youtube.com/html5. no error dialog box should appear. repeat these steps with an earlier version of chrome to verify that an error dialog box appears complaining about C:\Windows\avutil-50.dll. Review URL: http://codereview.chromium.org/2856013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50617 0039d316-1c4b-4281-b951-d872f2087c98
* Allow src/media/tools/ to include files from app.tony@chromium.org2010-06-231-0/+4
| | | | | | | | | | Seems ok since these are stand alone programs. TBR=wjia Review URL: http://codereview.chromium.org/2834017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50565 0039d316-1c4b-4281-b951-d872f2087c98
* code cleanup for media code for video renerers.jiesun@google.com2010-06-2318-138/+126
| | | | | | | | | 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
* fix broken gl rendererwjia@google.com2010-06-232-27/+4
| | | | | | | | | BUG=none TEST=player_x11 Review URL: http://codereview.chromium.org/2803019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50555 0039d316-1c4b-4281-b951-d872f2087c98
* Some fixups for AudioController and unit testshclam@chromium.org2010-06-224-21/+81
| | | | | | | | | | | | Some fixes to AudioController and more unit tests. AudioController is now ready to be used by AudioRendererHost. BUG=39885 TEST=media_unittests Review URL: http://codereview.chromium.org/2861010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50480 0039d316-1c4b-4281-b951-d872f2087c98
* remove omx from win and mac build.jiesun@google.com2010-06-181-66/+74
| | | | | | | | | TEST=try-bot BUG=45601 Review URL: http://codereview.chromium.org/2870006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50243 0039d316-1c4b-4281-b951-d872f2087c98
* AudioController accepts hardware buffer size as parameter.hclam@chromium.org2010-06-163-22/+51
| | | | | | | | | | BUG=39885 TEST=media_unitests AudioController to take hardware buffer size for opening the audio device. Review URL: http://codereview.chromium.org/2822014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50046 0039d316-1c4b-4281-b951-d872f2087c98
* merge video_decoder_impl.cc and ffmpeg_video_decoder.ccjiesun@google.com2010-06-166-416/+364
| | | | | | Review URL: http://codereview.chromium.org/2854002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50043 0039d316-1c4b-4281-b951-d872f2087c98
* add play controljiesun@google.com2010-06-161-17/+60
| | | | | | Review URL: http://codereview.chromium.org/2813006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50041 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 49982 - patchthakis@chromium.org2010-06-162-4/+1
| | | | | | | TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/2825006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50002 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 49990 - xthakis@chromium.org2010-06-161-12/+0
| | | | | | | TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/2813011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49994 0039d316-1c4b-4281-b951-d872f2087c98
* xthakis@chromium.org2010-06-161-0/+12
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49990 0039d316-1c4b-4281-b951-d872f2087c98
* patchthakis@chromium.org2010-06-162-1/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49982 0039d316-1c4b-4281-b951-d872f2087c98
* Chromoting unit test: Adding DecoderVerbatimTesthclam@chromium.org2010-06-152-0/+4
| | | | | | | | | Adding a test case to DecodeVerbatimTest. TEST=remoting_unittests Review URL: http://codereview.chromium.org/2849006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49839 0039d316-1c4b-4281-b951-d872f2087c98
* 1. support stop mode for omxwjia@google.com2010-06-153-10/+32
| | | | | | | | | | | 2. make player_x11 respond to button event quickly BUG=none TEST=dev platform Review URL: http://codereview.chromium.org/2781010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49749 0039d316-1c4b-4281-b951-d872f2087c98
* Added checks to GetBufferedTime() to cap at the media's durationvrk@google.com2010-06-143-9/+52
| | | | | | | | | | | | No longer tries to estimate buffered time when media is fully loaded. Also caps estimation at the duration of the media. BUG=none TEST=media_unittests Review URL: http://codereview.chromium.org/2782004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49714 0039d316-1c4b-4281-b951-d872f2087c98
* Make MediaFilter::Stop() asynchronous.boliu@chromium.org2010-06-1120-47/+92
| | | | | | | | | | | | | | 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
* media: fix timestamp issues.jiesun@google.com2010-06-106-33/+39
| | | | | | | | | | | | 1. use av_stream->r_frame_rate as time_base because it is more accurate in some cases. 2. do not use pts heap when timestamp is invalid TEST=video stack matrix BUGS=45347 Review URL: http://codereview.chromium.org/2322007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49449 0039d316-1c4b-4281-b951-d872f2087c98
* 1. make omx engine the driving force to read bit streamwjia@google.com2010-06-107-99/+86
| | | | | | | | | | | | 2. update omx_codec_unittest and omx_test correspondingly 3. fix copy&paste error in shader code BUG=none TEST=dev platform Review URL: http://codereview.chromium.org/2752002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49428 0039d316-1c4b-4281-b951-d872f2087c98
* Added EGL based GLContext.apatrick@chromium.org2010-06-091-1/+1
| | | | | | | | | | | | | | Python script to generate code to dynamically bind to GL functions (native GL, OSMesa, EGL or mock GL for unit tests). This replaces GLEW because GLEW doesn't bind to the GLES dialect of GL. Moved the mock GL code into app/gfx/gl. Updated the GPU code and AcceleratedSurface to use the new GL bindings. TEST=trybots BUG=none Review URL: http://codereview.chromium.org/2134006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49332 0039d316-1c4b-4281-b951-d872f2087c98
* Implement a chromoting client using X11hclam@chromium.org2010-06-093-1/+62
| | | | | | | | | | | | | Using XRender to render the chromoting client. This patch has done several things: 1. Rename chromotocol_pb to remoting 2. Defined ChromotingView as the display area of the remote view 3. Implemented X11Client as the client that uses X11 for display 4. Implemented X11View that uses XRender for drawing 5. Fixed several problems in host capturer and encoder Review URL: http://codereview.chromium.org/2745006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49329 0039d316-1c4b-4281-b951-d872f2087c98
* revert cl 49121 since the way of using glEglImageTargetTexture2DOES is ↵wjia@google.com2010-06-092-23/+24
| | | | | | | | | | | | undefined and it crashes randomly. BUG=none TEST=dev platform Review URL: http://codereview.chromium.org/2765005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49318 0039d316-1c4b-4281-b951-d872f2087c98
* Rename Chrome threads to use a "Cr" prefix.evan@chromium.org2010-06-091-1/+1
| | | | | | | | | | | Before we carefully used the app (Chrome/Chromium) name, but: 1) these are for internal debugging use only, so why compute this name 2) on Linux the thread ids are limited to 16 characters, and "Chromium" is too long Review URL: http://codereview.chromium.org/2741003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49296 0039d316-1c4b-4281-b951-d872f2087c98