summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* Merge 55809 - declare text segment for gcc assemblyfbarchard@chromium.org2010-08-121-29/+20
| | | | | | | | | | | | BUG=51843 TEST=build chrome on gentoo Review URL: http://codereview.chromium.org/3173008 TBR=fbarchard@chromium.org Review URL: http://codereview.chromium.org/3123012 git-svn-id: svn://svn.chromium.org/chrome/branches/472/src@55945 0039d316-1c4b-4281-b951-d872f2087c98
* Merge 55596 - Fix av sync for webm files with altref video frames. Altref framesfgalligan@chromium.org2010-08-122-2/+8
| | | | | | | | | | | | | | | | need to be decoded but they do not produce a valid output frame. The pts_heap_ was not getting popped for altref frames. BUG=51014 TEST=Play content form sync test and make sure the content plays back in sync. Review URL: http://codereview.chromium.org/3086009 TBR=fgalligan@chromium.org Review URL: http://codereview.chromium.org/3169009 git-svn-id: svn://svn.chromium.org/chrome/branches/472/src@55905 0039d316-1c4b-4281-b951-d872f2087c98
* Merge 55434 - The decoder filter pushes a pts for every video frame but it ↵fgalligan@chromium.org2010-08-102-0/+4
| | | | | | | | | | | | | | | | | | | was not popping the pts when the decoded frame had a valid timestamp. This change will pop the pts queue when the decoder filter uses the decoded frame's timestamp. BUG=51434 TEST=Play any mp4 or ogg file with video and check to make sure |pts_heap_| is empty when playback is finished. Review URL: http://codereview.chromium.org/3040048 TBR=fgalligan@chromium.org Review URL: http://codereview.chromium.org/3155002 git-svn-id: svn://svn.chromium.org/chrome/branches/472/src@55621 0039d316-1c4b-4281-b951-d872f2087c98
* Merge 54983 - Play WebM live streamhclam@chromium.org2010-08-062-1/+10
| | | | | | | | | | | | | | | | | | | | | BUG=44891 TEST=Can play live stream http://195.10.10.75:8800/live.webm This patch allows a live WebM stream to be played. After demuxing by FFmpeg, the duration was set to an invalid value. This makes the video pipeline to set duration to 0, and so WebKit never allows us to play because currentTime == duration all the time. This patch sets duration to an infinite value when duration is reported as invalid in FFmpeg. Review URL: http://codereview.chromium.org/3031036 TBR=hclam@chromium.org Review URL: http://codereview.chromium.org/2808109 git-svn-id: svn://svn.chromium.org/chrome/branches/472/src@55295 0039d316-1c4b-4281-b951-d872f2087c98
* Merge 54574 - Remove FFmpegDemuxer::first_seek_hack_ since underlying bugs ↵scherkus@chromium.org2010-08-023-32/+3
| | | | | | | | | | | | | | have been fixed in FFmpeg. BUG=50460 TEST=layout tests, media tests Review URL: http://codereview.chromium.org/3073004 TBR=scherkus@chromium.org Review URL: http://codereview.chromium.org/2808093 git-svn-id: svn://svn.chromium.org/chrome/branches/472/src@54631 0039d316-1c4b-4281-b951-d872f2087c98
* Merge 54055 - Fixing crash in buffer bar painting codescherkus@chromium.org2010-08-021-0/+13
| | | | | | | | | | | | | | | | | | Crash was because of inconsistent state caused by threading issues. The state of the buffer bar isn't so critical to need to be 100% accurate at all times, so this is fixed by capping the buffered_bytes_ and current_bytes to always be at legal values. BUG=49870 TEST=media_unittests TBR=hclam Review URL: http://codereview.chromium.org/3045021 TBR=vrk@google.com Review URL: http://codereview.chromium.org/3082011 git-svn-id: svn://svn.chromium.org/chrome/branches/472/src@54522 0039d316-1c4b-4281-b951-d872f2087c98
* Merge 54053 - ffmpeg roll for chromium source and windows binariesscherkus@chromium.org2010-08-027-9/+10
| | | | | | | | | | | | | Includes fix for XP Perf by reducing webm library size by 1.6 MB BUG=48037,50507 TEST=XP Perf and layout tests should pass Review URL: http://codereview.chromium.org/3030024 TBR=fbarchard@chromium.org Review URL: http://codereview.chromium.org/3007022 git-svn-id: svn://svn.chromium.org/chrome/branches/472/src@54517 0039d316-1c4b-4281-b951-d872f2087c98
* Merge 53872 - Implement accurate seeking by decoding audio/video until we ↵scherkus@chromium.org2010-07-285-5/+33
| | | | | | | | | | | | | | | | | | reach our desired timestamp. This fixes a host of seeking, synchronization and layout test issues but does incur a CPU performance hit while seeking. In the worst case a seek could take quite some time if the content was high resolution H.264 and we attempted to seek to right before a keyframe. We'll see how people like the new behaviour and back this change out if needed. BUG=48984 TEST=layout tests, media_unittests Review URL: http://codereview.chromium.org/3032030 TBR=scherkus@chromium.org Review URL: http://codereview.chromium.org/2884046 git-svn-id: svn://svn.chromium.org/chrome/branches/472/src@54039 0039d316-1c4b-4281-b951-d872f2087c98
* Merge 53656 - ffmpeg seek to keyframe on oggscherkus@chromium.org2010-07-281-4/+0
| | | | | | | | | | | BUG=none TEST=do a seek in chrome on ogg. it should appear clean, not garbled. Review URL: http://codereview.chromium.org/3043021 TBR=fbarchard@chromium.org Review URL: http://codereview.chromium.org/3043029 git-svn-id: svn://svn.chromium.org/chrome/branches/472/src@54037 0039d316-1c4b-4281-b951-d872f2087c98
* Merge 53404 - Remove FFmpegDemuxer::current_timestamp_ and always pass ↵scherkus@chromium.org2010-07-233-17/+11
| | | | | | | | | | | | | | | | | | AVSEEK_FLAG_BACKWARD when seeking. Previously we falsely assumed that AVSEEK_FLAG_BACKWARD was needed when seeking backwards in the media file. Turns out all this flag does is seek to a point in the file that is less-than-or-equal to the desired timestamp -- regardless of the current position in the file! Furthermore, the value of current_timestamp_ was never guaranteed to be valid as poorly muxed files tend to contain AV_NOPTS_VALUE packets. This all resulted in non-deterministic seeking behaviour depending on whether current_timestamp_ was valid or contained AV_NOPTS_VALUE. BUG=48722 TEST=covered by layout tests Review URL: http://codereview.chromium.org/3050011 TBR=scherkus@chromium.org Review URL: http://codereview.chromium.org/3052010 git-svn-id: svn://svn.chromium.org/chrome/branches/472/src@53510 0039d316-1c4b-4281-b951-d872f2087c98
* 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