Commit Graph

387 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
30fc4c7852 Backed out changeset df13b449ffcc (bug 1242874) 2016-04-28 13:59:02 +02:00
Carsten "Tomcat" Book
55716aae6f Backed out changeset bd757c7d0bad (bug 1242874) 2016-04-28 13:59:01 +02:00
Alastor Wu
9f6316957f bug 1242874 - part5 : add test. r=baku, r=ehsan
MozReview-Commit-ID: 1X7xAbiKhC3
2016-04-28 00:23:52 +08:00
Alastor Wu
872b202911 Bug 1242874 - part4 : wrap the volume/mute/suspend for notifyStartedPlaying. r=baku
MozReview-Commit-ID: GRjxz1E0C9r
2016-04-28 00:23:48 +08:00
Alastor Wu
6540684075 Bug 1242874 - part3 : implement different suspended methods. r=baku, r=jwwang
MozReview-Commit-ID: Co4avRLWGRK
2016-04-28 00:23:42 +08:00
Alastor Wu
243da169a1 Bug 1242874 - part1 : create suspened types. r=baku
MozReview-Commit-ID: 1RJvbzMOCpu
2016-04-28 00:21:22 +08:00
ctai
2fc6b0fcd0 Bug 1266644 - Rename DOMMediaStream:: CreateXXXStream to DOMMediaStream:: CreateXXXStreamAsInput. r=jesup r=pehrsons
MozReview-Commit-ID: 4X0Q1XuENa4
2016-04-25 11:43:27 +08:00
ctai
74633ff4b8 Bug 1266644 - Simple refactoring. r=jesup r=pehrsons
Update some comments, rename.

MozReview-Commit-ID: A747Fd8mH3D
2016-04-07 11:44:00 +08:00
Kyle Huey
a9cf047227 Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Jean-Yves Avenard
840421a062 Bug 1267036: Force recalculation of readyState when download is progressing. r=jwwang
Under some circumstances, the MP3Demuxer is unable to calculate the buffered range which would prevent the readyState value to be recalculated. To get around this we force recalculation when the progress event is fired.

MozReview-Commit-ID: DTaxJjOX4JU
2016-04-24 23:34:23 +10:00
JW Wang
8b279070be Bug 1265978. Part 2 - add methods to MediaDecoder and MDSM to dump debugging info. r=jya.
MozReview-Commit-ID: Dbc5FT627uL
2016-04-22 14:18:26 +08:00
JW Wang
1d02e6fddb Bug 1265978. Part 1 - add mozDumpDebugInfo() to HTMLMediaElement.webidl. r=bz.
MozReview-Commit-ID: E0RZRyWnZrF
2016-04-11 12:02:43 +08:00
Gerald Squelart
3a443cbee4 Bug 848994 - p1. Refactor Decoder Doctor - r=cpearce
Some refactoring, clean-ups, etc.

The main change is that the can-play status is passed when diagnostics are
finally recorded. This will help when introducing different types of
diagnostics in future patches (e.g., Key System issues).

MozReview-Commit-ID: 182ePlrMqn4
2016-04-22 13:42:11 +10:00
Chris Pearce
7472d7e036 Bug 1265587 - Force keystatuses to be cleared when Widevine keysessions are closed. r=gerald
The Widevine CDM, and I believe the Adobe CDM too probably, do not mark a
session's keys as unusable when a key session is closed. This means that
the CDMCaps' copy of the keys that are usable is wrong, and so if the media
with the same keys is reloaded with the same MediaKeys, Firefox will assume
that the keys are usable before the license for the keys has been
re-negotiated, and so decryption will fail.


MozReview-Commit-ID: 1kTDzwSD8PE
2016-04-22 08:31:18 +12:00
Gerald Squelart
ed80913b15 Bug 1248507 - p3. Use DecoderDoctorDiagnostics - r=jya,bz
DecoderDoctorDiagnostics are now used at places where Firefox Chrome and/or
websites checks whether some media formats may be played:
- audio|video.canPlayType()
- audio|video resource loader
- MediaSource.IsTypeSupported()
- MediaSource.AddSourceBuffer()

MozReview-Commit-ID: B1KdjXODq9j
2016-04-19 17:36:19 +10:00
Gerald Squelart
ba02e820af Bug 1248507 - p1. Pass DecoderDoctorDiagnostics to PDMs&more - r=jya
Pass declared-but-yet-undefined DecoderDoctorDiagnostics pointer to various
routines that contribute to deciding if a media format can be played, and
those that create decoders.

Points where a DecoderDoctorDiagnostics can be injected are currently marked
with "/* DecoderDoctorDiagnostics* */ nullptr", and some will be used in
following patches.

MozReview-Commit-ID: 7u37bvY4CpW
2016-04-19 17:36:19 +10:00
Dragana Damjanovic
1080454580 Bug 1125916 - Fix code that miss proper flags and originAttributes in LoadInfo. Also fix some tests. r=sicking, r=jduell 2016-04-13 15:34:36 +02:00
Dan Glastonbury
c141430a96 Bug 1262358 - Part 1: Split autoplay condition into statements. r=cpearce
MozReview-Commit-ID: 19f4XOa4Kzw
2016-04-06 17:30:06 +10:00
Andreas Pehrson
89009d39d5 Bug 1208371 - Forward declare DOMMediaStream in HTMLMediaElement.h. r=jesup
MozReview-Commit-ID: KUPovpKfgek
2016-01-23 23:20:28 +08:00
Andreas Pehrson
2432434625 Bug 1208371 - Move MediaStreamTrack's label to MediaStreamTrackSource. r=jib
MozReview-Commit-ID: Aj7Cht4zxc6
2016-01-22 16:27:37 +08:00
Andreas Pehrson
23adbf5caf Bug 1208371 - Ensure a media element's ImageContainer is protected when playing a stream. r=mt,jesup
HTMLMediaElement needs special protection when playing a stream since its
ImageContainer can outlive the video track of a stream.

Consider for instance when a (cross-origin) video track is removed from a
DOMMediaStream by a user and the remaining video track (non-CORS) does not yet
contain any actual video frames. The HTMLMediaElement will display a frame from
the removed track but the DOMMediaStream's principal has been updated to not
include the principal from the removed track.

With this patch we handle this by letting VideoFrameContainer notify
HTMLMediaElement when it has flushed out all video frames belonging to a
certain PrincipalHandle. I.e., when a new PrincipalHandle has been applied to the
underlying ImageContainer.

MozReview-Commit-ID: LvIZPl6Rdgj
2016-02-04 09:27:09 +08:00
Andreas Pehrson
1db5f12351 Bug 1208371 - Remove ref counting from DOMMediaStream::TrackListener. r=roc
This makes it consistent with PrincipalChangeObserver.

MozReview-Commit-ID: 91PtqFZRcW6
2016-01-05 10:16:28 +08:00
Andreas Pehrson
e43a311400 Bug 1208371 - Change HTMLMediaElement video sinks to check principal for video only tracks. r=mt
MozReview-Commit-ID: KGbyJDgpBOn
2016-01-26 15:36:52 +08:00
Andreas Pehrson
f2dac31c58 Bug 1208371 - Move HTMLMediaElement::CaptureStream to forward CORSMode changes through MediaStreamTrackSource. r=mt
MozReview-Commit-ID: 6bMpKO6ccjd
2016-01-05 10:16:27 +08:00
Andreas Pehrson
00c438eb9b Bug 1208371 - Rename CreateOwnDOMTrack/CreateClonedDOMTrack to CreateDOMTrack/CloneDOMTrack. r=jib
MozReview-Commit-ID: DOGiwcYycJY
2016-01-05 10:16:26 +08:00
Andreas Pehrson
ed37b11aca Bug 1208371 - Route ApplyConstraints through MediaStreamTrackSource. r=jib
MozReview-Commit-ID: CnJnxszKU4o
2016-02-01 22:43:38 +08:00
Andreas Pehrson
8f99be7608 Bug 1208371 - Make HTMLMediaElement::CaptureStream pass its principal to MediaStreamTrack. r=mt
MozReview-Commit-ID: 7ERLRSM8fz6
2016-01-14 18:34:39 +08:00
Andreas Pehrson
84e91fd789 Bug 1208371 - Add an interface DecoderPrincipalChangeObserver to HTMLMediaElement. r=roc
MozReview-Commit-ID: DwDHDE7SLxY
2016-01-14 11:38:08 +08:00
Andreas Pehrson
e88474919d Bug 1208371 - Add MediaStreamTrackSourceGetter interface. r=roc
This allows DOMMediaStream to assign MediaStreamTrackSources to
dynamically created MediaStreamTracks.

MozReview-Commit-ID: 3v91zLiqfl7
2016-01-05 10:16:21 +08:00
Andreas Pehrson
cd7f617dd4 Bug 1208371 - Add a MediaStreamTrackSource interface. r=roc
This lets a MediaStreamTrack communicate with its source/producer on the
main thread. It's for now used for stopping a track at the source and
retrieving some metadata, but it could also be a link between actual
sinks of a track and the source, to for instance let the source optimize
by scaling down the resolution when all sinks want lowres-video.

MozReview-Commit-ID: D4SJLr0aqhJ
2016-04-06 14:46:56 +02:00
Andreas Pehrson
44cf695ac9 Bug 1208371 - Move OnTracksAvailableCallback out of DOMMediaStream. r=roc
So it can be forward declared.

MozReview-Commit-ID: 4RH7p8AzO84
2016-01-05 10:16:21 +08:00
ctai
c181a551f1 Bug 1260950 - Set mInitialSizeFound to true when the initial size id found. r=jesup, r=pehrsons a=kwierso
MozReview-Commit-ID: Ch3jCR4pFYN
2016-03-31 10:13:04 +08:00
Bryce Van Dyk
52314f023d Bug 657791 - Update seekable range handling for cueless WebMs. r=kinetik
MediaDecoder previously had 3 states within GetSeekable(), media is either
seekable, seekable but not supported by transport, or not seekable. Due to
changes to make cueless webms playable, a 4th option is needed: a file that is
not fully seekable, but may support seeking from the transport, such as these
webms, should only be seekable in the buffered range.

MozReview-Commit-ID: ISeFkngtrGU
2016-02-04 17:31:21 +13:00
Louis Christie
22736b561f Bug 1238433 - Added telemetry for the proportion of dropped frames. r=cpearce, f=bsmedberg 2016-02-18 15:22:13 +13:00
Carsten "Tomcat" Book
c755b9eb56 Backed out changeset c7be30a5321e (bug 1238433) for bustage 2016-02-18 10:52:03 +01:00
Louis Christie
810c37bb91 Bug 1238433: Added telemtry for the proportion of frames dropped during playback. r=cpearce 2016-02-12 10:02:00 +13:00
Louis Christie
2e5b5c2b9f Bug 1245982 - Added telemetry for the number of uses of HTMLMediaElement.fastSeek(). r=cpearce 2016-02-05 16:32:41 +13:00
Jean-Yves Avenard
331f92a4c8 Bug 1246521: P1. Add MediaDecoderOwner::HasError method. r=gerald 2016-02-08 16:31:42 +11:00
Kyle Huey
e95edb30a9 Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Andreas Pehrson
3f72b3e06e Bug 1240478 - Have MediaStreamSizeListener active immediately, until the initial size is known. r=jesup 2016-01-29 11:10:19 +08:00
Andreas Pehrson
0222a03f29 Bug 1240478 - Assert that we know the video size on 'loadedmetadata'. r=jesup 2016-01-21 19:42:55 +08:00
Andreas Pehrson
ab871e49d2 Bug 1240478 - Remove Mutex from MediaStreamSizeListener. r=jesup 2016-01-21 19:42:54 +08:00
Sebastian Hengst
f41ca277c9 Backed out changeset c8013b27a0fa (bug 1239899) for failing W(2). r=backout 2016-01-29 00:32:51 +01:00
Chris Pearce
b24a532cc6 Bug 1239899 - Pause media elements removed from document via calling pause(). r=roc
The spec requires us to await a stable state and pause when a media element is removed from a document.

Additionally, before this change we would pause in UnbindFromTree only if HTMLMediaElement::mPaused is false.
However if the media element is set to autoplay, and we unbind before autoplay has had a chance to activate,
we will still continue loading and activate autoplay later. Calling pause, as required by the spec, means
we'll cancel autoplaying.
2016-01-15 15:54:54 +13:00
Andrea Marchesini
71e24b9f05 Bug 1224936 - AudioChannelAgent should be informed when HTMLMediaElement dispatches an error, r=roc 2016-01-25 16:03:42 +00:00
JW Wang
b1510021be Bug 1241405 - reset mCurrentPlayRangeStart in AbortExistingLoads(). r=jya. 2016-01-25 10:52:54 +08:00
Phil Ringnalda
564d45ddc4 Back out 4 changesets (bug 1240478) for somehow causing bug 1242085
Backed out changeset 31629671c71c (bug 1240478)
Backed out changeset bc9a56a067b5 (bug 1240478)
Backed out changeset 485bd08acb96 (bug 1240478)
Backed out changeset 38ef99bddd74 (bug 1240478)
2016-01-22 23:26:45 -08:00
Andreas Pehrson
17161a3cdd Bug 1240478 - Have MediaStreamSizeListener active at all times, not only when playing. r=jesup 2016-01-21 19:42:55 +08:00
Andreas Pehrson
8dd34c0886 Bug 1240478 - Assert that we know the video size on 'loadedmetadata'. r=jesup 2016-01-21 19:42:55 +08:00
Andreas Pehrson
7b1732ffeb Bug 1240478 - Remove Mutex from MediaStreamSizeListener. r=jesup 2016-01-21 19:42:54 +08:00