Commit Graph

80 Commits

Author SHA1 Message Date
Gerald Squelart
f17dd305d6 Bug 1331289 - Use MediaContainerType in MediaResource, SourceBuffer, TrackBuffersManager, and dependencies - r=jya
Continuing the work of replacing MIME strings with MediaContainerType, starting
from MediaResource and following the dependencies.

Most changes are mechanical: Just change ns*String into MediaContainerType, and
MIME string literals into MEDIAMIMETYPE("a/b").
Some checks for empty/invalid strings and lowercase comparisons can go, thanks
to the always-valid always-lowercase-MIME invariants of MediaContainerType.

One special case in is MediaSourceResource, which used to have an empty string
as its type (because its own type is not relevant, but its SourceBuffers carry
types). Because the inherited GetContentType *must* be overridden, and must
return a MediaContainerType, we needed a valid type even though it should not
be seen in the real world. I've chosen "application/x.mediasource" for that.

MozReview-Commit-ID: 1aCH75Kh2e6

--HG--
extra : rebase_source : 0d9cd9b69c264e5dcfc3845f80ee107f4bcbcd9a
2016-12-28 18:59:02 +11:00
JW Wang
9b83914222 Bug 1322087. Part 3 - allow MediaResoure::Tell() to be called on the main thread. r=cpearce
It is safe to call Tell() on the main thread because it won't block the main thread like Read() does.

MozReview-Commit-ID: 64B41l8fe1

--HG--
extra : rebase_source : b5fc0ec44e8c238841c4f4329d14a0e476f7e422
extra : source : 3d229e2cc659d262ce04c4b09b3484b6524af4b4
2016-12-07 03:22:32 -10:00
JW Wang
3b2f21794b Bug 1304633 - Treating resources as finite when the response code is 206. r=cpearce
MozReview-Commit-ID: 13GF2E5IwSs

--HG--
extra : rebase_source : 09ae93536dc8ca71b46df60a759f06be12156246
2016-09-22 15:15:01 +08:00
Nicholas Nethercote
b71747b2ac Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm.
The new name makes the sense of the condition much clearer. E.g. compare:

  NS_WARN_IF_FALSE(!rv.Failed());

with:

  NS_WARNING_ASSERTION(!rv.Failed());

The new name also makes it clearer that it only has effect in debug builds,
because that's standard for assertions.

--HG--
extra : rebase_source : 886e57a9e433e0cb6ed635cc075b34b7ebf81853
2016-09-01 15:01:16 +10:00
bechen
931402dd2f Bug 1291629 - Remove RTSP code. r=jwwang
MozReview-Commit-ID: AxaLwO4rTuY

--HG--
extra : rebase_source : f8a5de1be1471238d62b6bbc419b3a45f2590da6
2016-08-10 10:32:25 +08:00
Nicholas Nethercote
3b0485fcdb Bug 1294645 - Don't use NS_CALLBACK for callbacks in nsI{Input,Output,UnicharInput},Stream.idl. r=froydnj.
Slightly less than half (93 / 210) of the NS_METHOD instances in the codebase
are because of the use of NS_CALLBACK in
nsI{Input,Output,UnicharInput},Stream.idl. The use of __stdcall on Win32 isn't
important for these callbacks because they are only used as arguments to
[noscript] methods.

This patch converts them to vanilla |nsresult| functions. It increases the size
of xul.dll by about ~600 bytes, which is about 0.001%.

--HG--
extra : rebase_source : c15d85298e0975fd030cd8f8f8e54501f453959b
2016-08-12 17:36:22 +10:00
Christoph Kerschbaumer
19ac7d31c1 Bug 1274170 - Remove unnecessary includes of nsCorsListenerProxy. r=jkingston
--HG--
extra : rebase_source : 488864e497a7e6c127a98e05efd17d1d0580e000
2016-06-21 12:54:03 +02:00
Matthew Gregan
0f7bada663 Bug 910329 - Don't use the channel status as a proxy for load group membership. r=mayhemer 2016-06-09 13:36:58 +12:00
JW Wang
d27b3f1144 Bug 1273063 - remove ChannelMediaResource::mIsTransportSeekable. r=cpearce.
MozReview-Commit-ID: DvBaIzbh72D

--HG--
extra : rebase_source : d507ef58c8556ee45be49668422c3843c92ed5bc
2016-05-17 10:33:34 +08:00
Kyle Huey
941ab1f522 Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Carsten "Tomcat" Book
ba3fe0975c Backed out changeset 85ce8cb0639a (bug 1268313)
--HG--
extra : rebase_source : 56d1cf41a2dc4959b67f834e07192a5c772176a8
2016-04-29 14:21:16 +02:00
Kyle Huey
48a594a09e Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-04-28 14:08:25 -07:00
Kyle Huey
d9265a3eaf Bug 1259294: Part 2 - Use MOZ_ALWAYS_SUCCEEDS. r=froydnj 2016-03-28 10:28:15 -07:00
Christoph Kerschbaumer
cacb6fe0fc Bug 1228677 - Do not enforce CORS when loading file for MediaResource. r=cpearce
MozReview-Commit-ID: 4RNWLi1QQC7
2016-03-06 19:17:43 -08:00
Jean-Yves Avenard
7a839f5456 Bug 1251044: P2. Remove dead code and generalise the use of content-range header. r=roc
MozReview-Commit-ID: ESMlcBOQKsy
2016-02-29 11:41:14 +11:00
Jean-Yves Avenard
055a36351a Bug 1251044: P1. Use content-range values to determine content's length. r=roc
MozReview-Commit-ID: 7oAmvRGxzw3
2016-02-29 11:41:07 +11:00
Jean-Yves Avenard
373a09f589 Bug 1249904: Use content-range values to determine length if content-length is unknown. r=roc
While currently unused, the functionality of mByteRange was preserved.
To avoid unforeseen regressions, we only error on an invalid Content-Range response if mByteRange was set, otherwise the error is ignored and code proceed as before.

MozReview-Commit-ID: BRiO633uTh7
2016-02-25 10:02:53 +11:00
Jean-Yves Avenard
bc55ba93a4 Bug 1240411: P9. Clean up media headers. r=jwwang
Remove redundant virtual keyword and add missing override if any.
2016-01-19 19:47:36 +11:00
Francois Marier
d63cc41a00 Bug 1231557 - Use the URL Classifier in Media elements. r=cpearce,r=gcp
--HG--
rename : dom/media/test/vp9.webm => toolkit/components/url-classifier/tests/mochitest/vp9.webm
2015-12-16 13:24:40 -08:00
Jean-Yves Avenard
c8c275cee2 Bug 1227396: P7. Replace nsTArray<MediaByteRange> with dedicated MediaByteRangeSet object. r=cpearce 2015-11-30 11:29:34 +11:00
Jean-Yves Avenard
70f2124283 Bug 1227396: P2. Rename some MediaByteRange methods. r=cpearce
Will facilitate the replacement of MediaByteRange by Interval<int64_t>
2015-11-30 11:29:30 +11:00
Birunthan Mohanathas
399934f259 Bug 1217307 - Remove some unnecessary null checks in rest of dom/. r=njn 2015-11-19 09:13:49 +02:00
JW Wang
c87926273d Bug 1221009. Part 1 - add a class to forward notifications from MediaResource to MediaDecoder. r=roc. 2015-11-16 07:50:55 +08:00
sajitk
582e1a55fa Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian 2015-11-15 14:49:01 +01:00
JW Wang
8dedbfa33d Bug 1223599 - Remove the throttling argument from AbstractMediaDecoder::NotifyDataArrived(). r=jya. 2015-11-11 17:59:16 +08:00
Wes Kocher
f3a9eb2a26 Backed out changeset 1e5f3d1151d6 (bug 1219480) for cpp unittest bustage CLOSED TREE
--HG--
extra : commitid : BMVKq6cPeho
2015-11-11 09:36:56 -08:00
sajitk
3cbe348cdd Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian
--HG--
extra : rebase_source : c73098485fa005d914304fb6e7f8eba3c15e66dc
2015-11-11 06:52:00 +01:00
JW Wang
4f2d0e76bc Bug 1220558. Part 1 - remove unused arguments from MediaDecoderReader::DispatchNotifyDataArrived() and its callees/callers. r=jya. 2015-11-11 07:43:38 +08:00
JW Wang
19425ba626 Bug 1218280. Part 2 - remove unused code. r=roc. 2015-10-27 10:28:28 +08:00
JW Wang
a7589ce310 Bug 1218280. Part 1 - create MediaResourceCallback for MediaResource to send notifications. r=roc. 2015-10-27 10:28:26 +08:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd
583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Chris Pearce
d4ed7efef9 Bug 1207019 - Remove WMF availability check in MediaKeySystemAccess requests. r=edwin 2015-10-05 15:03:48 +13:00
Christoph Kerschbaumer
341664bdb6 Bug 1194524 - Use channel->ascynOpen2 in dom/media/MediaResource.cpp (r=sicking) 2015-09-12 12:59:08 -07:00
JW Wang
df0adb1534 Bug 1068596 - Pass SHARE_DELETE when opening a file so the file can be deleted without waiting for GC. r=roc
--HG--
extra : rebase_source : 17d06d3f3a2a17c864ff6aa58be9cef08596e2ec
2015-08-27 08:14:07 -04:00
Ryan VanderMeulen
03be2e6438 Backed out changeset d2e4ce298bab (bug 1068596) for Windows crashes. 2015-08-27 07:29:06 -04:00
JW Wang
4dbfaaf466 Bug 1068596 - pass SHARE_DELETE when opening a file so the file can be deleted without waiting for GC. r=roc. 2015-08-27 14:45:41 +08:00
Alastor Wu
e0d9476343 Bug 1187092 - Refactor the suspend process. r=jwwang
--HG--
extra : rebase_source : 8c8af14d6893c3813717aea19cf9a5d5ef4d53bd
2015-08-19 12:43:25 +08:00
Ryan VanderMeulen
0bb9f1e514 Backed out changeset ee800c0e234f (bug 1187092) for media crashes/asserts. 2015-08-18 13:11:05 -04:00
Alastor Wu
7ce5d8c0b5 Bug 1187092 - Refactor the suspend process. r=jwwang 2015-08-17 17:25:07 +08:00
JW Wang
be027d0555 Bug 1192708 - Remove redundant call to CloseChannel. r=roc. 2015-08-14 11:17:29 +08:00
Jean-Yves Avenard
5f8b09b58e Bug 1190238: P2. Have MediaResourceIndex::ReadAt() only stop early when reaching EOS or error. r=cpearce
MediaResource::ReadAt() requires to loop several times to ensure that all data has been read as it may return less data than requested.
This will allow to remove the handling of this particular shortcoming in MediaResources' users.
2015-08-13 15:27:09 +10:00
Jean-Yves Avenard
b55f0cf63a Bug 1190238: P1. Remove MediaResource::Read/Seek. r=cpearce
This functionality is now replaced with a dedicated new MediaResourceIndex class.
This allows for concurrent Read/Seek use of the MediaResource without having side effects.
2015-08-13 15:27:09 +10:00
Alastor Wu
3157f0bcb7 Bug 1193245 - Use Atomic in the suspend count of the media resource. r=jwwang
In present codebase, the |mSuspendCount| would be accessed in main thread and state machine thread, and we use the lock mechanism to avoid the race condition.

However, we can use another more easier way to achieve it, that is using Atomic for the |mSuspendCount|.

--HG--
extra : transplant_source : %E7%80%93h%25%5D%24%CA%0C%19%1BDQ%60%08%BD%CB%9D%90%FC
2015-08-12 11:07:59 +08:00
Jean-Yves Avenard
38e19fbee9 Bug 1183920: Properly delete MediaResource when released on non main thread. r=cpearce
Leak was not detected as it was registered via NS_LOG_RELEASE.
2015-07-15 16:21:58 +10:00
Jean-Yves Avenard
06b4c853b9 Bug 1182933: Implement MediaReadAt. r=bholley
Ensure SilentReadAt seek back to original position even in case of error.
Properly set the MediaByteBuffer length.
2015-07-13 10:36:48 +10:00
Bobby Holley
3985c88eb7 Bug 1175768 - Throttle NotifyDataArrived. r=jya 2015-06-27 01:19:14 -07:00
Bobby Holley
f25ea07acc Bug 1175768 - Dispatch NotifyDataArrived and remove the aBuffer argument. r=jya
It would be nice to remove the argument in a separate patch, but we can't
perform MediaResource reads on the main thread, so the SilentReadAt stuff
needs to happen at the same time as the off-main-thread stuff.
2015-06-27 01:19:10 -07:00
Bobby Holley
2b484ece54 Bug 1175768 - Implement SilentReadAt. r=jya 2015-06-27 01:19:09 -07:00
Ryan VanderMeulen
d9ca5de3ed Backed out 8 changesets (bug 1175768) for frequent media test failures.
Backed out changeset a369cfb95b59 (bug 1175768)
Backed out changeset e02dd312d622 (bug 1175768)
Backed out changeset 6776ce74b9e5 (bug 1175768)
Backed out changeset 6aa5fa1d318e (bug 1175768)
Backed out changeset a8bd7a0d2aea (bug 1175768)
Backed out changeset 41ffc9a9ac48 (bug 1175768)
Backed out changeset 2d2cefa397dc (bug 1175768)
Backed out changeset 4e06368496d2 (bug 1175768)

CLOSED TREE
2015-06-23 16:20:15 -04:00