summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup media::SeekableBuffer and unit testshclam@chromium.org2009-05-283-176/+153
| | | | | | | | | | TEST=SeekableBufferTest.* Updating media::SeekableBuffer and unit tests to meet code style standards. Review URL: http://codereview.chromium.org/114042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17084 0039d316-1c4b-4281-b951-d872f2087c98
* Change default audio device from "plug:default" to "default".ajwong@chromium.org2009-05-273-4/+5
| | | | | | Review URL: http://codereview.chromium.org/113923 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17040 0039d316-1c4b-4281-b951-d872f2087c98
* Non blocking audio sourcecpu@google.com2009-05-234-6/+241
| | | | | | | | | | | | | | - New interface PushAudioOutput for push model source - New adapter class PushSource which converts from pull model to push model - A test audio file (made by me using freeware program WavePad) - A new test TEST=unit test included. Review URL: http://codereview.chromium.org/115223 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16825 0039d316-1c4b-4281-b951-d872f2087c98
* Media player adds seek menu and dialog.fbarchard@chromium.org2009-05-229-596/+866
| | | | | | Review URL: http://codereview.chromium.org/115692 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16778 0039d316-1c4b-4281-b951-d872f2087c98
* New YUV data for next unittest iteration.fbarchard@chromium.org2009-05-222-0/+2
| | | | | | Review URL: http://codereview.chromium.org/113756 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16774 0039d316-1c4b-4281-b951-d872f2087c98
* New FFmpeg public API headers to match our source tarball in deps.scherkus@chromium.org2009-05-225-103/+137
| | | | | | Review URL: http://codereview.chromium.org/113748 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16771 0039d316-1c4b-4281-b951-d872f2087c98
* Explicitly enable /INCREMENTAL linking for gyp-generated Debug builds.sgk@google.com2009-05-221-0/+5
| | | | | | | | | | | | | | | | | | | | | | Explicitly disable it (/INCREMENTAL:NO) for Release, and for the following targets that require it: chrome.dll interactive_ui_tests.exe perf_tests.exe unit_tests.exe Explicitly specificy /SUBSYSTEM:CONSOLE as default for linking, and match current practice by overriding with /SUBSYSTEM:WINDOWS for: chrome.exe chrome.dll media_player.exe sandbox_poc.exe TEST=none BUG=none Review URL: http://codereview.chromium.org/115664 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16698 0039d316-1c4b-4281-b951-d872f2087c98
* Third attempt at http://codereview.chromium.org/115276ajwong@chromium.org2009-05-216-4/+798
| | | | | | Review URL: http://codereview.chromium.org/115645 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16639 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r16622estade@chromium.org2009-05-216-798/+4
| | | | | | | | TBR=ajwong Review URL: http://codereview.chromium.org/115641 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16626 0039d316-1c4b-4281-b951-d872f2087c98
* Reapply http://codereview.chromium.org/115276ajwong@chromium.org2009-05-216-4/+798
| | | | | | Review URL: http://codereview.chromium.org/115638 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16622 0039d316-1c4b-4281-b951-d872f2087c98
* Revert http://codereview.chromium.org/115276ajwong@chromium.org2009-05-216-798/+4
| | | | | | Review URL: http://codereview.chromium.org/115624 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16584 0039d316-1c4b-4281-b951-d872f2087c98
* This iteration creates one message loop per audio output stream that is ↵ajwong@chromium.org2009-05-216-4/+798
| | | | | | | | responsible for buffering data from the data source, and writing the buffers to the output device. This design blocks while waiting for data to be retrieved from the data source, which can lead to unnecessary buffer underruns in the audio device. This will be solved later after the non-blocking AudioSource interface is written. Review URL: http://codereview.chromium.org/115276 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16583 0039d316-1c4b-4281-b951-d872f2087c98
* Don't update the clock if we don't have a reliable timestamp available.scherkus@chromium.org2009-05-211-5/+14
| | | | | | | | Turns out vorbis packets only have an accurate timestamp every second or so while the rest of the packets have a timestamp of zero. Problem was we were overwriting |last_fill_buffer_time_| with zeros and then updating the clock, effectively causing a ton of drift. Review URL: http://codereview.chromium.org/115593 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16561 0039d316-1c4b-4281-b951-d872f2087c98
* Relax decoding error handling requirements.hclam@chromium.org2009-05-211-4/+15
| | | | | | | | Set the error_recognition and error_concealment flags in the codec context similar to ffplay.c. Also silently drops frames that didn't decode properly instead of stops the entire pipeline. Review URL: http://codereview.chromium.org/113653 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16555 0039d316-1c4b-4281-b951-d872f2087c98
* Temporary fix for MP3 decoding by duplicating packets before handing them to ↵scherkus@chromium.org2009-05-204-0/+116
| | | | | | | | | | the decoder. Turns out packets filled out by av_read_frame() were being modifying on subsequent calls to av_read_frame(). Might be a case of setting the data pointer to internal memory as opposed to allocated memory. Review URL: http://codereview.chromium.org/115561 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16525 0039d316-1c4b-4281-b951-d872f2087c98
* Use av_rescale_q() for converting FFmpeg timestamps to base::TimeDelta ↵scherkus@chromium.org2009-05-206-18/+63
| | | | | | | | | | | | (second attempt). Previously we were using integer math to convert to microseconds, but depending on the frame rate and packet size we could introduce enough error that could accumulate and introduce audio/video synchronization drift. av_rescale_q() is a simple function but is designed to minimize error as much as possible. Second attempt since I forgot to manually resolve av_rescale_q() for unittests. Review URL: http://codereview.chromium.org/113619 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16514 0039d316-1c4b-4281-b951-d872f2087c98
* Revert change 16453 because it broke the build.nsylvain@chromium.org2009-05-205-57/+18
| | | | | | Review URL: http://codereview.chromium.org/113615 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16459 0039d316-1c4b-4281-b951-d872f2087c98
* Use av_rescale_q() for converting FFmpeg timestamps to base::TimeDelta.scherkus@chromium.org2009-05-205-18/+57
| | | | | | | | Previously we were using integer math to convert to microseconds, but depending on the frame rate and packet size we could introduce enough error that could accumulate and introduce audio/video synchronization drift. av_rescale_q() is a simple function but is designed to minimize error as much as possible. Review URL: http://codereview.chromium.org/113598 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16453 0039d316-1c4b-4281-b951-d872f2087c98
* Fix an aggressive DCHECK in media::VideoThreadhclam@chromium.org2009-05-191-2/+2
| | | | | | | | Only check for null if it is initialized. Review URL: http://codereview.chromium.org/115498 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16353 0039d316-1c4b-4281-b951-d872f2087c98
* SeekableBuffer to implement a window of buffer which has short seeking ability.hclam@chromium.org2009-05-194-0/+610
| | | | | | | | | | | Defined the base interface SeekableBuffer and a thread safe implemntation of ThreadSafeSeekableBuffer. This class is to be used for media resource loading that does the meat of buffer queueing and handles short seeking for short distance out-of-order read patterns. Review URL: http://codereview.chromium.org/113213 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16348 0039d316-1c4b-4281-b951-d872f2087c98
* YUV with clipping.fbarchard@chromium.org2009-05-1818-3557/+1319
| | | | | | | | | | | | All functions do 2 pixels at a time. 90 and 270 rotations implemented. YV16 refactored. YV12 code accepts a YuvType that allows the same code to support YV16 as well. Special case for half size removed. Special case for doubling added. 3.62 ms versus 8.62 for general purpose code. Review URL: http://codereview.chromium.org/113407 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16334 0039d316-1c4b-4281-b951-d872f2087c98
* Enabled mulithreaded video decoding.scherkus@chromium.org2009-05-141-1/+17
| | | | | | | | For simplicity we're going with two threads regardless of CPU architecture. We measured performance gains even on P4s and if you have a multi-core machine you're golden. Review URL: http://codereview.chromium.org/113386 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16068 0039d316-1c4b-4281-b951-d872f2087c98
* Change WtlVideoRenderer to use VideoThread as opposed to VideoRendererBase.scherkus@chromium.org2009-05-142-16/+26
| | | | | | Review URL: http://codereview.chromium.org/113361 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16066 0039d316-1c4b-4281-b951-d872f2087c98
* Checking in VideoThread, which uses a dedicated thread for the purpose of ↵scherkus@chromium.org2009-05-143-0/+378
| | | | | | | | | | timing frame presentation. Simple class, but getting the details right are very tricky. There are additional tweaks we can make (such as counting ticks since the last audio callback), but for now this gets the job done. Review URL: http://codereview.chromium.org/113360 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16062 0039d316-1c4b-4281-b951-d872f2087c98
* YUV scaling and conversion refactored into low levels per platform that do a ↵fbarchard@chromium.org2009-05-1310-738/+1054
| | | | | | | | | | | row and high levels that step thru the image. Low level is implemented in MMX assembly. Mac and Linux use reference code for this version. Review URL: http://codereview.chromium.org/113247 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16011 0039d316-1c4b-4281-b951-d872f2087c98
* Fix failing Valgrind builds for media_unittests.scherkus@chromium.org2009-05-121-42/+44
| | | | | | | | Did some minor clean up as well. Review URL: http://codereview.chromium.org/113298 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15903 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented Pipeline seek callbacks and a big refactor of PipelineImplTest.scherkus@chromium.org2009-05-128-240/+399
| | | | | | | | Now that I'm wiser writing tests, I'm trying to get rid of InitializationHelper and rely on simplier test fixtures classes. I also introduced MockFilterFactory which is capable of creating all the mock filters and is able to return instantiated instances of filters to permit testing for expectations (refer to PipelineImplTest.Seek for an example). Review URL: http://codereview.chromium.org/115094 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15829 0039d316-1c4b-4281-b951-d872f2087c98
* Media Player view rotation options.fbarchard@chromium.org2009-05-125-590/+667
| | | | | | Review URL: http://codereview.chromium.org/112016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15825 0039d316-1c4b-4281-b951-d872f2087c98
* Remove executable bit from a bunch of files that shouldn't have it.evan@chromium.org2009-05-113-0/+0
| | | | | | | | | | (No code change.) git ls-tree -r HEAD | grep '^100755' | cut -f2 | egrep '\.(png|txt|mm|cc|h|checksum|asm|js|html|c|css|xml|grd|json)$' | xargs chmod a-x git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15809 0039d316-1c4b-4281-b951-d872f2087c98
* Review URL: http://codereview.chromium.org/115197fbarchard@chromium.org2009-05-113-40/+134
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15800 0039d316-1c4b-4281-b951-d872f2087c98
* Call AtExitManager earlier in player app to avoid hitting DCHECKs.scherkus@chromium.org2009-05-081-2/+2
| | | | | | | | TBR=fbarchard Review URL: http://codereview.chromium.org/115148 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15696 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r15615, build errors on linux and mac.sgk@google.com2009-05-087-261/+102
| | | | | | Review URL: http://codereview.chromium.org/113135 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15616 0039d316-1c4b-4281-b951-d872f2087c98
* YUV scaler do horizontal mirror.fbarchard@chromium.org2009-05-087-102/+261
| | | | | | Review URL: http://codereview.chromium.org/106002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15615 0039d316-1c4b-4281-b951-d872f2087c98
* Retry of enabling video on linux. See related review: ↵ajwong@chromium.org2009-05-086-19/+41
| | | | | | | | | | | | | http://codereview.chromium.org/100195 The effective changes were: 1) Adding av_register_protocol into the def file for ffmpeg in windows. 2) Commenting out the drawing glue code for non-skia platforms. 3) Fixing some mac compilation error caused by code drift. Review URL: http://codereview.chromium.org/99306 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15611 0039d316-1c4b-4281-b951-d872f2087c98
* Moved FFmpegDemuxer tests into the same anonymous namespace as ↵scherkus@chromium.org2009-05-081-2/+2
| | | | | | | | | | | | FFmpegDemuxerTest. Quick fix to prevent warnings on Mac. TBR=ajwong Review URL: http://codereview.chromium.org/113132 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15603 0039d316-1c4b-4281-b951-d872f2087c98
* Change NullAudioRenderer to sleep for at least one millisecond to avoid ↵scherkus@chromium.org2009-05-061-1/+5
| | | | | | | | spinning the CPU. Review URL: http://codereview.chromium.org/108041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15356 0039d316-1c4b-4281-b951-d872f2087c98
* Remove embedded manifest from media player.scherkus@chromium.org2009-05-061-16/+2
| | | | | | | | TBR=fbarchard Review URL: http://codereview.chromium.org/115002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15355 0039d316-1c4b-4281-b951-d872f2087c98
* Removed duplicate entries in media.gyp.scherkus@chromium.org2009-05-051-2/+0
| | | | | | | | TBR=mark Review URL: http://codereview.chromium.org/108039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15341 0039d316-1c4b-4281-b951-d872f2087c98
* Media Player mainfrm.hfbarchard@chromium.org2009-05-056-22/+775
| | | | | | | | | | | | | | | | | | | | | | | This module contains all event handling for menus in the Media Player. The implementation is WTL (Windows Template Library) based. The main menu is: File Edit View Play Options Help File opens/closes movies and has print features. Edit has copy/paste features. View has spatial controls, such as scaling, and tool and status bars and a properties dialogue box. Play has temporal controls, such as play speed and pause. Options controls details such as Audio and Video on/off. Help is just an about box. Right clicking brings up a context menu with edit and view items. A tool bar exposes the most common menu items as buttons. Hotkeys (accelerators) are mapped to most menu items. A .RC file is used to edit the menus using the resource editor in visual studio. Dialogue boxes are each handled by a different .h. ie props.h for properties. Mainfrm.h does some minor dialogue boxes directly, such as the file selector and alert boxes for errors. Review URL: http://codereview.chromium.org/99087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15311 0039d316-1c4b-4281-b951-d872f2087c98
* Lands http://codereview.chromium.org/99349 for Ryan.sky@chromium.org2009-05-041-1/+5
| | | | | | | | | | | | | | Comments from Ryan: Some small changes to get chromium building on ARM. I tested these using the standard Linux tool chain and crosstools-ng. BUG=none TEST=none Review URL: http://codereview.chromium.org/99365 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15241 0039d316-1c4b-4281-b951-d872f2087c98
* media player movie functions to bind WTL menu events to pipeline.fbarchard@chromium.org2009-05-043-6/+192
| | | | | | Review URL: http://codereview.chromium.org/102002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15240 0039d316-1c4b-4281-b951-d872f2087c98
* Added media player File->Last to play the most recent movie again.fbarchard@chromium.org2009-05-044-15/+17
| | | | | | Review URL: http://codereview.chromium.org/100149 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15239 0039d316-1c4b-4281-b951-d872f2087c98
* media player props.h file (properties)fbarchard@chromium.org2009-05-021-0/+314
| | | | | | Review URL: http://codereview.chromium.org/99114 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15131 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Enable video in posix builds and remove unneeded ifdefs to guard ↵ajwong@chromium.org2009-05-015-45/+20
| | | | | | | | | | | | windows." This reverts commit 9c23aa9006918e7091742e1826181db081a16a65. TBR=evan Review URL: http://codereview.chromium.org/101020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15121 0039d316-1c4b-4281-b951-d872f2087c98
* Enable video in posix builds and remove unneeded ifdefs to guard windows.ajwong@chromium.org2009-05-015-20/+45
| | | | | | | | The code still crashes when trying to play a video, but this will allow debugging. Review URL: http://codereview.chromium.org/100195 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15117 0039d316-1c4b-4281-b951-d872f2087c98
* Third installement of low level audio for maccpu@chromium.org2009-04-302-14/+130
| | | | | | | | | | | - Finally audio playback wired - Takes into account initial buffer fill change of last week - Two 'can you hear this?' unit tests added Review URL: http://codereview.chromium.org/92131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15017 0039d316-1c4b-4281-b951-d872f2087c98
* Add comment to media bench clarifying library initialization.ajwong@chromium.org2009-04-301-1/+7
| | | | | | Review URL: http://codereview.chromium.org/99081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14927 0039d316-1c4b-4281-b951-d872f2087c98
* Refactored FFmpegDemuxerTest to use a test fixture, fixing flakiness in the ↵scherkus@chromium.org2009-04-301-138/+131
| | | | | | | | | | process. BUG=10863 Review URL: http://codereview.chromium.org/100178 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14926 0039d316-1c4b-4281-b951-d872f2087c98
* media player wtl_render - video rendererfbarchard@chromium.org2009-04-302-0/+59
| | | | | | Review URL: http://codereview.chromium.org/99117 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14922 0039d316-1c4b-4281-b951-d872f2087c98
* player_wtl main entry point separated from the rest of media player for code ↵fbarchard@chromium.org2009-04-291-0/+96
| | | | | | | | review. Review URL: http://codereview.chromium.org/56076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14829 0039d316-1c4b-4281-b951-d872f2087c98