summaryrefslogtreecommitdiffstats
path: root/third_party/ffmpeg
Commit message (Collapse)AuthorAgeFilesLines
* Move to using updated chromium binaries pulled in via platform-specific DEPS.ajwong@chromium.org2009-08-0810-12/+0
| | | | | | | | | BUG=16010,16638,17174 TEST=none Review URL: http://codereview.chromium.org/165193 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22853 0039d316-1c4b-4281-b951-d872f2087c98
* Remove pthread from ffmpeg copy stepfbarchard@chromium.org2009-08-071-1/+0
| | | | | | Review URL: http://codereview.chromium.org/164209 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22832 0039d316-1c4b-4281-b951-d872f2087c98
* Binaries for chromium built updated OGG, and reduced in size with O2 and ↵fbarchard@chromium.org2009-08-074-0/+0
| | | | | | | | | | | static pthread lib linked into avcodec. BUG=17174,18466,16010 TEST=play http://people.xiph.org/~tterribe/tmp/sign_irene_cif-3qi.ogg Review URL: http://codereview.chromium.org/164165 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22816 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: preload ffmpeg in the zygote.agl@chromium.org2009-08-051-1/+3
| | | | | | | | | | | | | | | | | | When using the sandbox, the renderer cannot load the ffmpeg shared objects from disk. So we load them in the zygote before the sandbox is started. (Note that this doesn't get media working, but it's a start.) BUG=18329 http://codereview.chromium.org/159841 (Note: relanding. Original landing in r22392, reverted in r22405 due to check-deps failure.) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22492 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Linux: preload ffmpeg in the zygote."agl@chromium.org2009-08-041-3/+1
| | | | | | | This reverts commit r22392. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22405 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: preload ffmpeg in the zygote.agl@chromium.org2009-08-041-1/+3
| | | | | | | | | | | | | | | When using the sandbox, the renderer cannot load the ffmpeg shared objects from disk. So we load them in the zygote before the sandbox is started. (Note that this doesn't get media working, but it's a start.) BUG=18329 http://codereview.chromium.org/159841 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22392 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: add use_system_ffmpeg GYP variable.agl@chromium.org2009-07-201-8/+19
| | | | | | | | | | | | | | | | | In r20548, we switched from using a shell script to copy the ffmpeg binaries to the output directory, to using the GYP 'copies' stanza. When built using Scons, any copies for which the source file was missing began to fail. Since Ubuntu policy (and size considerations) prohibit the shipping of the binaries in the source packages of chromium-browser, so add a GYP variable which can be set to inhibit this copying for cases where the source files aren't included. http://codereview.chromium.org/155791 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21093 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite ffmpeg_binaries target to use GYP built-ins and branding conditions.mmoss@chromium.org2009-07-132-96/+27
| | | | | | | | | BUG=16657 Review URL: http://codereview.chromium.org/149554 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20548 0039d316-1c4b-4281-b951-d872f2087c98
* Add mac and linux binaries for ffmpeg.ajwong@chromium.org2009-07-086-0/+0
| | | | | | | | | BUG=15906 TEST=chromium builds should have video enabled Review URL: http://codereview.chromium.org/155107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20171 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup resources allocated by FFmpeg to avoid memory and threads leakshclam@chromium.org2009-07-072-0/+2
| | | | | | | | Calls avcodec_free and avcodec_thread_free appropriately. Review URL: http://codereview.chromium.org/151192 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20039 0039d316-1c4b-4281-b951-d872f2087c98
* Checking in Windows FFmpeg binaries for Chromium.scherkus@chromium.org2009-07-066-10/+34
| | | | | | | | | BUG=15906 TEST=builds of Chromium should now be video/audio enabled Review URL: http://codereview.chromium.org/149165 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19987 0039d316-1c4b-4281-b951-d872f2087c98
* Make FFmpeg delay load settings propagate to all shared libraries and ↵scherkus@chromium.org2009-07-011-8/+8
| | | | | | | | | | | executables. TEST=everything should build with no test hangs BUG=15664 Review URL: http://codereview.chromium.org/151124 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19746 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed typo in ffmpeg.gyp that caused avcodec-52.dll to not get copied.scherkus@chromium.org2009-06-301-1/+1
| | | | | | | | | | TEST=media layout tests should pass again, bots shouldn't be all busted BUG=15664 TBR=glen Review URL: http://codereview.chromium.org/151070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19579 0039d316-1c4b-4281-b951-d872f2087c98
* Add in support for copying the ffmpeg binaries in linux and mac.ajwong@chromium.org2009-06-302-29/+94
| | | | | | Review URL: http://codereview.chromium.org/149121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19570 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r19534 "Add in support for copying the ffmpeg binaries in linux and mac."ajwong@chromium.org2009-06-292-97/+29
| | | | | | Review URL: http://codereview.chromium.org/151044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19538 0039d316-1c4b-4281-b951-d872f2087c98
* Add in support for copying the ffmpeg binaries in linux and mac.ajwong@chromium.org2009-06-292-29/+97
| | | | | | Review URL: http://codereview.chromium.org/149121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19534 0039d316-1c4b-4281-b951-d872f2087c98
* Setting executable bit for third_party/ffmpeg/copy_binaries.shhclam@chromium.org2009-06-271-0/+0
| | | | | | | | TBR=ajwong Review URL: http://codereview.chromium.org/149122 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19450 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor FFmpegVideoDecoder::OnDecode and unittest and add state tracking.ajwong@chromium.org2009-06-222-1/+9
| | | | | | | | The decoder needs a concept of state to know when it should just stop attempting to decode. This is because ffmpeg will sometimes gives spurious frames back, which plays badly with the time presentation timestamp calculation logic. Review URL: http://codereview.chromium.org/132013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18990 0039d316-1c4b-4281-b951-d872f2087c98
* Make the generated stubs weak. Enable the unittests that had conflicting ↵ajwong@chromium.org2009-06-161-1/+6
| | | | | | | | | | symbols. Also move some of the old mocks into their own namespace. They were causing linker confusion due to inlining or something which generated bad test executables that segfaulted. Review URL: http://codereview.chromium.org/126170 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18457 0039d316-1c4b-4281-b951-d872f2087c98
* Change delayload attribute from string to list in gyp fileshclam@chromium.org2009-06-121-1/+5
| | | | | | | | | | Change from string to list so the list can merge correctly. TBR=scherkus Review URL: http://codereview.chromium.org/125059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18294 0039d316-1c4b-4281-b951-d872f2087c98
* Delay loading FFmpeg dlls from the test_shellhclam@chromium.org2009-06-121-0/+5
| | | | | | | | | Make test_shell.vsprops depends on using_ffmpeg.vsprops so it delays loading FFmpeg dlls. Review URL: http://codereview.chromium.org/125015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18231 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert r18122: "Reapply ffmpeg changes." (it broke the Linux make ↵tc@google.com2009-06-117-48/+178
| | | | | | | | | | | | build)." This reverts commit r18168 and reapplies r18122. I.e., this reapplies the ffmpeg changes. Review URL: http://codereview.chromium.org/125003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18200 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r18122: "Reapply ffmpeg changes." (it broke the Linux make build).agl@chromium.org2009-06-117-178/+48
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18168 0039d316-1c4b-4281-b951-d872f2087c98
* Define all file handles so if open fails, we can still test for the variable.ajwong@chromium.org2009-06-111-0/+5
| | | | | | Review URL: http://codereview.chromium.org/122013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18133 0039d316-1c4b-4281-b951-d872f2087c98
* Reapply ffmpeg changes. The original review is at ↵ajwong@chromium.org2009-06-117-48/+178
| | | | | | | | http://codereview.chromium.org/118046. Review URL: http://codereview.chromium.org/118444 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18122 0039d316-1c4b-4281-b951-d872f2087c98
* Removing ffmpeg again.ajwong@chromium.org2009-06-096-150/+41
| | | | | | | | Reverting r17992 and r17987. Review URL: http://codereview.chromium.org/119399 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17995 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing include path for windows.ajwong@chromium.org2009-06-091-0/+3
| | | | | | Review URL: http://codereview.chromium.org/119396 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17992 0039d316-1c4b-4281-b951-d872f2087c98
* Reapply ffmpeg changes. The original review is at ↵ajwong@chromium.org2009-06-096-41/+147
| | | | | | | | http://codereview.chromium.org/118046. Review URL: http://codereview.chromium.org/118444 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17987 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting r17820 and r17819 due to mac breakage.ajwong@chromium.org2009-06-066-158/+41
| | | | | | Review URL: http://codereview.chromium.org/119276 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17821 0039d316-1c4b-4281-b951-d872f2087c98
* Fix mac gyp build of ffmpeg to have type 'none'.ajwong@chromium.org2009-06-061-0/+5
| | | | | | Review URL: http://codereview.chromium.org/119275 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17820 0039d316-1c4b-4281-b951-d872f2087c98
* Change ffmpeg.gyp over to use generate_stubs.py.ajwong@chromium.org2009-06-066-41/+153
| | | | | | | | Also reimplement media_posix.cc to call into the generated stub functions instead of having its own hacked together version. Review URL: http://codereview.chromium.org/118046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17819 0039d316-1c4b-4281-b951-d872f2087c98
* Python script for auto-generating stub/def files for a list of signatures.ajwong@chromium.org2009-06-032-0/+1144
| | | | | | | | This python script takes a list of C-style signatures and generates either a windows def file, or a C++ stub file that allows for binding of functions via dlopen/dlsym. This is used to support delay loading in windows and simulate it on posix systems. Review URL: http://codereview.chromium.org/113803 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17534 0039d316-1c4b-4281-b951-d872f2087c98
* Better seeking for <video> and <audio>hclam@chromium.org2009-05-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There two problems surrouding the seek feature for <video> and <audio>: 1. After each seek, the time goes back and forth until stable, so user has to "fight" the time bar for seeking. 2. When playing an audio file, sounds plays a litte bit and then the play position rewinded and plays again. The cause of above problems: 1. There are demuxed packets and decoded buffers inside decoders and renderers. When seek is requested only demuxer flush its buffers, decoders and renderers still plays a little bit of the old buffer, thus updating the time incorrectly. 2. When playing a media file, WebKit does: 1. load() 2. pause() 3. seek(0.0f) 4. play() Since load() does prerolling internally, there were some decoded buffers in the renderers, and when seek(0.0f) is fired the play position reset to time 0 and decode starts from there again, the internal buffer queue in the renderer would then look like: | 0.0s | | 0.1s | | 0.2s | | 0.0s | | 0.1s | ... Thus playback at the beginning goes back and forth. To solve the seek problems, here's what is done in this CL: 1. All decoders and renderers should receive the seek signal. 2. When seek signal is received, discard all buffers and schedule read again. With this CL, we can now scrub an <audio> tag with the timebar. The downside of this fix is that we don't have prerolling (notice that due to how WebKit starts playing back we didn't preroll anyway...), this should be fixed in another CL. Review URL: http://codereview.chromium.org/113891 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17242 0039d316-1c4b-4281-b951-d872f2087c98
* Make the GUID upper case (so Visual Studio won't try to correctsgk@google.com2009-05-261-1/+1
| | | | | | | | | it by asking to write out a "modified" chrome.sln). BUG=none TEST=none Review URL: http://codereview.chromium.org/113860 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16951 0039d316-1c4b-4281-b951-d872f2087c98
* Adding ffmpeg_binaries target which copies FFmpeg binaries alongside ↵ajwong@chromium.org2009-05-232-1/+47
| | | | | | | | chrome.dll if present. Review URL: http://codereview.chromium.org/114048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16826 0039d316-1c4b-4281-b951-d872f2087c98
* New FFmpeg public API headers to match our source tarball in deps.scherkus@chromium.org2009-05-229-194/+382
| | | | | | Review URL: http://codereview.chromium.org/113748 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16771 0039d316-1c4b-4281-b951-d872f2087c98
* Temporary fix for MP3 decoding by duplicating packets before handing them to ↵scherkus@chromium.org2009-05-201-0/+1
| | | | | | | | | | 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-201-0/+1
| | | | | | | | | | | | (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-201-1/+0
| | | | | | 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-201-0/+1
| | | | | | | | 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
* Add a 'cygwin' target to execute setup_mount.bat explicitly as asgk@google.com2009-05-111-0/+1
| | | | | | | | dependency of targets that need it (that is, any target with 'rules' or 'actions'). Review URL: http://codereview.chromium.org/115154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15774 0039d316-1c4b-4281-b951-d872f2087c98
* Retry of enabling video on linux. See related review: ↵ajwong@chromium.org2009-05-081-1/+1
| | | | | | | | | | | | | 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
* Clean up FFmpeg media formats and switch to using ↵scherkus@chromium.org2009-04-291-1/+1
| | | | | | | | | | av_get_bits_per_sample_format(). Before we were relying on codecs setting bits_per_raw_sample, which turns out isn't a valid assumption at all (i.e., vorbis). However, codecs always set the sample format so we can use the FFmpeg utility function av_get_bits_per_sample_format() to convert the SampleFormat enum to an integer number of bits. Review URL: http://codereview.chromium.org/99160 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14808 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented FFmpegDemuxer::Seek() via av_seek_frame().scherkus@chromium.org2009-04-151-0/+1
| | | | | | | | Includes refactoring FFmpegDemuxer to use a MessageQueue as opposed to a PlatformThread, cleaning up the unit tests and setting IsDiscontinuous() after a seek. Review URL: http://codereview.chromium.org/67128 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13752 0039d316-1c4b-4281-b951-d872f2087c98
* Restore -Wall to Linux build and set up for -Werror.sgk@google.com2009-04-091-3/+0
| | | | | | | | | | | | | | | * Add -Wall to build/common.gypi (and -Werror, commented out for now). * Have build/external_code.gypi remove -Wall (and -Werror). * Remove chromium_code definition from build/all.gyp. * Remove chromium_code definitions from third_party/ *.gyp files. * Remove scons-specific -Werror removal in webkit.gyp. * Remove unused variables from: base/clipboard_linux.cc chrome/browser/gtk/download_shelf_gtk.cc chrome/browser/gtk/bookmark_bar_gtk.cc Review URL: http://codereview.chromium.org/66001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13478 0039d316-1c4b-4281-b951-d872f2087c98
* Checking in FFmpeg benchmarking application.scherkus@chromium.org2009-04-091-0/+1
| | | | | | | | We use this to compare different compiler setting, different run-time flags and different branches and revisions of FFmpeg. Review URL: http://codereview.chromium.org/63068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13468 0039d316-1c4b-4281-b951-d872f2087c98
* Convert /third_party/ffmpeg to gyp for Windows builds.scherkus@chromium.org2009-04-075-222/+136
| | | | | | | | To smooth out the transition I left in using_ffmpeg.vsprops until the rest of Windows switches over to gyp. I also took the opportunity to ditch the .bat file in favour of python. Review URL: http://codereview.chromium.org/63054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13270 0039d316-1c4b-4281-b951-d872f2087c98
* Update public FFmpeg header files from r16647 to r18286.scherkus@chromium.org2009-04-0227-711/+1130
| | | | | | | | This also includes bumping the version of avutil from 49 to 50, which means the generated libs and build files are also updated. Review URL: http://codereview.chromium.org/56129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13003 0039d316-1c4b-4281-b951-d872f2087c98
* Uses FFmpeg in chrome/rendererhclam@chromium.org2009-03-191-1/+1
| | | | | | | | | | | - Have chrome/renderer to use FFmpeg - Added using_media.vsprops to all affected projects that depends on chrome/renderer. - Added lib path "$(OutDir)\lib" to essential.vsprops Review URL: http://codereview.chromium.org/48118 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12071 0039d316-1c4b-4281-b951-d872f2087c98
* Check in C99 compatibility headers for MSVC and FFmpeg.scherkus@chromium.org2009-02-193-1/+37
| | | | | | | | | | MSVC doesn't include <stdint.h> and <inttypes.h>, so in order for MSVC to include FFmpeg headers we need to provide them. The headers aren't complete, but contain the bare minimum for compatibility. Although we could add these types to base/basictypes.h, I'm afraid of people using C99 types by accident (uint8_t instead of uint8). Also, base/basictypes.h includes C++ code which makes including it from an extern "C" section problematic. Review URL: http://codereview.chromium.org/21521 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10048 0039d316-1c4b-4281-b951-d872f2087c98