Closed Bug 1175058 Opened 9 years ago Closed 9 years ago

TrackBuffersManager will error on some fragmented input.

Categories

(Core :: Audio/Video, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla41
Tracking Status
firefox41 --- fixed

People

(Reporter: jya, Assigned: jya)

References

()

Details

Attachments

(3 files, 1 obsolete file)

Example of such problem:
http://people.mozilla.org/~jyavenard/tests/mse_mp4/errorappend.html

Something not handled properly by the trackbuffers manager demuxer...
Assignee: nobody → jyavenard
I thought you would love to review one last patch :)
Attachment #8622952 - Flags: review?(cajbir.bugzilla)
Comment on attachment 8622952 [details] [diff] [review]
P1. Properly handle partial init and media header.

Actually this works because of a bug in the MP4 ContainerParser.
Attachment #8622952 - Attachment is obsolete: true
Attachment #8622952 - Flags: review?(cajbir.bugzilla)
Attachment #8623042 - Flags: review?(cajbir.bugzilla)
This prevented being able to read the init segment back from the MP4ContainerParser
should init segment had been added in multiple blocks.
Attachment #8623043 - Flags: review?(ajones)
Attachment #8623042 - Flags: review?(cajbir.bugzilla) → review+
Attachment #8623043 - Flags: review?(ajones) → review+
This is something we should have done a long time ago.
Attachment #8623421 - Flags: review?(ajones)
Comment on attachment 8623421 [details] [diff] [review]
P3. Properly search for the required MP4 Atoms rather than make assumptions.

Review of attachment 8623421 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/media/mediasource/ContainerParser.cpp
@@ +268,5 @@
> +      uint64_t size = reader.ReadU32();
> +      const uint8_t* typec = reader.Peek(4);
> +      uint32_t type = reader.ReadU32();
> +      MSE_DEBUGV(MP4ContainerParser ,"Checking atom:'%c%c%c%c'",
> +                typec[0], typec[1], typec[2], typec[3]);

This is nasty. We need to find a better way to do it.
Attachment #8623421 - Flags: review?(ajones) → review+
What is? Displaying the type name?
How is that nasty? It's encoded in big endian. No much more elegant ways to read 4 bytes
Depends on: 1353088
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: