Closed
Bug 1027875
Opened 11 years ago
Closed 11 years ago
Add MP4 support to MSE
Categories
(Core :: Audio/Video, defect)
Tracking
()
RESOLVED
FIXED
mozilla33
People
(Reporter: ajones, Assigned: ajones)
References
(Blocks 1 open bug, )
Details
(Keywords: dev-doc-needed)
Attachments
(5 files, 3 obsolete files)
2.38 KB,
patch
|
cpearce
:
review+
|
Details | Diff | Splinter Review |
1.84 KB,
patch
|
cpearce
:
review+
|
Details | Diff | Splinter Review |
1.13 KB,
patch
|
cpearce
:
review+
|
Details | Diff | Splinter Review |
5.34 KB,
patch
|
kinetik
:
review+
|
Details | Diff | Splinter Review |
1.55 KB,
patch
|
kinetik
:
review+
|
Details | Diff | Splinter Review |
Media Source Extensions needs to also support MP4 containers.
![]() |
Assignee | |
Comment 1•11 years ago
|
||
![]() |
Assignee | |
Comment 2•11 years ago
|
||
Comment 3•11 years ago
|
||
Comment on attachment 8443098 [details] [diff] [review]
Add MP4 support to MSE
Review of attachment 8443098 [details] [diff] [review]:
-----------------------------------------------------------------
::: content/media/mediasource/SourceBufferResource.h
@@ +233,5 @@
> virtual void Unpin() MOZ_OVERRIDE {}
> virtual double GetDownloadRate(bool* aIsReliable) MOZ_OVERRIDE { return 0; }
> virtual int64_t GetLength() MOZ_OVERRIDE { return mInputBuffer.GetLength(); }
> virtual int64_t GetNextCachedData(int64_t aOffset) MOZ_OVERRIDE { return aOffset; }
> + virtual int64_t GetCachedDataEnd(int64_t aOffset) MOZ_OVERRIDE { return GetLength() == aOffset ? -1 : GetLength(); }
So, this is actually wrong, sorry. The old code was correct and this should not return a negative value. GetNextCachedData, on the other hand, does need to return -1 when aOffset == GetLength(). That should fix the assert you're currently hitting, too.
![]() |
Assignee | |
Comment 4•11 years ago
|
||
Still work in progress
![]() |
Assignee | |
Updated•11 years ago
|
Attachment #8443098 -
Attachment is obsolete: true
![]() |
Assignee | |
Updated•11 years ago
|
Attachment #8443190 -
Flags: review?(cpearce)
![]() |
Assignee | |
Comment 5•11 years ago
|
||
Attachment #8449967 -
Flags: review?(cpearce)
![]() |
Assignee | |
Comment 6•11 years ago
|
||
Attachment #8449968 -
Flags: review?(cpearce)
![]() |
Assignee | |
Comment 7•11 years ago
|
||
Attachment #8449969 -
Flags: review?(kinetik)
![]() |
Assignee | |
Updated•11 years ago
|
Attachment #8444903 -
Attachment is obsolete: true
![]() |
Assignee | |
Comment 8•11 years ago
|
||
Attachment #8449971 -
Flags: review?(kinetik)
![]() |
Assignee | |
Comment 9•11 years ago
|
||
Comment 10•11 years ago
|
||
Comment on attachment 8449969 [details] [diff] [review]
Add MP4 support to MSE
Review of attachment 8449969 [details] [diff] [review]:
-----------------------------------------------------------------
r+ with comments
::: content/media/mediasource/SourceBuffer.cpp
@@ +165,5 @@
> + // DocType == "webm"
> + // ...
> + // 0x18538067 // Segment (must be "unknown" size)
> + // 0x1549a966 // -> Segment Info
> + // 0x1654ae6b // -> One or more Tracks
Make the comment appropriate for MP4.
@@ +175,5 @@
> + uint32_t chunk_size = BigEndian::readUint32(aData);
> + uint32_t chunk_type = BigEndian::readUint32(aData + 4);
> + return chunk_size > 8 && chunk_type == 'ftyp';
> +
> + return true;
Remove the last two lines.
Attachment #8449969 -
Flags: review?(kinetik) → review+
Updated•11 years ago
|
Attachment #8449971 -
Flags: review?(kinetik) → review+
Updated•11 years ago
|
Attachment #8443190 -
Flags: review?(cpearce) → review+
Updated•11 years ago
|
Attachment #8449967 -
Flags: review?(cpearce) → review+
Updated•11 years ago
|
Attachment #8449968 -
Flags: review?(cpearce) → review+
![]() |
Assignee | |
Comment 11•11 years ago
|
||
Comment on attachment 8449973 [details] [diff] [review]
Make MP4Reader::GetBuffered() accurate - WORK IN PROGRESS
Create a separate bug for GetBuffered()
Attachment #8449973 -
Attachment is obsolete: true
![]() |
Assignee | |
Comment 12•11 years ago
|
||
![]() |
Assignee | |
Comment 13•11 years ago
|
||
![]() |
Assignee | |
Comment 14•11 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/8be7f28c5ddd
https://hg.mozilla.org/integration/mozilla-inbound/rev/5c1a090ccc63
https://hg.mozilla.org/integration/mozilla-inbound/rev/00b90bfadaa2
https://hg.mozilla.org/integration/mozilla-inbound/rev/bd855ca58b41
https://hg.mozilla.org/integration/mozilla-inbound/rev/00a68fd085d5
![]() |
||
Comment 15•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/8be7f28c5ddd
https://hg.mozilla.org/mozilla-central/rev/5c1a090ccc63
https://hg.mozilla.org/mozilla-central/rev/00b90bfadaa2
https://hg.mozilla.org/mozilla-central/rev/bd855ca58b41
https://hg.mozilla.org/mozilla-central/rev/00a68fd085d5
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
Comment 16•11 years ago
|
||
Do you have plans to enable it by default or only with media.mediasource.ignore_codecs pref? (like it's now).
Comment 17•11 years ago
|
||
It'll be enabled when it's ready.
![]() |
Assignee | |
Comment 18•11 years ago
|
||
The MSE part of MP4 is apparently working but there are still issues with the MP4 demuxer.
![]() |
||
Comment 19•11 years ago
|
||
This doesn't work under Windows, right? I see there is no "media.mediasource.ignore_codecs" option in my Windows 7 x86.
What needs to be done to make this work in Windows?
Comment 20•11 years ago
|
||
You need to have nightly and set both "media.mediasource.ignore_codecs" and "media.mediasource.enabled" prefs to true. (through about:config). But I wouldn't recommend that atm since it hang itself on youtube. Not sure about mp4 though, but webm works "sometimes".
![]() |
Assignee | |
Comment 21•11 years ago
|
||
This bug means the support in MSE is there and it plays more than nothing. However both MP4 and WebM hang up on bug 1024858.
Updated•11 years ago
|
Keywords: dev-doc-needed
You need to log in
before you can comment on or make changes to this bug.
Description
•