Commit Graph

125 Commits

Author SHA1 Message Date
Sotaro Ikeda
1af16433e9 Bug 1027809 - Use gst_video_format_get_component_width() r=edwin 2014-07-07 06:42:24 -07:00
Eric Phan
661c2e8d55 Bug 1015985 - Set decoder seekable members outside of ReadMetadata by StateMachine. r=cpearce 2014-06-23 22:08:34 +12:00
Edwin Flores
aed4cd05ba Bug 977089 - Don't pass ID3 headers to GStreamer r=cpearce 2014-05-08 15:49:31 +12:00
Birunthan Mohanathas
623dc45b86 Bug 997208 - Remove unnecessary nullptr checks before deleting in content/media. r=cajbir 2014-04-17 09:23:16 -04:00
Chris Pearce
223e397746 Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir
Implement HTMLMediaElement.fastSeek(), basically by changing all the
MediaDecoderReader::Seek() overrides to not call
MediaDecoderReader::DecodeToTarget(), and have MediaDecoderReader::DecodeSeek()
call DecodeToTarget() if we're doing an accurate (non-fast) seek.

Update gizmo.mp4 to have a keyframe every second, instead of only 1 keyframe at
the start of stream. This makes the unit test I added more useful for mp4...

I pushed most of the seek target clamping logic in MediaDecoder up into
HTMLMediaElement, so that we're clamping in fewer places. Note
MediaDecoderStateMachine::Seek() still sanity checks the seek target.

We have to update the currentTime/MediaDecoder playback position after a seek
completes now, rather than assuming the seek always got it exactly right.

Removed those pesky assertions about seek target lying in the first frame after
seek, since actually sometimes the media doesn't have samples for all streams
after a seek (either due to the media being encoded like that, or because of a
bug in the platform's decoder, not entirely sure).

Green: https://tbpl.mozilla.org/?tree=Try&rev=b028258565e2
* * *
Bug 778077 - Fix up MediaOMXReader fastseek to ensure audio stream stays in sync with video stream. r=cajbir
2014-04-01 16:39:04 +13:00
Jan Beich
e066586c19 Bug 989112 - Lazily reference to gst_event_type_get_name() to unbreak --enable-debug. r=alessandro.d 2014-03-28 10:36:48 -04:00
Ed Morley
05dcbf9506 Backed out changeset 00fa39c23b44 (bug 778077) for reftest failures 2014-03-28 12:31:29 +00:00
Chris Pearce
dac6ce38ba Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir
Implement HTMLMediaElement.fastSeek(), basically by changing all the
MediaDecoderReader::Seek() overrides to not call
MediaDecoderReader::DecodeToTarget(), and have MediaDecoderReader::DecodeSeek()
call DecodeToTarget() if we're doing an accurate (non-fast) seek.

Update gizmo.mp4 to have a keyframe every second, instead of only 1 keyframe at
the start of stream. This makes the unit test I added more useful for mp4...

I pushed most of the seek target clamping logic in MediaDecoder up into
HTMLMediaElement, so that we're clamping in fewer places. Note
MediaDecoderStateMachine::Seek() still sanity checks the seek target.

We have to update the currentTime/MediaDecoder playback position after a seek
completes now, rather than assuming the seek always got it exactly right.

Removed those pesky assertions about seek target lying in the first frame after
seek, since actually sometimes the media doesn't have samples for all streams
after a seek (either due to the media being encoded like that, or because of a
bug in the platform's decoder, not entirely sure).

Green: https://tbpl.mozilla.org/?tree=Try&rev=b028258565e2
2014-03-28 22:36:10 +13:00
Phil Ringnalda
e21145ad4a Backed out 2 changesets (bug 778077, bug 631058)
CLOSED TREE

Backed out changeset dda301682977 (bug 631058)
Backed out changeset 25b633e7dcd5 (bug 778077)
2014-03-27 21:50:02 -07:00
Chris Pearce
fc3fc91d79 Bug 778077 - Implement HTMLMediaElement.fastSeek(time). r=cajbir
Implement HTMLMediaElement.fastSeek(), basically by changing all the
MediaDecoderReader::Seek() overrides to not call
MediaDecoderReader::DecodeToTarget(), and have MediaDecoderReader::DecodeSeek()
call DecodeToTarget() if we're doing an accurate (non-fast) seek.

Update gizmo.mp4 to have a keyframe every second, instead of only 1 keyframe at
the start of stream. This makes the unit test I added more useful for mp4...

I pushed most of the seek target clamping logic in MediaDecoder up into
HTMLMediaElement, so that we're clamping in fewer places. Note
MediaDecoderStateMachine::Seek() still sanity checks the seek target.

We have to update the currentTime/MediaDecoder playback position after a seek
completes now, rather than assuming the seek always got it exactly right.

Removed those pesky assertions about seek target lying in the first frame after
seek, since actually sometimes the media doesn't have samples for all streams
after a seek (either due to the media being encoded like that, or because of a
bug in the platform's decoder, not entirely sure).

Green: https://tbpl.mozilla.org/?tree=Try&rev=b028258565e2
2014-03-28 15:50:28 +13:00
Jan Beich
d4892a3347 Bug 984064 - Unbreak --enable-gstreamer=1.0 after bug 967364. r=khuey 2014-03-16 15:34:14 -04:00
Kyle Huey
510a49016d Bug 967364: Rename already_AddRefed::get to take. r=bsmedberg 2014-03-15 12:00:15 -07:00
Nathan Froyd
af496ca80d Bug 978105 - convert content/ to use Endian.h; r=smaug 2014-02-26 20:20:15 -05:00
Alfredo Yang
057236b5ee Bug 976510 - Calculate display size according to pixel aspect-ratio. r=cpearce 2014-03-05 08:47:45 -05:00
Chris Pearce
fb9c0cbaaf Bug 975928 - Use our estimate for MP3 duration rather than GStreamer's for buffered range end when fully buffered in MP3/GStreamer. r=alessandro.d 2014-02-26 13:36:54 +13:00
Alex Xu
f7e64c81d8 Bug 967927 - Fix Clang build warning in gstreamer. r=eflores 2014-02-25 08:40:54 -05:00
Ryan VanderMeulen
8decc6b458 Backed out changeset d22ac63d67f1 (bug 967927) for bustage.
CLOSED TREE
2014-02-24 10:56:37 -05:00
Alex Xu
3f59d1fe12 Bug 967927 - Fix Clang build warning in gstreamer. r=eflores 2014-02-24 10:22:59 -05:00
JW Wang
0651a3a720 Bug 949346 - 1. print this pointer in nspr logs for debugging when there are 2 GStreamerReader running concurrently 2. Parse MP3 headers before kicking off the gstreamer pipeline such that there are no concurrent stream operations which could screw the state machine of gstreamer. r=alessandro.d 2014-02-20 08:32:19 +08:00
Ryan VanderMeulen
240c843834 Backed out changeset 183380b99514 (bug 874806) for frequent mochitest asserts.
CLOSED TREE
2014-02-19 14:15:19 -05:00
Alessandro Decina
de531bfc91 Bug 973744 - Remove matroska seek hack in the gstreamer media backend. r=edwin 2014-02-19 11:30:09 -05:00
Alessandro Decina
5b7fd8a1d9 Bug 874806 - GStreamerReader::PlayBinSourceSetupCb() doesn't need to do a bogus read anymore. r=cpearce 2014-02-18 08:59:32 -05:00
Alessandro Decina
5f078f28f2 Bug 973379 - GStreamerReader::ReadMetadata()'s element config loop should break on error to avoid timeout. r=edwin 2014-02-18 11:28:04 +13:00
Chris Pearce
2112c71d2f Bug 973139 - Don't treat EOS of one stream as EOS of all streams when decoding with GStreamer. r=alessandro.d 2014-02-15 22:32:12 +13:00
Alessandro Decina
c227f421a5 Bug 806917 - Add support for GStreamer 1.0. r=edwin, r=gps 2014-02-11 09:22:45 -05:00
Ms2ger
f79d93ff0a Bug 952033 - Part c: Use IntSize and IntRect in VideoData; r=roc 2014-02-09 09:04:38 +01:00
Ben Kelly
bfdee09390 Bug 960873: Part 5: Make gstreamer use AudioCompactor. r=cpearce 2014-02-05 18:11:25 -05:00
Alessandro Decina
bcedc6fe80 Bug 959007 - Firefox crashes when starting html5 web player. r=cpearce, r=edwin 2014-02-05 17:46:04 -05:00
Phil Ringnalda
fe6c4959d1 Backed out 6 changesets (bug 960873) for Win64 build bustage
Backed out changeset 33d8989841ac (bug 960873)
Backed out changeset 6c9e404aeb3f (bug 960873)
Backed out changeset 36c8b10b0a31 (bug 960873)
Backed out changeset 29c36a7acfb0 (bug 960873)
Backed out changeset 6e3966e0eb40 (bug 960873)
Backed out changeset 612db692256b (bug 960873)
2014-02-05 09:28:14 -08:00
Ben Kelly
24bfd36b75 Bug 960873: Part 5: Make gstreamer use AudioCompactor. r=cpearce 2014-02-04 23:10:43 -05:00
Benoit Jacob
3991287fb7 Bug 964442 - Make CreateImage just take a plain format parameter - r=jrmuizel 2014-01-30 17:58:51 -05:00
Benoit Jacob
e6d46b061f Bug 962784 - Convert ImageTypes.h to typed enums - r=jrmuizel
find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | grep -v 'gfx/layers/ImageTypes.h' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(GRALLOC_PLANAR_YCBCR\|PLANAR_YCBCR\|SHARED_RGB\|CAIRO_SURFACE\|MAC_IOSURFACE\|REMOTE_IMAGE_BITMAP\|SHARED_TEXTURE\|REMOTE_IMAGE_DXGI_TEXTURE\|D3D9_RGB32_TEXTURE\)\($\|[^A-Za-z0-9_]\)/\1ImageFormat::\2\3/g'

find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | grep -v 'gfx/layers/ImageTypes.h' | xargs sed -i 's|ImageFormat\:\:ImageFormat|ImageFormat|g'

find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)STEREO_MODE_\(MONO\|LEFT_RIGHT\|RIGHT_LEFT\|BOTTOM_TOP\|TOP_BOTTOM\)\($\|[^A-Za-z0-9_]\)/\1StereoMode::\2\3/g'

find content/media media/webrtc gfx/layers gfx/tests dom/camera dom/plugins image/src layout/base -type f | grep -v 'gfx/layers/ImageTypes.h' | xargs sed -i 's|StereoMode\:\:StereoMode|StereoMode|g'
2014-01-30 17:58:49 -05:00
Edwin Flores
740ce45445 Bug 918135 - Use MP3FrameParser in GStreamer backend for MP3 duration estimation r=cpearce
This patch adds support for our home-grown MP3 frame parser to the GStreamer
backend so that our duration estimation is consistent across all platforms.
2013-12-03 10:25:28 +13:00
Matthew Gregan
6dcb5015db Bug 939662 - Remove "using namespace mozilla::dom;" from MediaDecoder.h and fix fallout. r=cpearce 2013-11-18 17:22:47 +13:00
Phil Ringnalda
102ba52e3d Back out 4fd2bf2ec8db (bug 939662) for Windows build bustage
CLOSED TREE
2013-11-18 21:34:48 -08:00
Matthew Gregan
f9db1edec7 Bug 939662 - Remove "using namespace mozilla::dom;" from MediaDecoder.h and fix fallout. r=cpearce
--HG--
extra : rebase_source : 922db8de8e9103e3001c26f23ed7402efa8237f5
2013-11-18 17:22:47 +13:00
Mike Hommey
a65383e1e9 Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps
Landing on a CLOSED TREE.
2013-11-19 11:50:54 +09:00
Mike Hommey
8ceb917350 Bug 939074 - Remove most LIBXUL_LIBRARY. rs=gps 2013-11-19 11:48:10 +09:00
Mike Hommey
bb6779efe3 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey
d7b6f95761 Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps 2013-11-19 11:47:14 +09:00
Ms2ger
af09204569 Bug 931404 - Move LOCAL_INCLUDES to moz.build in content/; r=gps 2013-11-11 09:04:06 +01:00
Bill Gianopoulos
942093ef65 Bug 931428 - Include NullPtr.h in GStreamerLoader.cpp; r=ehsan 2013-10-26 20:42:34 -04:00
Chris Pearce
2744117b84 Bug 930829 - Add MediaData class as base for VideoData and AudioData to simplify writing a generic stream decoder. r=kinetik 2013-10-25 15:44:58 +13:00
Mike Hommey
1d566f7586 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Mike Hommey
e2ae65f67a Bug 913268 - Make CPP_SOURCES a StrictOrderingOnAppendList. r=mshal 2013-10-24 08:00:23 +09:00
Birunthan Mohanathas
872802570b Bug 784739 - Switch from NULL to nullptr in content/; r=ehsan
--HG--
extra : rebase_source : 9237726507e8002479616a98a82646a763932507
2013-10-23 16:34:10 -04:00
Landry Breuil
fbc0a0bf79 Bug 927898: fix loading of gstreamer libs at runtime on OpenBSD. r=doublec 2013-10-18 11:13:50 +02:00
Matthew Gregan
e1f44d3688 Bug 920867 - Split VideoInfo into Video and Audio objects, then encapsulate in new MediaInfo object. r=cpearce 2013-09-27 17:22:38 +12:00
Chris Pearce
7fb506d1f8 Bug 915957 - Move MediaDecoder::NotifyBytesConsumed() calls into MediaResource, so we don't need to remember to do them in all decoder backends. r=kinetik 2013-09-18 15:37:23 +12:00
Chris Pearce
6745dba042 Bug 915958 - Automatically Finish() MediaQueues, so that each backend doesn't need to remember to do it. r=edwin 2013-09-13 14:33:54 +12:00