Closed Bug 1175058 Opened 10 years ago Closed 10 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: