Commit Graph

19 Commits

Author SHA1 Message Date
Eugen Sawin
61cdb4a6cd Bug 1219178 - [9.1] Make SeekPosition available with tests disabled. a=me for fixing build problems 2015-11-25 06:44:00 +01:00
Eugen Sawin
c389d0fb93 Bug 1219178 - [3.1] Clamp seeking offsets to estimated frame boundaries. r=jya 2015-11-24 15:02:33 +01:00
Eugen Sawin
26ead9d2d6 Bug 1163667 - [4.3] Use VBR/CBR header TOC for efficient seeking and enable fast seeking without TOC based on average frame sizes. r=jya 2015-10-26 18:30:53 +01:00
Eugen Sawin
72014fde27 Bug 1163667 - [3.3] Parse complete Xing/Info header info. r=jya 2015-10-26 18:30:52 +01: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
Jean-Yves Avenard
628247fc4e Bug 1212176: Remove arguments passed to MediaDataDemuxer::NotifyDataArrived API. r=cpearce
Be more explicit on what it does and how it should be used.
2015-10-08 20:47:21 +11:00
Jan Henning
1e4aec48b4 Bug 1202286 - Part 2 - Switch VBR header parsing to use a ByteReader as well instead of directly accessing the buffer. r=esawin
This also contains two small fixes to the VBR header parsing logic itself:
- VBRI parsing was previously broken because the offset wasn't calculated correctly.
- Xing-style headers can use a VBR header ID of "Info" as well.

--HG--
extra : rebase_source : 320a5e7b50e16ab3382e7121dd3d41f5fc439b76
2015-10-04 18:51:40 +02:00
Jan Henning
39b1643cc7 Bug 1202286 - Part 1 - Switch the MPEG frame and ID3 header parsers to use a ByteReader instead of accessing the input buffer directly. r=esawin
--HG--
extra : rebase_source : 4d3c6e1d5f6655163bf59fcdc4238f3740e107d2
2015-10-03 20:36:46 +02:00
Jan Henning
7db0ee08cb Bug 1202286 - Part 0 - Add some explicit namespace references to keep the compiler and IntelliSense happy. r=esawin
DecoderTraits.cpp pulls in MP3Demuxer.h which in turn pulls in mp4_demuxer/ByteReader.h. In that context, for some reason the ByteReader can't find the definition for MediaByteBuffer unless it is prefixed with the proper namespace.

MP3Demuxer.cpp itself compiles fine, but for some reason in Visual Studio IntelliSense complains about TimeUnit and TimeIntervals being undefined unless the using statement uses the full namespace hierarchy.

Also fix a small typo.

--HG--
extra : rebase_source : fc46fc82bf06b61c9ac31c2f4331f84f8557c51e
2015-10-01 11:29:48 +02:00
Jean-Yves Avenard
3c833c2162 Bug 1194080: [mp3] Implement MP3TrackDemuxer::GetBuffered(). r=esawin
This is done by roughly estimated the duration of the MediaResource buffered range from the average bitrate.
2015-10-02 12:41:06 +10:00
Jean-Yves Avenard
33e5945370 Bug 1204407: P2. Remove no longer required MediaDataDemuxer APIs. r=cpearce 2015-09-16 18:14:15 +10:00
Jean-Yves Avenard
71c5c9a7bf Bug 1204419: P4. Remove MediaDataDemuxer API no longer used. r=cpearce 2015-09-16 18:14:12 +10:00
Jan Henning
7e0079f5ec Bug 1197985 - Part 2 - Prevent potential overflows of the input buffer pointer when skipping large ID3 headers. r=esawin 2015-09-04 18:00:09 +02:00
Jan Henning
aa608ef285 Bug 1197985 - Part 1 - Successfully skip ID3 tags stretching beyond the current input buffer. r=esawin
This also slightly tightens up invalid header detection for both ID3 and MPEG frame headers.
2015-09-07 19:18:31 +02:00
Jean-Yves Avenard
4775a405d3 Bug 1191813: [mp3] P1. Avoid false positive EOS detection. r=esawin
We do so by using blocking reads via the MediaSourceIndex::ReadAt convenience method.
2015-08-15 00:22:00 +10:00
Eugen Sawin
b9e633ac47 Bug 1190558 - Add MP3 track demuxer seek tests. r=kinetik 2015-08-04 23:01:36 +02:00
Eugen Sawin
1c5bef0343 Bug 1190558 - Reset MP3 frame parser on track demuxer reset. r=kinetik 2015-08-04 23:01:36 +02:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Eugen Sawin
e03391c07e Bug 1166779 - Rebase MP3 demuxer on MediaDataDemuxer interface. r=kinetik
--HG--
rename : media/libstagefright/binding/MP3TrackDemuxer.cpp => dom/media/MP3Demuxer.cpp
rename : media/libstagefright/binding/include/mp4_demuxer/MP3TrackDemuxer.h => dom/media/MP3Demuxer.h
extra : rebase_source : 1cbc9b841cdba57e9d72c00f6c6ec95eebb3b371
2015-06-05 14:34:19 +02:00