Hi all,
I've been playing a bit with live555MediaServer, and it appears to me
that it's not able to properly parse tracks of some Matroska files, for
example this one:
http://vvv.mokrakocicka.cz/gang/20120601-live555-example.mkv
I've tried to look into the issue and it looks like the parser does not
support 8-byte floats, which are allowed in Matroska spec. The video
above (made by FFmpeg) has an 8-byte Duration element, which throws off
the parser so it does not find track records that follow.
My attempt to fix this issue can be seen at
https://github.com/che0/live555/commit/6e817737b3267288985d2bec37fb7a9f0e5ffb98
-- I would appreciate if you could incorporate this to live555 in some
way or other.
Additionally, I've encountered media server crash after playing back
Matroska file, which I traced to track list cleanup. Again, patch which
worked for me can be found at GitHub at
https://github.com/che0/live555/commit/fea6dad7c705e8a83ab93745d47d3b1262f97ed0
My suspicion is that the original code in effect supplies unsigned int*
to function that expects char**, which subsequently overwrites other
parts of the stack on platforms where sizeof(char*) > sizeof(unsigned).
I hope you find this helpful, and many thanks for live555!
Petr Novak
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel