Commit Graph

56 Commits

Author SHA1 Message Date
Ehsan Akhgari
f76451d2e9 Bug 1060980 - Fix more bad implicit constructors in the media code; r=roc
--HG--
extra : rebase_source : 14da50f7d2e37e04452445dea575ea4d582e8efd
2014-08-31 23:50:23 -04:00
Chris Pearce
b17d73814a Bug 1059523 - Make codecs/mimetypes supported by MP4Decoder/Reader less inaccurate. r=kinetik 2014-08-28 15:32:34 +12:00
Chris Pearce
05136cdace Bug 979104 - MediaDecoderReader/StateMachine asynchronous decoding. r=kinetik 2014-06-18 17:07:02 +12:00
Ehsan Akhgari
9511934161 Backed out changeset 0cdef46c65c1 (bug 979104) for causing bug 1024324 2014-06-13 16:20:37 -04:00
Chris Pearce
4a7a931f02 Bug 1022467 - Proxy destruction of WMFVideoOutputSource's DXVA2Manager to main thread. r=padenot 2014-06-11 10:53:21 +12:00
Chris Pearce
954b2d1caf Bug 979104 - MediaDecoderReader/StateMachine asynchronous decoding. r=kinetik 2014-06-10 19:31:09 +12:00
Chris Pearce
6dd715d70c Bug 1004373 - Prevent multiple ReadMetadata tasks to be dispatched to the decode task queue at once. r=kinetik 2014-05-06 12:12:05 +12:00
Chris Pearce
b12df215bb 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
Ed Morley
7a428f481b Backed out changeset 00fa39c23b44 (bug 778077) for reftest failures 2014-03-28 12:31:29 +00:00
Chris Pearce
eefc2c2db6 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
7fb1a235f6 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
7bc425d1e8 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
Ben Kelly
3e4230f663 Bug 960873: Part 1: Refactor MediaDecoderReader.h into separate headers. r=cpearce 2014-02-03 20:49:21 -05:00
Alexandros Chronopoulos
997a41c02c Bug 911482 - Perform audio downmix inside AudioStream class. r=rillian 2013-09-26 22:06:59 +03:00
Chris Pearce
a4d939b3c4 Bug 933579 - Export IsVideoContentType() to VideoUtils, so that it can be used elsewhere, and move all of VideoUtils into namespace mozilla. r=kinetik 2013-11-04 11:45:19 +13:00
Karl Tomlinson
52b6e813b1 b=928222 move ReentrantMonitorAutoExit from VideoUtils.h to ReentrantMonitor.h r=bsmedberg
--HG--
extra : transplant_source : %13O%CF%90x%02%B8%B6%A3%EA%AD%03%99%9A7%1B%A0%21%C4%A3
2013-10-24 07:22:53 +13:00
Ehsan Akhgari
210ba12d7c Bug 912702 - Minimize the #includes in content/media; r=roc 2013-09-05 16:25:17 -04:00
Ehsan Akhgari
45746b149c Backed out changeset 2f15518f566e (bug 912702) because of B2G JB Emulator build bustage
--HG--
extra : rebase_source : 6c01ad3bc2f91b0e7e3edab84aedbfe064310a8b
2013-09-05 13:29:38 -04:00
Ehsan Akhgari
66abd6bfb5 Bug 912702 - Minimize the #includes in content/media; r=roc 2013-09-04 17:58:14 -04:00
Rick Eyre
fe93cb517c Bug 885879 - Make sure cue times are not rounded r=rillian
Tests for this will be landing in bug 833386 Part 2.
2013-06-19 14:35:04 -04:00
Rick Eyre
a4c63ef537 Bug 884507 - Change SECOND_TO_MS macro to be named MS_TO_SECONDS r=rillian 2013-06-18 12:53:00 -07:00
Rick Eyre
0bdf09070f Bug 833382 - Implement WebVTTLoadListener r=cpearce,bz
- Implemented WebVTTLoadListener to manage the webvtt parser.
- TextTrackCue now handles the conversion of webvtt nodes to
  anonymous content which will be displayed on the video div
  overlay.
- HTMLTrackElement manages the lifetime of the WebVTTLoadListener.
2013-06-10 08:30:00 -07:00
Arnaud Sourioux
3259f595c7 Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug 2013-05-29 13:43:41 -07:00
Ryan VanderMeulen
0a2c0872da Backed out changeset a966aadd9ae3 (bug 856822) for Windows bustage on a CLOSED TREE. 2013-05-29 17:56:10 -04:00
Arnaud Sourioux
6629173032 Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug 2013-05-29 13:43:41 -07:00
Joshua Cranmer
1eb62b3971 Bug 856108 - Port static analyses to clang, part 2a: use MOZ_STACK_CLASS in content. r=bz 2013-04-11 22:20:09 -05:00
Andrea Marchesini
2de1d7cad4 Bug 841014 - Rename nsTimeRanges.h to TimeRanges.h. r=Ms2ger
--HG--
rename : content/html/content/src/nsTimeRanges.cpp => content/html/content/src/TimeRanges.cpp
rename : content/html/content/src/nsTimeRanges.h => content/html/content/src/TimeRanges.h
2013-03-02 14:14:44 -05:00
Steve Workman
aa6a61c8ef Bug 792404 - Add code to enable adaptive decoder and reader switching for DASH-WebM r=cpearce 2012-12-06 15:27:08 -08:00
Paul Adenot
3650da83a5 Bug 815194 - Remove more ns prefixes on content/media classes + whitespace fixes. r=cpearce 2012-11-28 20:40:07 +01:00
Chris Pearce
7befb32d64 Bug 786924 - Estimate Ogg buffered ranges on B2G to avoid main thread I/O. r=kinetik 2012-09-03 10:56:29 +12:00
Ehsan Akhgari
e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Aryeh Gregor
d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Timothy B. Terriberry
727dece7cd Bug 750231 - Use larger stacks on the media decoder threads with ASAN, r=kinetik 2012-06-03 12:43:09 -07:00
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Benoit Jacob
6de3cc03da Bug 732875 - 8/8 - move CheckedInt to MFBT, enable unit tests in mfbt/tests - r=jwalden
--HG--
rename : xpcom/ds/CheckedInt.h => mfbt/CheckedInt.h
2012-05-14 15:50:20 -04:00
Ed Morley
0f956d7307 Backout 345ae68f15f4, b3b40121ac8d, 0d18b7a246d7, 9dbb6064ab58, dee9d7fa8eb6, 63eec6bfa948, 323c6be7cfe8 & f4aac7523a48 (bug 732875) for compilation failures 2012-05-14 21:05:24 +01:00
Benoit Jacob
fa8d5e0469 Bug 732875 - 8/8 - move CheckedInt to MFBT, enable unit tests in mfbt/tests - r=jwalden
--HG--
rename : xpcom/ds/CheckedInt.h => mfbt/CheckedInt.h
2012-05-14 15:50:20 -04:00
Chris Pearce
a4302efd2e Bug 736342 - Add AsyncBlockWriter, which defers file writes to another thread. r=roc 2012-03-28 13:04:20 +13:00
Ching Wei Tseng
b369406826 Bug 601535 - content/media should use CheckedInt.h. r=doublec 2012-02-22 13:28:06 +01:00
Ms2ger
1a688061bd Bug 699731 - Remove PR_INT64_MAX / PR_UINT64_MAX from non-nsprpub source; r=ted 2012-01-11 09:23:07 +01:00
Matthew Gregan
764c482f0f Bug 695986 - Fix bug 669556 on Android. r=cpearce 2011-11-22 13:17:38 +13:00
Matthew Gregan
7a81d221c9 Bug 693095 - Fix audio stream position estimation for remoted streams. Also resurrect audio thread wait removed in bug 669556 when using remoted audio streams. r=cpearce 2011-10-19 18:29:08 +13:00
Matthew Gregan
8f6aeecfc2 Bug 690603 - Remove PR_TRUE/PR_FALSE from media code. r=doublec 2011-09-30 12:34:37 +13:00
Michael Wu
d2b70213ac Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Matthew Gregan
203738f570 Bug 689432 - Disambiguate use of "samples" by introducing "frames" in a number of places. r=doublec 2011-09-27 16:31:18 +13:00
Martin Richard
6b62274806 Bug 646333 - Make video constants consistently const T. r=cpearce 2011-09-15 07:39:50 +12:00
Chris Pearce
0fa0aa3a28 Bug 664341 - Specify media decoder's thread stack size. r=kinetik 2011-07-27 15:28:03 +12:00
Chris Pearce
92c1b9ecd3 Bug 661456 - Scale WebM video frames to display size. r=kinetik 2011-06-24 10:08:54 +12:00
Chris Jones
31aa2c4e77 Bug 556214, parts 1 and 1.1: Rename Monitor to ReentrantMonitor and fix existing Monitor users. r=roc
--HG--
rename : xpcom/glue/Monitor.h => xpcom/glue/ReentrantMonitor.h
2011-04-29 14:21:57 -05:00
Chris Pearce
73310e4cd6 Bug 641718 - Convert to using microseconds for internal video timestamps. r=kinetik 2011-04-14 10:12:23 +12:00