| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55434 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. ipc_video_decoder.cc/h is media pipeline filter which use the gpu decoder facilities in video stack. it is only enabled when (a) hardware composition is on (b) hardware decoding command line is on (c) h264 codec is specified.
2. gpu_video_service.cc/h is a singleton in gpu process which provide video services for renderer process, through it we could create decoder. ( in my imagination, in the future, we could create encoder or capturer too)
3. gpu_video_decoder.cc/h. abstract interface for hardware decoder.
4. gpu_video_decoder_mft.cc/h media foundation transform hardware decoder which run on windows 7 only.
5. gpu_video_service_host.cc/h is singleton in renderer process which provide proxy for gpu_video_service.
6. gpu_video_decoder_host.cc/h is proxy for gpu_video_decoder. (1 to 1 map).basically there is one global GpuVideoService in GPU process, one GpuVideoServiceHost in Renderer process. for each renderer process, there are could be multiple renderer view, each could had multiple GpuVideoDecoderHost the connect to GpuVideoDeocder through GPUCHannelHOst/GpuChannel.
7. gpu_video_common.cc/h: IPC message definition and pickle/marshaling support.
ISSUES:
1. in media pipeline, we need let decoder to determine if bit stream filter should be used instead of let command line to determine it.
2. stop readback from D3D surface use ANGLE.
3. Flush logic still need fine tuning.
4. CreateThread in GpuVideoDecoder, and post message in message handler, and derived classs handle message loop. ?
5. Error handling.
6. Input ring buffer implementation. Current impl is naive.
7.Add output queue for MFT decoder.
8. Query Capabilities at GetVideoServices()...
BUG=None
TEST=Windows7
Review URL: http://codereview.chromium.org/2873089
TBR=jiesun@google.com
Review URL: http://codereview.chromium.org/3020077
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55419 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of header file
dependencies) from the multiprocess test and the test_suite headers to .cc
files. Moves multiprocess_test to the test directory, and all of this stuff to
the existing base_test_support project. I also used the base namespace.
Previously other projects included this functionality just by #include because
it was all inline, so I had to add dependencies on base_test_support in a few
places.
Moves and renames the command line switch this was using to base_switches. Move
the base switch for process type to chrome switches.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/3026055
TBR=brettw@chromium.org
Review URL: http://codereview.chromium.org/3035062
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55416 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. ipc_video_decoder.cc/h is media pipeline filter which use the gpu decoder facilities in video stack. it is only enabled when (a) hardware composition is on (b) hardware decoding command line is on (c) h264 codec is specified.
2. gpu_video_service.cc/h is a singleton in gpu process which provide video services for renderer process, through it we could create decoder. ( in my imagination, in the future, we could create encoder or capturer too)
3. gpu_video_decoder.cc/h. abstract interface for hardware decoder.
4. gpu_video_decoder_mft.cc/h media foundation transform hardware decoder which run on windows 7 only.
5. gpu_video_service_host.cc/h is singleton in renderer process which provide proxy for gpu_video_service.
6. gpu_video_decoder_host.cc/h is proxy for gpu_video_decoder. (1 to 1 map).basically there is one global GpuVideoService in GPU process, one GpuVideoServiceHost in Renderer process. for each renderer process, there are could be multiple renderer view, each could had multiple GpuVideoDecoderHost the connect to GpuVideoDeocder through GPUCHannelHOst/GpuChannel.
7. gpu_video_common.cc/h: IPC message definition and pickle/marshaling support.
ISSUES:
1. in media pipeline, we need let decoder to determine if bit stream filter should be used instead of let command line to determine it.
2. stop readback from D3D surface use ANGLE.
3. Flush logic still need fine tuning.
4. CreateThread in GpuVideoDecoder, and post message in message handler, and derived classs handle message loop. ?
5. Error handling.
6. Input ring buffer implementation. Current impl is naive.
7.Add output queue for MFT decoder.
8. Query Capabilities at GetVideoServices()...
BUG=None
TEST=Windows7
Review URL: http://codereview.chromium.org/2873089
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55405 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
dependencies) from the multiprocess test and the test_suite headers to .cc
files. Moves multiprocess_test to the test directory, and all of this stuff to
the existing base_test_support project. I also used the base namespace.
Previously other projects included this functionality just by #include because
it was all inline, so I had to add dependencies on base_test_support in a few
places.
Moves and renames the command line switch this was using to base_switches. Move
the base switch for process type to chrome switches.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/3026055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55400 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3041049
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55349 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
little bit.
BUG=none
TEST=coming
Review URL: http://codereview.chromium.org/3072030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55310 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=51333
TEST=build chrome with linux_fpic=1
Review URL: http://codereview.chromium.org/3073029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55242 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3010052
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55191 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3071012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55034 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the part 2 of this series. More two comming. Splitting this
into small parts, so it is more easy to review and reduce the size of the CL.
BUG=None
TEST=trybots
Review URL: http://codereview.chromium.org/3035050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54996 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54983 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
also handles videos with 0 frames the same as videos with more than 0 frames, for consistency
and throwing in a comment in yuv conversion
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3073019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54842 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue 47761 (short Ogg files don't play) is currently failing and requires fixing FFmpeg.
Issue 50045 (MP4 moof atom playback issue) is currently passing as expected.
BUG=47761,50045
TEST=ffmpeg_unittests
Review URL: http://codereview.chromium.org/3043049
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54796 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now EnvVarGetter do much more than getting environment variables.
Per suggestion from Pawel in http://codereview.chromium.org/3043018/.
BUG=None
TEST=trybots
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/3052034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54696 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
in FFmpeg.
BUG=50460
TEST=layout tests, media tests
Review URL: http://codereview.chromium.org/3073004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54574 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
standalone Media Foundation Transform (MFT).
TEST=none
BUGS=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54571 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=None
TEST=None
CID=11839
Review URL: http://codereview.chromium.org/3078012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54546 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Preventative maintenance for abstract classes that do not declare virtual
destructors. Base classes that do not declare their destructors as virtual
could potentially lead to memory leaks.
These files were discovered using the -Wnon-virtual-dtor flag in g++.
r=jar
BUG=47469
Review URL: http://codereview.chromium.org/3080013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54540 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/3052032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54470 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/3020052
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54467 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
string_number_conversions.h
TEST=it compiles
BUG=none
Review URL: http://codereview.chromium.org/3013046
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54454 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
as a standalone Media Foundation Transform (MFT). See README for more information."
This reverts commit r54078, due to link failures.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54084 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
standalone Media Foundation Transform (MFT). See README for more information.
Review URL: http://codereview.chromium.org/3044019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54078 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54055 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
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
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54053 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3068004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53969 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Trying to track down cause of XP Perf bot regression.
Review URL: http://codereview.chromium.org/3081002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53926 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ffmpeg_audio_decoder.cc.
No code change.
BUG=49709,50457
TEST=none
TBR=hclam
Review URL: http://codereview.chromium.org/3077004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53896 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=48037
TEST=layout tests should still pass for media
Review URL: http://codereview.chromium.org/3005034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53885 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53872 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Basically verifies that our assumptions on how FFmpeg works opening/seeking/parsing files remain intact.
BUG=19865
TEST=run ffmpeg_unittests :)
Review URL: http://codereview.chromium.org/3058004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53818 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=compile
BUG=44549
Review URL: http://codereview.chromium.org/3064007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53793 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
forget to putCurrentFrame for this renderer.
Review URL: http://codereview.chromium.org/3018021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53730 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
because if use "system" ffmpeg, AVFrame has no member named "owner".
we need use #ifdef to use the single codec context, if system ffmpeg is used.
but what if "system" is ffmpeg-mt?
Review URL: http://codereview.chromium.org/2873068
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53695 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=do a seek in chrome on ogg. it should appear clean, not garbled.
Review URL: http://codereview.chromium.org/3043021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53656 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. add ffmpeg_video_allocator.cc/h
2. add omx_bufferheader type and av_frame type of video_frame.
please see http://codereview.chromium.org/2992002/show
for full commit. this is used to split that change to reviewable size of changelist.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=53348
Review URL: http://codereview.chromium.org/3006001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53418 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53404 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Broke webkit build.
BUG=None
TEST=Nont
TBR=jiesun
Review URL: http://codereview.chromium.org/3015018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53352 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. add ffmpeg_video_allocator.cc/h
2. add omx_bufferheader type and av_frame type of video_frame.
please see http://codereview.chromium.org/2992002/show
for full commit. this is used to split that change to reviewable size of changelist.
Review URL: http://codereview.chromium.org/3006001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53348 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/2883032
TBR=fbarchard@chromium.org
Review URL: http://codereview.chromium.org/2832068
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53293 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
switch to av_register_protocol2
video-played-collapse layout test fails and will be fixed later.
BUG=48037
TEST=ffmpeg should still build/run
Review URL: http://codereview.chromium.org/3010016
TBR=fbarchard@chromium.org
Review URL: http://codereview.chromium.org/2805098
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53285 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
switch to av_register_protocol2
video-played-collapse layout test fails and will be fixed later.
BUG=48037
TEST=ffmpeg should still build/run
Review URL: http://codereview.chromium.org/3010016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53281 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/2883032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53266 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It returned a wstring, when really we wanted the native encoded
strings. Fixing the majority of callers actually simplified them
in many cases because the callers wanted native strings too.
Since I'm touching every caller, I gave it a more useful name.
I'm not sure where "loose" came from but it never made sense to me.
BUG=24672
Review URL: http://codereview.chromium.org/3028010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53193 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Ouch I typed in the wrong path. Now it is correct.
TBR=awong
Review URL: http://codereview.chromium.org/3035013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53110 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Added "gfx/" to media/DEPS
TBR=pinkerton
Review URL: http://codereview.chromium.org/2861068
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53104 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
Reviewed: http://codereview.chromium.org/2812050/show
Submitted for: imcheng@google.com
Review URL: http://codereview.chromium.org/3003002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53090 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|