Commit Graph

272 Commits

Author SHA1 Message Date
Jean-Yves Avenard
afcbfc9b48 Bug 1171330: P14. Add ContainerParser::FirstCompleteMediaHeader() method. r=kentuckyfriedtakahe 2015-06-11 16:27:15 +10:00
Jean-Yves Avenard
306c867b10 Bug 1171330: P1. Add ContainerParser::MediaSegmentRange() method. r=kentuckyfriedtakahe
And add abilities to MoofParser to indicate if a media segment is complete.
In MP4 a media segment is made of a moof atom followed by one (or more) mdat
atoms.
2015-06-11 15:49:49 +10:00
Birunthan Mohanathas
8aaa6ae83e Bug 968520 - Add mozilla::fallible to more FallibleTArray calls. r=froydnj
This calls were already fallible due to their type (FallibleTArray). This
commit merely makes that fact visible at the call site.
2015-06-10 14:30:41 -07:00
Jean-Yves Avenard
9b86221a9f Bug 1171067: Part2. Properly hande box size marked as 0. r=kentuckyfriedtakahe
This indicates that the box goes to the end of the file.
2015-06-10 19:38:13 +10:00
Jean-Yves Avenard
a91eb477eb Bug 1171067: Properly read 64bits header's size. r=kentuckyfriedtakahe 2015-06-10 19:38:13 +10:00
Jean-Yves Avenard
cd1eb1d1b9 Bug 1168040: P3. MP4 dts must use the same timeline as pts. r=kentuckyfriedtakahe 2015-06-10 19:38:13 +10:00
Jean-Yves Avenard
6106267244 Bug 1168040: Part2. Properly handle MP4 time offset in MoofParser. r=kentuckyfriedtakahe 2015-06-10 19:38:13 +10:00
Jean-Yves Avenard
33abc1b31e Bug 1168040: Part1. Properly handle MP4 starting offset. r=kentuckyfriedtakahe 2015-06-10 19:38:13 +10:00
Jean-Yves Avenard
c3b56c2f02 Bug 1171629: Use fallible array to store MP4 samples index. r=kentuckyfriedtakahe 2015-06-10 19:38:13 +10:00
Eugen Sawin
3d3cc48ffe Bug 1166779 - Rebase MP3 demuxer on MediaDataDemuxer interface. r=kinetik 2015-06-05 14:34:19 +02:00
Eric Rahm
29f00ac208 Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-03 15:25:57 -07:00
Carsten "Tomcat" Book
e2f82674b8 Backed out 14 changesets (bug 1165515) for linux x64 e10s m2 test failures
Backed out changeset d68dcf2ef372 (bug 1165515)
Backed out changeset 7c3b45a47811 (bug 1165515)
Backed out changeset b668b617bef2 (bug 1165515)
Backed out changeset d0916e1283a2 (bug 1165515)
Backed out changeset ac4dc7489942 (bug 1165515)
Backed out changeset e9632ce8bc65 (bug 1165515)
Backed out changeset c16d215cc7e4 (bug 1165515)
Backed out changeset e4d474f3c51a (bug 1165515)
Backed out changeset d87680bf9f7c (bug 1165515)
Backed out changeset b3c0a45ba99e (bug 1165515)
Backed out changeset 9370fa197674 (bug 1165515)
Backed out changeset 50970d668ca1 (bug 1165515)
Backed out changeset ffa4eb6d24b9 (bug 1165515)
Backed out changeset 5fcf1203cc1d (bug 1165515)
2015-06-02 13:05:56 +02:00
Eric Rahm
18bd3de863 Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 22:17:33 -07:00
Wes Kocher
bd796581dc Backed out 14 changesets (bug 1165515) for b2g mochitest-6 permafail CLOSED TREE
Backed out changeset 9b97e2aa2ed9 (bug 1165515)
Backed out changeset 150606c022a2 (bug 1165515)
Backed out changeset 4e875a488349 (bug 1165515)
Backed out changeset 467e7feeb546 (bug 1165515)
Backed out changeset d6b6cc373197 (bug 1165515)
Backed out changeset 0615265b593c (bug 1165515)
Backed out changeset fafd1dce9f08 (bug 1165515)
Backed out changeset d1df869245f9 (bug 1165515)
Backed out changeset 6876a7c63611 (bug 1165515)
Backed out changeset b7841c94a9a3 (bug 1165515)
Backed out changeset e5e3617f7c73 (bug 1165515)
Backed out changeset 39be3db95978 (bug 1165515)
Backed out changeset 0ec74176f8de (bug 1165515)
Backed out changeset 5b928dd10d71 (bug 1165515)
2015-06-01 17:57:58 -07:00
Eric Rahm
ae32743ed2 Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 14:31:01 -07:00
Birunthan Mohanathas
399e0c3be3 Bug 968520 - Add mozilla::fallible to FallibleTArray::AppendElements calls. r=froydnj 2015-05-28 11:07:43 -07:00
Jean-Yves Avenard
4dc728204b Bug 1163227: Part7. Never do blocking read if we don't have data. r=kentuckyfriedtakahe 2015-05-25 15:09:16 +10:00
Eric Rahm
ccf1ec07c6 Bug 1165515 - Part 1: Convert PR_LOG to MOZ_LOG. r=froydnj 2015-05-21 13:22:04 -07:00
Eric Rahm
c5e63515bf Bug 1165518 - Part 2: Replace prlog.h with Logging.h. rs=froydnj 2015-05-19 11:15:34 -07:00
David Major
43ed497db0 Bug 1119072: Backed out ce3638e6a659 since it's no longer needed with VS2015RC. rs=cpearce 2015-05-18 16:25:21 -04:00
Birunthan Mohanathas
c316215317 Bug 968520 - Add mozilla::fallible to Fallible{Auto,}TArray::SetLength calls. r=froydnj 2015-05-18 13:50:35 -07:00
Eric Rahm
5dba223914 Bug 1164622 - Part 1: Remove instances of #ifdef PR_LOGGING in media. r=froydnj
PR_LOGGING is now always defined, we can remove #ifdefs checking for it.
2015-05-14 10:13:24 -07:00
Eugen Sawin
6875d494b4 Bug 1093815 - Remove ambiguous typedefs. r=kinetik
---
 media/libstagefright/binding/include/demuxer/TrackDemuxer.h    | 4 ++--
 media/libstagefright/binding/include/mp4_demuxer/DecoderData.h | 1 -
 2 files changed, 2 insertions(+), 3 deletions(-)
2015-05-13 15:15:43 +02:00
Eugen Sawin
10546516a1 Bug 1093815 - Add MP3 track demuxer. r=kinetik
---
 media/libstagefright/binding/MP3TrackDemuxer.cpp   | 755 +++++++++++++++++++++
 .../binding/include/mp4_demuxer/MP3TrackDemuxer.h  | 380 +++++++++++
 media/libstagefright/moz.build                     |   2 +
 3 files changed, 1137 insertions(+)
 create mode 100644 media/libstagefright/binding/MP3TrackDemuxer.cpp
 create mode 100644 media/libstagefright/binding/include/mp4_demuxer/MP3TrackDemuxer.h
2015-05-13 15:15:36 +02:00
Jean-Yves Avenard
4e426e8b6a Bug 1159027: Part4. Include ftyp box when parsing init segment. r=kentuckyfriedtakahe 2015-05-11 20:57:37 +10:00
Jean-Yves Avenard
c1dc4a31b2 Bug 1159027: Part2. Extend BufferStream to work with external buffer array. r=kentuckyfriedtakahe
Also make BufferStream::AppendBytes fallible
2015-05-11 20:54:59 +10:00
Jean-Yves Avenard
02b49e39b0 Bug 1159027: Part1. Add MP4Metadata method to retrieve init segment byte range. r=cpearce 2015-05-11 20:54:54 +10:00
Jean-Yves Avenard
d6a18ddf1c Bug 1156689: Part9. Remove unused headers. r=kentuckfriedtakahe 2015-05-01 15:26:51 +10:00
Jean-Yves Avenard
b4ad245369 Bug 1156689: Part8. Use new MoofParser::HasMetadata in MP4Metadata. r=kentuckyfriedtakahe
This allows MP4Reader::ReadMetadata() to no be unecessarily blocking on partial
init segment.
2015-05-01 15:26:50 +10:00
Jean-Yves Avenard
345f13f99d Bug 1156689: Part7. Add MoofParser::HasMetadata method. r=kentuckyfriedtakahe
Allows to check if we have a full MP4 metadata's atom available in our stream.
2015-05-01 15:26:50 +10:00
Jean-Yves Avenard
f440878dfa Bug 1156689: Part6. Add ResourceStream class. r=kentuckyfriedtakahe
A Stream abstract over a MediaResource
2015-05-01 15:26:50 +10:00
Jean-Yves Avenard
203bd1741a Bug 1156689: Part5. Add MP4Metadata class. r=kentuckyfriedtakahe
This allows to abstract the calls to libstagefright and allow future
replacement with our own code.
2015-05-01 15:26:50 +10:00
Jean-Yves Avenard
ff1f1bb292 Bug 1156689: Part2. Remove MP4 Index's libstagefright dependency. r=kentuckyfriedtakahe 2015-05-01 15:26:50 +10:00
Jean-Yves Avenard
8b4c79cc59 Bug 1156689: Part1. Remove mp4_demuxer::TrackType. r=cpearce 2015-05-01 15:26:50 +10:00
Jean-Yves Avenard
9876308367 Bug 1156891: Disable use of stagefright::String8::clear. r=kentuckyfriedtakahe
Some parts of stagefright::String8 aren't threadsafe as they make use of
static shared objects.
2015-04-29 15:38:16 +10:00
Jean-Yves Avenard
206dc1ba0d Bug 1149605: Avoid potential integers overflow. r=kentuckyfriedtakahe 2015-04-26 14:42:37 +10:00
Jean-Yves Avenard
8d0bf45f50 Bug 1158568: Fix potential size overflow. r=kentuckyfriedtakahe 2015-04-26 16:05:10 +10:00
Carsten "Tomcat" Book
8068b6d165 Backed out changeset 1b04bf621858 (bug 1158568) for bustage on a CLOSED TREE 2015-04-28 15:39:41 +02:00
Carsten "Tomcat" Book
7cdd98cc71 Backed out changeset 87277085561a (bug 1149605) for bustage on a CLOSED TREE 2015-04-28 15:37:01 +02:00
Jean-Yves Avenard
9c4f6ede57 Bug 1149605: Avoid potential integers overflow. r=kentuckyfriedtakahe 2015-04-28 22:28:41 +10:00
Jean-Yves Avenard
2e435cdcbf Bug 1158568: Fix potential size overflow. r=kentuckyfriedtakahe 2015-04-28 22:27:13 +10:00
Nathan Froyd
fa0ab7ea4d Bug 1157290 - fix modeline in media/libstagefright/moz.build; r=me, DONTBUILD for comment-only fix 2015-04-22 11:24:10 -04:00
Blake Wu
a59b6645db Bug 1153876 - Support MPEG-4 Codec, mp4v-es. r=jya. r=cpearce. 2015-04-20 21:57:29 +08:00
Jean-Yves Avenard
f92ecf179e Bug 1154683: Fix potential size overflow. r=kentuckyfriedtakahe 2015-04-20 14:35:45 +10:00
Felix Janda
5ed67c1af5 Bug 1151202 - libstagefright: Fix compilation for systems without <sys/cdefs.h>. r=cpearce 2015-02-05 22:26:24 +01:00
Jean-Yves Avenard
adf3258db5 Bug 1153094: Rename LargeDataBuffer and DataBuffer object. r=cpearce
This causes conflicts with webRTC libraries that use those names already. The
linker appears to get it wrong and calls the destructor of the wrong class.
2015-04-15 15:27:38 +10:00
Jean-Yves Avenard
263a15323b Bug 1153049: Part4. Remove redundant mHasAudio/mHasVideo member. r=cpearce 2015-04-14 15:17:51 +10:00
Jean-Yves Avenard
a09efe95ab Bug 1153049: Part3. Using AudioInfo/VideoInfo object. r=cpearce
This remove all remaining references to stagefright/MP4 specific objects.
2015-04-14 15:16:32 +10:00
Jean-Yves Avenard
4ab7cd6c92 Bug 1152658: Use MediaRawDataWriter to access MediaRawData::mCrypto. r=cpearce 2015-04-14 15:15:46 +10:00
Chris Double
935f513b7d Bug 1148203 - Fix build errors with combinations of enable/disable of ffmp4/ffmpeg/eme - r=cpearce,ted
Fixes build error with  all three disabled. Prevents other combinations
that cause build errors by detecting them at configure time and displaying
an error message.
2015-04-13 11:07:14 +12:00