From david at imagitech.co.uk Fri Oct 1 10:50:26 2010 From: david at imagitech.co.uk (David Powell) Date: Fri, 1 Oct 2010 09:50:26 +0100 Subject: [Matroska-devel] Uninstalling Haali Media Splitter can break AVI playback Message-ID: I recently uninstalled Haali Media Splitter as I found that the AVI splitting was causing Microsoft's Expression Encoder Pro to crash. During the uninstallation the uninstaller warned that some files would have to be removed after a restart (I guess the files were still locked after Expression Encoder Pro's crash). However, after the machine had rebooted, I discovered that AVI files would no longer playback so I did some digging and with GraphStudio and found out that the uninstaller had left a lot of registry entries behind that could cause problems. Firstly, all of the Haali DS filters were still visible in the list of available filters, albeit with a red exclamation mark in brackets next to them (indicating the AX/DLL file was missing). I used GraphStudio to unregister the Haali filters. Secondly, when the standard File Source Async. filter was added to the filtergraph (attached to a .avi file) it listed the media subtype of the output pin to be an unknown CLSID {49952F4C-3EDC-4A9B-8906-1DE02A3D4BC2}. A search on this located the following registry key: [HKEY_CLASSES_ROOT\Media Type\{e436eb83-524f-11ce-9f53-0020af0ba770}\{49952F4C-3EDC-4A9B-8906-1DE02A3D4BC2}] "0"="0,4,,1A45DFA3" "1"="0,4,,52494646,8,4,,43445841,36,4,,64617461,68,4,,1A45DFA3" "Source Filter"="{55DA30FC-F16B-49FC-BAA5-AE59FC65F82D}" "2"="0,4,,52494646,8,4,,41564920" "3"="0,4,,52494646,8,4,,43445841,36,4,,64617461,68,4,,52494646,76,4,,41564920" "4"="0,2,,0000,4,4,,66747970" "5"="0,4,,52494646,8,4,,43445841,36,4,,64617461,68,2,,0000,72,4,,66747970" "6"="0,4,,4f676753" "7"="0,1,,47,188,1,,47" "9"="4,1,,47,196,1,,47" "8"="0,4,,000001BA,2048,4,,000001BA" The source filter for the media subtype {49952F4C-3EDC-4A9B-8906-1DE02A3D4BC2} is {55DA30FC-F16B-49FC-BAA5-AE59FC65F82D}, the Haali Media Splitter. Once I removed the {49952F4C-3EDC-4A9B-8906-1DE02A3D4BC2} subkey from HKEY_CLASSES_ROOT\Media Type\{e436eb83-524f-11ce-9f53-0020af0ba770}, standard windows AVI playback worked once more. Apart from this hicup, great work and i shall be reinstalling the media splitter (sans AVI splitting supoprt). Thanks, David ________________________________________________________________________________ David Powell Interactive DVD Architect & Software?Engineer - Imagitech Ltd. From slhomme at matroska.org Sun Oct 3 18:29:54 2010 From: slhomme at matroska.org (Steve Lhomme) Date: Sun, 3 Oct 2010 18:29:54 +0200 Subject: [Matroska-devel] Fwd: libmatroska 1.0.0: KaxBlockData memory leak In-Reply-To: References: Message-ID: Hi Vadim, The union has nothing to do with it. What matters here is that SetReferencedBlock() allocated the memory or not. No matter what, KaxBlockBlob() tries to delete its internal Block when it's done. Be it KaxSimpleBlock or KaxBlockGroup. So your changes that behave differently between the 2 is certainly not good. What you need to know during the delete is if you actually created the object yourself or not. Now I'm a little lost in what KaxBlockBlob, KaxReferenceBlock do on their side. And unfortunately I have no code that makes use of it. mkvtoolnix works differently. So fix it the way you want, as long as it doesn't break mkvtoolnix. But so far the changes you made do break it. The lines you commented are called all the time and that would obviously result in a massive memory leak. Steve On Thu, Sep 30, 2010 at 1:28 PM, Vadim Golopupov wrote: > > > ---------- Forwarded message ---------- > From: Vadim Golopupov > Date: 2010/9/30 > Subject: Re: libmatroska 1.0.0: KaxBlockData memory leak > To: Steve Lhomme > > > Hello, Steve. > > You are right. My previous fix was not correct. I looked at the code > carefully and made a new change. As i said, the problem arises from here: > > void KaxReferenceBlock::SetReferencedBlock(const KaxBlockGroup & aRefdBlock) > { > ?KaxBlockBlob *block_blob = new KaxBlockBlob(BLOCK_BLOB_NO_SIMPLE); //? <--- > allocates memory > ?block_blob->SetBlockGroup(*const_cast(&aRefdBlock)); > ?RefdBlock = block_blob; // <--- it should be only reference, but now it has > allocated memory, so this memory sometime must be free > ?SetValueIsSet(); > } > > Because?allocated memory?was not free, as i asked you, you made some changes > to free it. But you forgot correct one more place in "KaxBlock.h": > > ?~KaxBlockBlob() { > #if MATROSKA_VERSION >= 2 > ??if (bUseSimpleBlock) > ???delete Block.simpleblock; > ??#endif // MATROSKA_VERSION > ? //else // <--- this?row must be commented > ? //delete Block.group; // <--- this?row must be commented, because at the > moment when we get here, the memory is already free. That is why i have > "Access violation error" > ?} > > It explains, why i got error after your changes?and you not. Because you use > KaxSimpleBlock, and i KaxBlockGroup. From function above "Block" it is > union: > > union { > ??KaxBlockGroup *group; > #if MATROSKA_VERSION >= 2 > ??KaxSimpleBlock *simpleblock; > #endif // MATROSKA_VERSION > ?} Block; > > Modified file attached with letter. > > 2010/9/13 Steve Lhomme >> >> Hi Vadim, >> Please send such emails to the mailing list. >> Your fix is not correct. As you only cover one case >> of?SetReferencedBlock() when the other one is used, you are going to release >> memory that is owned by someone else. Maybe you are not using this case, but >> it is used a lot elsewhere. >> I will investigate why my crash fixes when I have time. >> >> On Fri, Sep 10, 2010 at 1:56 PM, Vadim Golopupov >> wrote: >>> >>> I tried your files. You didn't fix the bug, you made critical bug. I have >>> error: >>> >>> Unhandled exception at 0x005506e3 in p.exe: 0xC0000005: Access violation >>> reading location 0xfeeefeee. >>> >>> ~KaxBlockBlob() { >>> #if MATROSKA_VERSION >= 2 >>> ??? ??? if (bUseSimpleBlock) >>> ??? ??? ??? delete Block.simpleblock; >>> ??? ??? else >>> #endif // MATROSKA_VERSION >>> ??? ??? ??? delete Block.group;?? <-- PROBLEM HERE >>> ??? } >>> >>> I think you should make changes only which i send with mail to you. >>> >>> 2010/9/10 Steve Lhomme >>>> >>>> I think I fixed it in SVN. >>>> Please next time send your email to the dev mailing list. There are more >>>> chances you'll have some comments and support from other people using the v1 >>>> libs. >>>> And thanks for reporting the bug :) >>>> Steve >>>> >>>> On Fri, Sep 3, 2010 at 10:11 PM, Vadim Golopupov >>>> wrote: >>>>> >>>>> ?libmatroska 1.0.0 - The memory leak happens if you add frame with >>>>> Future/Past Reference. >>>>> >>>>> Here is the function from the KaxBlockData.cpp: >>>>> >>>>> void KaxReferenceBlock::SetReferencedBlock(const KaxBlockGroup & >>>>> aRefdBlock) >>>>> { >>>>> ??? KaxBlockBlob *block_blob = new KaxBlockBlob(BLOCK_BLOB_NO_SIMPLE); >>>>> >>>>> block_blob->SetBlockGroup(*const_cast(&aRefdBlock)); >>>>> ??? RefdBlock = block_blob; >>>>> ??? SetValueIsSet(); >>>>> } >>>>> >>>>> >>>>> KaxBlockBlob *block_blob = new KaxBlockBlob(BLOCK_BLOB_NO_SIMPLE); <- >>>>> this memory will never be free. >>>>> >>>>> To free this memory you need make changes in KaxBlockData.h: >>>>> >>>>> ~KaxReferenceBlock() >>>>> ??? ??? { >>>>> ??? ??? ??? if (RefdBlock) { >>>>> ??? ??? ??? ??? delete RefdBlock; >>>>> ??? ??? ??? ??? RefdBlock = 0; >>>>> ??? ??? ??? } >>>>> ??? ??? } >>>>> >>>>> >>>> >>> >>> >>> >>> -- >>> Vadim Golopupov >>> >> > > > > -- > Vadim Golopupov > > > > > -- > Vadim Golopupov > > > _______________________________________________ > Matroska-devel mailing list > Matroska-devel at lists.matroska.org > http://lists.matroska.org/cgi-bin/mailman/listinfo/matroska-devel > Read Matroska-Devel on GMane: > http://dir.gmane.org/gmane.comp.multimedia.matroska.devel > From vgolopupov at gmail.com Fri Oct 8 11:44:47 2010 From: vgolopupov at gmail.com (Vadim Golopupov) Date: Fri, 8 Oct 2010 12:44:47 +0300 Subject: [Matroska-devel] mkvinfo Cluster timecode Message-ID: Does cluster timecode parameter should be: the timecode of the first frame in this cluster? If not, then why mkvinfo shows as it is (sample and mkv file in attachment)? Logically, Cluster timecode should be the last frame timecode + fps, or not? -- Vadim Golopupov -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: mkv.rar Type: application/octet-stream Size: 486493 bytes Desc: not available URL: From slhomme at matroska.org Fri Oct 8 14:44:18 2010 From: slhomme at matroska.org (Steve Lhomme) Date: Fri, 8 Oct 2010 14:44:18 +0200 Subject: [Matroska-devel] mkvinfo Cluster timecode In-Reply-To: References: Message-ID: The Cluster Timecode has one main function is to be the basis for the timecodes of Block/SimpleBlock elements. Their timecode is coded on 16 bits and so the Cluster Timecode has to be chosen carefully. In the end it's usually the same timecode of the first Block in the Cluster, which in return gets an internal timecode of 0. But there is no reason why it should be different, as long as all Block timecodes fit in their 16 bits (using the TimecodeScale and TrackTimecodeScale). On Fri, Oct 8, 2010 at 11:44 AM, Vadim Golopupov wrote: > Does cluster timecode parameter should be: the timecode of the first frame > in this cluster? If not, then why mkvinfo shows as it is (sample and mkv > file in attachment)? Logically, Cluster timecode should be the last frame > timecode + fps, or not? > > -- > Vadim Golopupov > > > _______________________________________________ > Matroska-devel mailing list > Matroska-devel at lists.matroska.org > http://lists.matroska.org/cgi-bin/mailman/listinfo/matroska-devel > Read Matroska-Devel on GMane: > http://dir.gmane.org/gmane.comp.multimedia.matroska.devel > From junxu106 at gmail.com Sat Oct 9 08:48:14 2010 From: junxu106 at gmail.com (=?gbk?B?jFfs8qXk16c=?=) Date: Sat, 9 Oct 2010 14:48:14 +0800 Subject: [Matroska-devel] help me Message-ID: Hi buddies; This is a beginner to libmatroska; Is anyone know where i can find libmatroska document and a Sample(i mean a simple sample, the Mkvtoolnix is so difficulty to understand), if any advice tell me kindly. Thanks a ton. -------------- next part -------------- An HTML attachment was scrubbed... URL: From slhomme at matroska.org Sat Oct 9 15:29:40 2010 From: slhomme at matroska.org (Steve Lhomme) Date: Sat, 9 Oct 2010 15:29:40 +0200 Subject: [Matroska-devel] help me In-Reply-To: References: Message-ID: Hello, libmatroska is not developped anymore. You should give libebml2/libmatroska2 a try. It's mostly the same but in C. There are examples available like mkvtree, mkvalidator and mkclean that are probably easier to understand than mkvtoolnix (each program is just one C file). Steve 2010/10/9 ???? : > Hi buddies; > This is a beginner to libmatroska; Is anyone know where i can find > libmatroska document and a Sample(i mean a simple sample, the Mkvtoolnix is > so difficulty to understand),? if any advice tell me kindly. > Thanks a ton. > > _______________________________________________ > Matroska-devel mailing list > Matroska-devel at lists.matroska.org > http://lists.matroska.org/cgi-bin/mailman/listinfo/matroska-devel > Read Matroska-Devel on GMane: > http://dir.gmane.org/gmane.comp.multimedia.matroska.devel > From kip at thevertigo.com Sat Oct 9 21:12:58 2010 From: kip at thevertigo.com (Kip Warner) Date: Sat, 09 Oct 2010 12:12:58 -0700 Subject: [Matroska-devel] EBML Tutorial Message-ID: <1286651578.4839.40.camel@kip-laptop.lan> Hey list, I am designing a custom file format that is implemented via EBML. I couldn't think of any other appropriate place to ask than the Matroska developers' mailing list. What is the best resource for learning how to use libebml for both reading and writing such files? The best thing I seem to be able to find, which may suffice, is VLC's mkv.cpp, which is its Matroska demuxer. Thank you, -- Kip Warner -- Software Engineer OpenPGP encrypted/signed mail preferred http://www.thevertigo.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part URL: From pkoshevoy at sorensonmedia.com Sun Oct 10 00:17:49 2010 From: pkoshevoy at sorensonmedia.com (Pavel Koshevoy) Date: Sat, 09 Oct 2010 16:17:49 -0600 Subject: [Matroska-devel] EBML Tutorial In-Reply-To: <1286651578.4839.40.camel@kip-laptop.lan> References: <1286651578.4839.40.camel@kip-laptop.lan> Message-ID: <4CB0EA0D.9080104@sorensonmedia.com> On 10/09/2010 01:12 PM, Kip Warner wrote: > Hey list, > > I am designing a custom file format that is implemented via EBML. I > couldn't think of any other appropriate place to ask than the Matroska > developers' mailing list. > > What is the best resource for learning how to use libebml for both > reading and writing such files? The best thing I seem to be able to > find, which may suffice, is VLC's mkv.cpp, which is its Matroska > demuxer. > If you are comfortable with the C++ you may also consider yamka. It's small enough to understand and straight forward to use. Take a look at yamkaTest.cpp and yamkaAddAttachment.cpp for examples. To see how to define EBML elements have a look at yamkaMatroska.h To see how to implement EBML element IO take a look at yamkaMatroska.cpp svn co https://yamka.svn.sourceforge.net/svnroot/yamka/trunk/yamka Hope this helps, Pavel. From slhomme at matroska.org Sun Oct 10 09:57:32 2010 From: slhomme at matroska.org (Steve Lhomme) Date: Sun, 10 Oct 2010 09:57:32 +0200 Subject: [Matroska-devel] EBML Tutorial In-Reply-To: <4CB0EA0D.9080104@sorensonmedia.com> References: <1286651578.4839.40.camel@kip-laptop.lan> <4CB0EA0D.9080104@sorensonmedia.com> Message-ID: As said in other mails, you may consider looking at libebml2, it's a C version of libebml with a little enhancement here and there. It has already been used to store other libebml formats (in fact it started like that). The API calls are in one single ebml.h file which is much easier to read than all the C++ header files. There are mkvtree and mkvalidator as reading example and mkclean for reading and writing. Steve On Sun, Oct 10, 2010 at 12:17 AM, Pavel Koshevoy wrote: > On 10/09/2010 01:12 PM, Kip Warner wrote: >> Hey list, >> >> I am designing a custom file format that is implemented via EBML. I >> couldn't think of any other appropriate place to ask than the Matroska >> developers' mailing list. >> >> What is the best resource for learning how to use libebml for both >> reading and writing such files? The best thing I seem to be able to >> find, which may suffice, is VLC's mkv.cpp, which is its Matroska >> demuxer. >> > > If you are comfortable with the C++ you may also consider yamka. > It's small enough to understand and straight forward to use. > Take a look at yamkaTest.cpp and yamkaAddAttachment.cpp for examples. > To see how to define EBML elements have a look at yamkaMatroska.h > To see how to implement EBML element IO take a look at yamkaMatroska.cpp > > svn co https://yamka.svn.sourceforge.net/svnroot/yamka/trunk/yamka > > Hope this helps, > ? ?Pavel. > > _______________________________________________ > Matroska-devel mailing list > Matroska-devel at lists.matroska.org > http://lists.matroska.org/cgi-bin/mailman/listinfo/matroska-devel > Read Matroska-Devel on GMane: http://dir.gmane.org/gmane.comp.multimedia.matroska.devel > From kip at thevertigo.com Tue Oct 12 03:31:08 2010 From: kip at thevertigo.com (Kip Warner) Date: Mon, 11 Oct 2010 18:31:08 -0700 Subject: [Matroska-devel] EBML Tutorial In-Reply-To: <4CB0EA0D.9080104@sorensonmedia.com> References: <1286651578.4839.40.camel@kip-laptop.lan> <4CB0EA0D.9080104@sorensonmedia.com> Message-ID: <1286847068.3924.6.camel@kip-laptop> On Sat, 2010-10-09 at 16:17 -0600, Pavel Koshevoy wrote: > If you are comfortable with the C++ you may also consider yamka. > It's small enough to understand and straight forward to use. > Take a look at yamkaTest.cpp and yamkaAddAttachment.cpp for examples. > To see how to define EBML elements have a look at yamkaMatroska.h > To see how to implement EBML element IO take a look at yamkaMatroska.cpp > > svn co https://yamka.svn.sourceforge.net/svnroot/yamka/trunk/yamka > > Hope this helps, > Pavel. Thanks Pavel. Two questions. (1) Is Yamka Matroska specific, or general for all EBML? (2) I can't find Yamka runtime or headers in my distribution's package manager. Do you expect it to be packaged at some point, or do you expect developers to just mirror the svn as an extern or copied into their project to build with it? -- Kip Warner -- Software Engineer OpenPGP encrypted/signed mail preferred http://www.thevertigo.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part URL: From kip at thevertigo.com Tue Oct 12 03:32:42 2010 From: kip at thevertigo.com (Kip Warner) Date: Mon, 11 Oct 2010 18:32:42 -0700 Subject: [Matroska-devel] EBML Tutorial In-Reply-To: References: <1286651578.4839.40.camel@kip-laptop.lan> <4CB0EA0D.9080104@sorensonmedia.com> Message-ID: <1286847162.3924.8.camel@kip-laptop> On Sun, 2010-10-10 at 09:57 +0200, Steve Lhomme wrote: > As said in other mails, you may consider looking at libebml2, it's a C > version of libebml with a little enhancement here and there. It has > already been used to store other libebml formats (in fact it started > like that). The API calls are in one single ebml.h file which is much > easier to read than all the C++ header files. > There are mkvtree and mkvalidator as reading example and mkclean for > reading and writing. > > Steve Hey Steve, I'm comfortable with either the C or C++ API, but since I am working in a C++ project, it might be best if I stick to the C++ API for consistency. Nevertheless, the simplicity of the C API you mentioned does make me wonder if it is worth it. I can't find libembl2 in my distribution's package manager. Is it still very experimental? -- Kip Warner -- Software Engineer OpenPGP encrypted/signed mail preferred http://www.thevertigo.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part URL: From pkoshevoy at sorensonmedia.com Tue Oct 12 07:05:53 2010 From: pkoshevoy at sorensonmedia.com (Pavel Koshevoy) Date: Mon, 11 Oct 2010 23:05:53 -0600 Subject: [Matroska-devel] EBML Tutorial In-Reply-To: <1286847068.3924.6.camel@kip-laptop> References: <1286651578.4839.40.camel@kip-laptop.lan> <4CB0EA0D.9080104@sorensonmedia.com> <1286847068.3924.6.camel@kip-laptop> Message-ID: <4CB3ECB1.1010805@sorensonmedia.com> On 10/11/2010 07:31 PM, Kip Warner wrote: > On Sat, 2010-10-09 at 16:17 -0600, Pavel Koshevoy wrote: > >> If you are comfortable with the C++ you may also consider yamka. >> It's small enough to understand and straight forward to use. >> Take a look at yamkaTest.cpp and yamkaAddAttachment.cpp for examples. >> To see how to define EBML elements have a look at yamkaMatroska.h >> To see how to implement EBML element IO take a look at yamkaMatroska.cpp >> >> svn co https://yamka.svn.sourceforge.net/svnroot/yamka/trunk/yamka >> >> Hope this helps, >> Pavel. >> > Thanks Pavel. Two questions. > > (1) Is Yamka Matroska specific, or general for all EBML? > > (2) I can't find Yamka runtime or headers in my distribution's package > manager. Do you expect it to be packaged at some point, or do you expect > developers to just mirror the svn as an extern or copied into their > project to build with it? > > 1. I used yamka to add WebM support to Sorenson Squeeze, but it can be used just as well for any other EBML format. 2. I expect you to add the yamka sources into your project and do with them anything your heart desires. I am not planning on packaging it any time soon -- it's more hassle than it's worth. Pavel. From pkoshevoy at sorensonmedia.com Tue Oct 12 07:09:34 2010 From: pkoshevoy at sorensonmedia.com (Pavel Koshevoy) Date: Mon, 11 Oct 2010 23:09:34 -0600 Subject: [Matroska-devel] EBML Tutorial In-Reply-To: <4CB3ECB1.1010805@sorensonmedia.com> References: <1286651578.4839.40.camel@kip-laptop.lan> <4CB0EA0D.9080104@sorensonmedia.com> <1286847068.3924.6.camel@kip-laptop> <4CB3ECB1.1010805@sorensonmedia.com> Message-ID: <4CB3ED8E.6020809@sorensonmedia.com> On 10/11/2010 11:05 PM, Pavel Koshevoy wrote: > On 10/11/2010 07:31 PM, Kip Warner wrote: > >> Thanks Pavel. Two questions. >> (1) Is Yamka Matroska specific, or general for all EBML? >> >> (2) I can't find Yamka runtime or headers in my distribution's package >> manager. Do you expect it to be packaged at some point, or do you expect >> developers to just mirror the svn as an extern or copied into their >> project to build with it? >> >> >> > 1. I used yamka to add WebM support to Sorenson Squeeze, but it can be > used just as well for any other EBML format. > > 2. I expect you to add the yamka sources into your project and do with > them anything your heart desires. I am not planning on packaging it any > time soon -- it's more hassle than it's worth. > > And when I say "you", I mean "developers" :) I don't expect "you" to add yamka to your project unless you want to :) Sorry about the wording. Pavel. From surf.uk at gmail.com Tue Oct 12 11:52:29 2010 From: surf.uk at gmail.com (Ross) Date: Tue, 12 Oct 2010 09:52:29 +0000 (UTC) Subject: [Matroska-devel] matroska container makes playback stutter References: Message-ID: Steve Lhomme matroska.org> writes: > > Can you tell me if this file stutters on your machine too ? > http://devcenter.coreforge.org/corefiles/get.php?id=cc-fmnpgjwk > Thanks everyone for your reply. I just tried the (clean) file you sent, it still stutters. I also tried comiling the latest source of ffmpeg, matroska and shcrodinger but it still stutters. Maybe there's a problem with the codec's. From slhomme at matroska.org Tue Oct 12 20:19:31 2010 From: slhomme at matroska.org (Steve Lhomme) Date: Tue, 12 Oct 2010 20:19:31 +0200 Subject: [Matroska-devel] EBML Tutorial In-Reply-To: <1286847162.3924.8.camel@kip-laptop> References: <1286651578.4839.40.camel@kip-laptop.lan> <4CB0EA0D.9080104@sorensonmedia.com> <1286847162.3924.8.camel@kip-laptop> Message-ID: It is not currently distributed as a stand alone lib, I still want to add some things on libmatroska2, but libebml2 is pretty stable now. If you are developping in C++ then libebml "v1" is fine. There are test examples (either in the source package or in libmatroska) but they are very basic. In short you need to define your semantic first, and then create a class for each EBML element you have in your semantic and also the relation between elements. You can find example on how to create such elements in libmatroska. Then there are basic methods for reading and writing. You need a IOCallback for all the input/output operations, but libebml comes with a few standard ones for UNIX and Windows file read/write. Steve On Tue, Oct 12, 2010 at 3:32 AM On Tue, Oct 12, 2010 at 3:32 AM, Kip Warner wrote: > On Sun, 2010-10-10 at 09:57 +0200, Steve Lhomme wrote: >> As said in other mails, you may consider looking at libebml2, it's a C >> version of libebml with a little enhancement here and there. It has >> already been used to store other libebml formats (in fact it started >> like that). The API calls are in one single ebml.h file which is much >> easier to read than all the C++ header files. >> There are mkvtree and mkvalidator as reading example and mkclean for >> reading and writing. >> >> Steve > > Hey Steve, > > I'm comfortable with either the C or C++ API, but since I am working in > a C++ project, it might be best if I stick to the C++ API for > consistency. Nevertheless, the simplicity of the C API you mentioned > does make me wonder if it is worth it. > > I can't find libembl2 in my distribution's package manager. Is it still > very experimental? > > -- > Kip Warner -- Software Engineer > OpenPGP encrypted/signed mail preferred > http://www.thevertigo.com > From kip at thevertigo.com Tue Oct 12 20:55:58 2010 From: kip at thevertigo.com (Kip Warner) Date: Tue, 12 Oct 2010 11:55:58 -0700 Subject: [Matroska-devel] EBML Tutorial In-Reply-To: References: <1286651578.4839.40.camel@kip-laptop.lan> <4CB0EA0D.9080104@sorensonmedia.com> <1286847162.3924.8.camel@kip-laptop> Message-ID: <1286909758.3924.25.camel@kip-laptop> On Tue, 2010-10-12 at 20:19 +0200, Steve Lhomme wrote: > It is not currently distributed as a stand alone lib, I still want to > add some things on libmatroska2, but libebml2 is pretty stable now. > > If you are developping in C++ then libebml "v1" is fine. There are > test examples (either in the source package or in libmatroska) but > they are very basic. > > In short you need to define your semantic first, and then create a > class for each EBML element you have in your semantic and also the > relation between elements. You can find example on how to create such > elements in libmatroska. Then there are basic methods for reading and > writing. You need a IOCallback for all the input/output operations, > but libebml comes with a few standard ones for UNIX and Windows file > read/write. > > Steve Thanks Steve. It sounds like for now I will be sticking with the vanilla libebml. Very informative. -- Kip Warner -- Software Engineer OpenPGP encrypted/signed mail preferred http://www.thevertigo.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part URL: From kip at thevertigo.com Tue Oct 12 20:56:36 2010 From: kip at thevertigo.com (Kip Warner) Date: Tue, 12 Oct 2010 11:56:36 -0700 Subject: [Matroska-devel] EBML Tutorial In-Reply-To: <4CB3ECB1.1010805@sorensonmedia.com> References: <1286651578.4839.40.camel@kip-laptop.lan> <4CB0EA0D.9080104@sorensonmedia.com> <1286847068.3924.6.camel@kip-laptop> <4CB3ECB1.1010805@sorensonmedia.com> Message-ID: <1286909796.3924.26.camel@kip-laptop> On Mon, 2010-10-11 at 23:05 -0600, Pavel Koshevoy wrote: > 1. I used yamka to add WebM support to Sorenson Squeeze, but it can be > used just as well for any other EBML format. > > 2. I expect you to add the yamka sources into your project and do with > them anything your heart desires. I am not planning on packaging it any > time soon -- it's more hassle than it's worth. > > Pavel. Thanks for the advice Pavel. -- Kip Warner -- Software Engineer OpenPGP encrypted/signed mail preferred http://www.thevertigo.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part URL: From allankilakshminarayana at gmail.com Sun Oct 17 07:42:48 2010 From: allankilakshminarayana at gmail.com (lakshmi narayana) Date: Sun, 17 Oct 2010 11:12:48 +0530 Subject: [Matroska-devel] problem with mkvmerge GUI v4.2.0 ('No Talking') Message-ID: Hai matroska team. Recently when i used mkvmerge GUI v4.2.0 ('No Talking') for muxing a video with .ASS subtitle file, I found that the subtitles are read by mkvmerge but are not written in the output file. I tried number of times but no use. I also found that mkvmerge GUI v4.2.0 ('No Talking') is working well in muxing .SRT subtitles files. So i used mkvmerge GUI v4.0.0 ('The Stars were mine') and I got the work done with the same .ASS file which the v4.2.0 could not. I am informing this to you thing there would be a bug fix in the newer version. If found this useful, Reply me... -------------- next part -------------- An HTML attachment was scrubbed... URL: From moritz at bunkus.org Sun Oct 17 09:18:39 2010 From: moritz at bunkus.org (Moritz Bunkus) Date: Sun, 17 Oct 2010 09:18:39 +0200 Subject: [Matroska-devel] problem with mkvmerge GUI v4.2.0 ('No Talking') In-Reply-To: References: Message-ID: Hey, On Sun, 17 Oct 2010 11:12:48 +0530, lakshmi narayana wrote: > Recently when i used mkvmerge GUI v4.2.0 ('No Talking') for muxing a video > with .ASS subtitle file, I found that the subtitles are read by mkvmerge but > are not written in the output file. I tried number of times but no use. I > also found that mkvmerge GUI v4.2.0 ('No Talking') is working well in muxing > .SRT subtitles files. That is a known problem in the 4.2.0 release that has been fixed in the 4.3.0 release. Regards, Mosu