From cetus at internode.on.net Tue Jan 3 20:49:43 2006 From: cetus at internode.on.net (Tom Gaudasinski) Date: Tue, 03 Jan 2006 19:49:43 +0000 Subject: [Matroska-devel] libmatroska documentation Message-ID: <43BAD557.8040809@internode.on.net> Greetings, I have been reading about matroska for a few days now and am very much interested in including read support in my application. I wish to use the linux component libmatroska. What I intent to do is have my application open an mkv, read the video and audio streams (xvid/lame) and decode these streams myself using the respective libraries. However I have noticed that libmatroska has no documentation, is there any documentation that either the creator (robux?) or anyone else has done? I would very much be content with a commented example source file that achieves what I need. If someone has such a file I would very much be interested in a copy, I can help out by documenting what it will help me to learn. Thankyou --Tom G. From steve.lhomme at free.fr Tue Jan 3 20:09:23 2006 From: steve.lhomme at free.fr (Steve Lhomme) Date: Tue, 03 Jan 2006 09:09:23 -1000 Subject: [Matroska-devel] libmatroska documentation In-Reply-To: <43BAD557.8040809@internode.on.net> References: <43BAD557.8040809@internode.on.net> Message-ID: <43BACBE3.3050605@free.fr> Hi Tom, Thanks for your interrest in matroska :) There is no documentation for the moment for libmatroska. There are very basic examples of how to read/write EBML/Matroska data in the source code. For a bigger example you might have a look at mkvmerge or mkv.cpp in the VLC source code. Otherwise you can use C parsers like the one from GStreamer or Haali's one. Steve Tom Gaudasinski wrote: > Greetings, > I have been reading about matroska for a few days now and am very > much interested in including read support in my application. I wish to > use the linux component libmatroska. What I intent to do is have my > application open an mkv, read the video and audio streams (xvid/lame) > and decode these streams myself using the respective libraries. However > I have noticed that libmatroska has no documentation, is there any > documentation that either the creator (robux?) or anyone else has done? > I would very much be content with a commented example source file that > achieves what I need. If someone has such a file I would very much be > interested in a copy, I can help out by documenting what it will help me > to learn. > > Thankyou > --Tom G. > _______________________________________________ > 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 -- robUx4 on blog From chris at wiesneronline.net Tue Jan 3 21:19:46 2006 From: chris at wiesneronline.net (Christian HJ Wiesner) Date: Tue, 03 Jan 2006 21:19:46 +0100 Subject: [Matroska-devel] libmatroska documentation In-Reply-To: <43BAD557.8040809@internode.on.net> References: <43BAD557.8040809@internode.on.net> Message-ID: <43BADC62.4000408@wiesneronline.net> Hi Tom, nosy as we are, may we ask you to tell us what app this is, that you are coding currently ? :-) In any case, you are always more than welcome to join us on IRC , channel #matroska on irc.corecodec.com /.org . All the devs hang out there, and we gladly teach you on how to use libmatroska and libebml. Also, your offer to write some first docs about how to use them is just great !! We could really need some help ..... Christian matroska project admin Tom Gaudasinski schrieb: > Greetings, > I have been reading about matroska for a few days now and am very > much interested in including read support in my application. I wish to > use the linux component libmatroska. What I intent to do is have my > application open an mkv, read the video and audio streams (xvid/lame) > and decode these streams myself using the respective libraries. > However I have noticed that libmatroska has no documentation, is there > any documentation that either the creator (robux?) or anyone else has > done? I would very much be content with a commented example source > file that achieves what I need. If someone has such a file I would > very much be interested in a copy, I can help out by documenting what > it will help me to learn. > > Thankyou > --Tom G. From cedilla at gmail.com Tue Jan 3 23:20:19 2006 From: cedilla at gmail.com (Reed Wilson) Date: Tue, 03 Jan 2006 14:20:19 -0800 Subject: [Matroska-devel] Foobar component source Message-ID: <43BAF8A3.6010407@gmail.com> Greetings! Does anybody know where I can get the latest source for the Foobar2000 matroska component? I just got version 0.9b13 and all the components need to be recompiled to support it. Instead of asking for someone else to compile it, I thought I'd give it a try myself. Last I heard, Christophe Paris was working on it, but I don't know if he has a website anymore. Considering that all my music is in FLAC Matroska format, not having a matroska reader is a pretty big impediment for upgrading! Thanks Reed "Omion" Wilson -- ? From chris at matroska.org Wed Jan 4 08:32:11 2006 From: chris at matroska.org (Christian HJ Wiesner) Date: Wed, 04 Jan 2006 08:32:11 +0100 Subject: [Matroska-devel] Foobar component source In-Reply-To: <43BAF8A3.6010407@gmail.com> References: <43BAF8A3.6010407@gmail.com> Message-ID: <43BB79FB.2030604@matroska.org> It should be in our SVN, no ? svn.matroska.org Christian Reed Wilson schrieb: > Greetings! > > Does anybody know where I can get the latest source for the Foobar2000 > matroska component? I just got version 0.9b13 and all the components > need to be recompiled to support it. Instead of asking for someone > else to compile it, I thought I'd give it a try myself. > > Last I heard, Christophe Paris was working on it, but I don't know if > he has a website anymore. > > Considering that all my music is in FLAC Matroska format, not having a > matroska reader is a pretty big impediment for upgrading! > > Thanks > Reed "Omion" Wilson > From cedilla at gmail.com Wed Jan 4 09:57:05 2006 From: cedilla at gmail.com (Reed Wilson) Date: Wed, 04 Jan 2006 00:57:05 -0800 Subject: [Matroska-devel] Foobar component source In-Reply-To: <43BB79FB.2030604@matroska.org> References: <43BAF8A3.6010407@gmail.com> <43BB79FB.2030604@matroska.org> Message-ID: <43BB8DE1.3030005@gmail.com> Ah. There it is. I didn't even think to look there. I thought the SVN only had libebml and libmatroska in it. Turns out it even has my old perl matroska parser in it! Thanks! - Reed PS. I updated my perl parser a while ago. If convienent, could you update the SVN version too? I attached an archive of it. Thanks again. Christian HJ Wiesner wrote: > > It should be in our SVN, no ? svn.matroska.org > > Christian -- ? -------------- next part -------------- A non-text attachment was scrubbed... Name: MatroskaParser 0.2.zip Type: application/x-zip-compressed Size: 11661 bytes Desc: not available URL: From christophe.paris at free.fr Wed Jan 4 12:07:37 2006 From: christophe.paris at free.fr (Christophe PARIS) Date: Wed, 04 Jan 2006 12:07:37 +0100 Subject: [Matroska-devel] Foobar component source In-Reply-To: <43BAF8A3.6010407@gmail.com> References: <43BAF8A3.6010407@gmail.com> Message-ID: <43BBAC79.4040001@free.fr> Yes the sources are available in SVN : http://svn.matroska.org/svn/matroska/trunk/foo_matroska/ But to make a plugin for the 0.9 series you will need foobar 0.9 SDK, I don't know if it's out yet. Ragrads Toff Reed Wilson wrote: > Greetings! > > Does anybody know where I can get the latest source for the Foobar2000 > matroska component? I just got version 0.9b13 and all the components > need to be recompiled to support it. Instead of asking for someone else > to compile it, I thought I'd give it a try myself. > > Last I heard, Christophe Paris was working on it, but I don't know if he > has a website anymore. > > Considering that all my music is in FLAC Matroska format, not having a > matroska reader is a pretty big impediment for upgrading! > > Thanks > Reed "Omion" Wilson > From cedilla at gmail.com Wed Jan 4 20:28:42 2006 From: cedilla at gmail.com (Reed Wilson) Date: Wed, 04 Jan 2006 11:28:42 -0800 Subject: [Matroska-devel] Foobar component source In-Reply-To: <43BBAC79.4040001@free.fr> References: <43BAF8A3.6010407@gmail.com> <43BBAC79.4040001@free.fr> Message-ID: <43BC21EA.3050408@gmail.com> Christophe PARIS wrote: > But to make a plugin for the 0.9 series you will need > foobar 0.9 SDK, I don't know if it's out yet. You're right! They're not releasing the SDK until it goes final. That's really annoying (but I suppose it's warranted). Looks like I won't be using Foobar 0.9 for a while. Thanks anyway! Reed -- ? From cetus at internode.on.net Sun Jan 8 23:06:56 2006 From: cetus at internode.on.net (Tom Gaudasinski) Date: Sun, 08 Jan 2006 22:06:56 +0000 Subject: [Matroska-devel] libmatroska documentation In-Reply-To: <43BACBE3.3050605@free.fr> References: <43BAD557.8040809@internode.on.net> <43BACBE3.3050605@free.fr> Message-ID: <43C18D00.5030803@internode.on.net> Greetings Steve, I've taken a short look at the VLC code and It's quite overwhelming, but later on I'll troll through it given it's the only option I have. I'm not a big fan of reading source =). Although I'm willing to put the effort in because I personally think your format is far superior to that of AVI. As for C parsers, I'd like to keep it C++ as much as possible due to the fact that I'm still learning C++ (know C fairly well) and want as much exposure as i can get. Thanks. Steve Lhomme wrote: > Hi Tom, > > Thanks for your interrest in matroska :) > > There is no documentation for the moment for libmatroska. There are > very basic examples of how to read/write EBML/Matroska data in the > source code. For a bigger example you might have a look at mkvmerge or > mkv.cpp in the VLC source code. > > Otherwise you can use C parsers like the one from GStreamer or Haali's > one. > > Steve > > Tom Gaudasinski wrote: > >> Greetings, >> I have been reading about matroska for a few days now and am very >> much interested in including read support in my application. I wish >> to use the linux component libmatroska. What I intent to do is have >> my application open an mkv, read the video and audio streams >> (xvid/lame) and decode these streams myself using the respective >> libraries. However I have noticed that libmatroska has no >> documentation, is there any documentation that either the creator >> (robux?) or anyone else has done? I would very much be content with a >> commented example source file that achieves what I need. If someone >> has such a file I would very much be interested in a copy, I can help >> out by documenting what it will help me to learn. >> >> Thankyou >> --Tom G. >> _______________________________________________ >> 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 cetus at internode.on.net Sun Jan 8 23:10:45 2006 From: cetus at internode.on.net (Tom Gaudasinski) Date: Sun, 08 Jan 2006 22:10:45 +0000 Subject: [Matroska-devel] libmatroska documentation In-Reply-To: <43BADC62.4000408@wiesneronline.net> References: <43BAD557.8040809@internode.on.net> <43BADC62.4000408@wiesneronline.net> Message-ID: <43C18DE5.9030401@internode.on.net> Greetings Christian, Currently I'm in the design phase for a computer video game engine. Like most game engines, this one will too feature cinematics and therefore I needed a container. Matroska is the only open source container that looks mature and rather solid, I'm however willing to dig through source to find out how to work it. I'll come on the channel for sure if i need some help. Thanks. Christian HJ Wiesner wrote: > > Hi Tom, > > nosy as we are, may we ask you to tell us what app this is, that you > are coding currently ? :-) > > In any case, you are always more than welcome to join us on IRC , > channel #matroska on irc.corecodec.com /.org . All the devs hang out > there, and we gladly teach you on how to use libmatroska and libebml. > > Also, your offer to write some first docs about how to use them is > just great !! We could really need some help ..... > > Christian > matroska project admin > > > Tom Gaudasinski schrieb: > >> Greetings, >> I have been reading about matroska for a few days now and am very >> much interested in including read support in my application. I wish >> to use the linux component libmatroska. What I intent to do is have >> my application open an mkv, read the video and audio streams >> (xvid/lame) and decode these streams myself using the respective >> libraries. However I have noticed that libmatroska has no >> documentation, is there any documentation that either the creator >> (robux?) or anyone else has done? I would very much be content with a >> commented example source file that achieves what I need. If someone >> has such a file I would very much be interested in a copy, I can help >> out by documenting what it will help me to learn. >> >> Thankyou >> --Tom G. > > > > From mike at po.cs.msu.su Sun Jan 8 12:50:29 2006 From: mike at po.cs.msu.su (Mike Matsnev) Date: Sun, 08 Jan 2006 14:50:29 +0300 Subject: [Matroska-devel] libmatroska documentation In-Reply-To: <43C18DE5.9030401@internode.on.net> References: <43BAD557.8040809@internode.on.net> <43BADC62.4000408@wiesneronline.net> <43C18DE5.9030401@internode.on.net> Message-ID: <43C0FC85.7080102@po.cs.msu.su> Tom Gaudasinski wrote: > Greetings Christian, > Currently I'm in the design phase for a computer video game engine. > Like most game engines, this one will too feature cinematics and > therefore I needed a container. Matroska is the only open source > container that looks mature and rather solid, I'm however willing to dig > through source to find out how to work it. I'll come on the channel for > sure if i need some help. For your purposes this one: http://haali.cs.msu.ru/mkv/MatroskaParser.zip is a much better choice because of the much simpler api. From afmusic at gmx.net Sun Jan 8 18:34:33 2006 From: afmusic at gmx.net (midiboy) Date: Sun, 8 Jan 2006 17:34:33 +0000 (UTC) Subject: [Matroska-devel] Haali Splitter problem with some quicktime HD movies Message-ID: Hi ! I hope this is the right adress. Thanks for Haali Media Splitter, a great tool for watching all those new Quicktime HD trailers ... However I came across a few of those trailers that do not play correctly with your splitter. This one for instance: http://movies.apple.com/movies/sony_pictures/the_fog/the_fog_h720p.mov Another trailer with this problem would be the "Memoirs of a geisha" trailer. Somehow the video is playing in fast forward if I use the Haali Media Splitter. Using the Nero Digital Parser instead works fine. Other than that I tried various Audio/Video decoders, but they do not matter in this problem. I am using ZoomPlayer 4.51, latest ffdshow for audio/video decoding, VMR9, Geforce 5700, latest NVIDIA driver 81.94 I think ... Is it possible to fix this? Thanks a lot for your help ! Bye, midiboy From djlabs at email.com Thu Jan 12 04:07:43 2006 From: djlabs at email.com (David) Date: Thu, 12 Jan 2006 03:07:43 +0000 (UTC) Subject: [Matroska-devel] Haali MatroskaSplitter 1.6.33.22 Message-ID: Thanks for the update! It is working great for me. Have tried all kinds of different files in differant formats and containers without any problems. Only one suggestion here and that is to flip the thumbnail as it is upside down. Also would be nice if it were to reflect the aspect ratio. Thanks again and keep up the good work! From afmusic at gmx.net Sun Jan 15 10:59:48 2006 From: afmusic at gmx.net (midiboy) Date: Sun, 15 Jan 2006 09:59:48 +0000 (UTC) Subject: [Matroska-devel] Re: Haali Splitter problem with some quicktime HD movies References: Message-ID: Hey !!! Thanks for fixing this in the new build !!!! wonderful, Bye, Alex From python at mail.ru Tue Jan 17 21:28:34 2006 From: python at mail.ru (python) Date: Tue, 17 Jan 2006 22:28:34 +0200 Subject: [Matroska-devel] =?koi8-r?b?8M/Ey8zA3sXOycUgSGFhbGkgTWVkaWEgU3Bs?= =?koi8-r?b?aXR0ZXIgyyBNZWRpYSBQbGF5ZXIgQ2xhc3NpYyDexdLF2iBPdmVycmlkZXM=?= Message-ID: <43CD5372.5020304@mail.ru> ????????????. ???????? ??????? ! ???????. ??? ?????? ? ????????? - ? ?? ???????????? ? ??????? ??????? ??????? ??????, ? ????????? Media Player Classic ? ??? ??????? Overrides. ????? ??????? ? ????????? ?????? ?????? ??? ????????? ???? ????? ????? ?????? ?? ??????????? HDTV ????? ?????? Nero AVC ???????. ??? ????????? ? ????????? CoreAVC.Ax ?? ???? ????? *.mp4 ??? ?????????????? Haali Splittera ?? ????? ?????????????. ???? ??? ?? ??????, ?????????? ??? ???????? ?????????? ??? ?????? ? Media Player Classic ? ?.?. ?? ????????????? ??? ? ?????? ????? ??? splitter.ax ? ?????????? ??? ? MPC. ? ???? ??? ? ?? ????? ??? ???????. ???? ?????? ?????????? ??? ? MPC (??? dll ?????????? ? ???? ?????) - ?????? - ?????????? ??????? ???? ???. ??? ??? ???????. ??? ??????. From mike at po.cs.msu.su Tue Jan 17 22:33:41 2006 From: mike at po.cs.msu.su (Mike Matsnev) Date: Wed, 18 Jan 2006 00:33:41 +0300 Subject: [Matroska-devel] =?KOI8-R?Q?=F0=CF=C4=CB=CC=C0=DE=C5=CE=C9=C5?= =?KOI8-R?Q?_Haali_Media_Splitter_=CB_Media_Player_Classic_?= =?KOI8-R?Q?=DE=C5=D2=C5=DA_Overrides?= In-Reply-To: <43CD5372.5020304@mail.ru> References: <43CD5372.5020304@mail.ru> Message-ID: <43CD62B5.5030904@po.cs.msu.su> python wrote: > ??? ?????? ? ????????? - > ? ?? ???????????? ? ??????? ??????? ??????? ??????, ? ????????? Media > Player Classic ? ??? ??????? Overrides. > ????? ??????? ? ????????? ?????? ?????? ??? ????????? ???? ????? ????? > ?????? ?? ??????????? HDTV ????? ?????? Nero AVC ???????. > ??? ????????? ? ????????? CoreAVC.Ax > ?? ???? ????? *.mp4 ??? ?????????????? Haali Splittera ?? ????? > ?????????????. > > ???? ??? ?? ??????, ?????????? ??? ???????? ?????????? ??? ?????? ? > Media Player Classic ? > ?.?. ?? ????????????? ??? ? ?????? ????? ??? splitter.ax ? ?????????? > ??? ? MPC. > > ? ???? ??? ? ?? ????? ??? ???????. ???? ?????? ?????????? ??? ? MPC (??? > dll ?????????? ? ???? ?????) - ?????? - ?????????? ??????? ???? ???. ?????. ? ????????? DLL ???? ????????? COM ???????????, ?? ????? ???????????????? ????? splitter.ax ??? ?? ????? ? ???????. From askoff at luukku.com Wed Jan 18 16:56:47 2006 From: askoff at luukku.com (Asko Eronen) Date: Wed, 18 Jan 2006 17:56:47 +0200 (EET) Subject: [Matroska-devel] m4a support for Haali Media Splitter Message-ID: <1137599807953.askoff.74554.9q3zN5yC3sXtF6tGbvVUOw@luukku.com> Hi, I have a request of adding m4a support to Haali Media Splitter. Although m4a is more like defacto standard but it would be great if it was supported by Haali Media Splitter. The container is just renamed MP4, so my guess is that it wouldn't be too difficult to do. ................................................................... Luukku Plus paketilla p??set eroon tila- ja turvallisuusongelmista. Hanki Luukku Plus ja helpotat el?m??si. http://www.mtv3.fi/luukku From sporks5000 at gmail.com Thu Jan 19 20:25:00 2006 From: sporks5000 at gmail.com (=?ISO-8859-1?Q?Austin_Cot=E9_Williams?=) Date: Thu, 19 Jan 2006 14:25:00 -0500 Subject: [Matroska-devel] Diferent frame sizes Message-ID: <658f9a740601191125vc00e9a3r823d57e891ab6881@mail.gmail.com> Dear Developers of Matroska, I noticed that Matroska doesn't seem to be able to contain two video segments with different frame sizes. I can understand that - no other container format (that I know of) offers such a feature - but it seems that since one of the main points of Matroska is it's ability to do anything, I thought that I'd recommend it, and see what people had to say. I have no practical experience with programming, so this might be a round-about way of accomplishing this, but it seems like it would be possible to have the software that's compiling the video file, MKVtoolnix, for example, set the frame size for the final video file as the largest width from the video segments being merged by the largest height from the video segments being merged. In the properties for each segment, you'd be able to set where within the frame that video segment would play (centered, top left, etc., or you could specify the exact location of the upper right pixel of the file using X and Y coordinates). A global tag would have to be included to indicate what color any portion of the frame that isn't being taken up by a video segment would be, (black would be default) as well as whether the portions of the last frame of the last video segment which aren't being overlapped by the following video segment should remain on screen, or immediately be replaced by the background color once their duration is up. While it would be easy enough to re-size or add black (or the color of your choice) pixels to the top, bottom, left, or right of each segment until they're all the same size, this alternative would save time and space because the black space wouldn't have to be encoded into the video data but instead could easily be indicated only once in RRBBGG format (or something similar). Also, the ability to keep the last frame of a video segment on the screen would allow space to be saved in instances where a portion of the frame doesn't change for some duration of time, but the rest of the frame does. The portion that doesn't change would be cropped out, reducing the file size of the segment, and therefore the size of the entire file. Is it possible? Is it worth doing? Does anyone have any thoughts on this? -Austin Williams From lrn at land.ru Fri Jan 20 01:18:00 2006 From: lrn at land.ru (LRN) Date: Fri, 20 Jan 2006 00:18:00 +0000 (UTC) Subject: [Matroska-devel] Haali Media Splitter =?utf-8?b?0LjRgdGD0LHRgtC40YLRgNGL0LI=?= .mp4 =?utf-8?b?0L7Rgg==?= mp4box Message-ID: ????? mp4 = x264 + HE-AAC + chapters + subs (UTF-8), ????? ? ??????? mp4box (0. 4.1-dev, ????????? ????? ? _http://www.aziendeassociate.it/cd.asp?dir=/gpac/dev ). XP SP2, ?????? ????? ?????? K-Lite Mega (?????????????? - ?????? MPC, ffdshow, Haali ? ?.?., ???? ???????? ????????? ? ??????? ???????? ? ??? ?????). ? ???????? ??-??? mp4box'? ?????? ?? ????????????? ????????. Haali ???????? ???????? ????? (??? ???? ? ?????? ????????????), ?? ?? ??????????. Gabest ???????? ????????? ?? ????? ??????. ??????????? GPAC'?????? ????????????? Osmo4 ???????? ????? ? ??????????? (??????, ? ???????????? ????????? (??? ???????????? ???????, ??????????? ????)). ????? ????, ? ????????? ????????? ? chapter'??? ? CP-1251, ??????? mux'???? ??? ??? ?? mp4box'?? ? ??????? OGG (??? OGM?) (? ???? ???????, ??? ??? ????????? ??????????? ? UTF-8, ?????? ? ????? ? ???? ? ?????? ???????? ??? ??????? ??????????? ??????? CP-1251 (?.?. - ??? ??????? ?????) "????????" (???????? ?????? ??????? ????????? ? ????????? ???????, ???????? ??????)). ??? ??? ???? - ? ???? ?? ????. From Skaarj_ at mail.ru Fri Jan 20 22:17:53 2006 From: Skaarj_ at mail.ru (Skaarj_) Date: Sat, 21 Jan 2006 00:17:53 +0300 Subject: [Matroska-devel] Re: =?koi8-r?b?SGFhbGkgTWVkaWEgU3BsaXR0ZXIgydPVwtTJ1NLZ1yAubXA0?= =?koi8-r?b?IM/UIG1wNGJveA==?= References: Message-ID: ??? ??????? ? ????????? ????????. ? ??? ??????? ??? ?? ? ?????????? ?? ? Chapters ? Editions. ?????????? ? ???? ???? ???? ???? ???????? ? Haali 1- ?????? ???? ?? ????????, ?????? ???? ????? "Autor", ???? ??????? ??? ?? ????? ?? ??? ????????? (? ?? ??? ? ????? ?????? :), ?? ??????? ????? ??????? ????? ???????????? ??? ?????? ? HaaliSplitter`e, ? ??? ????? ? ????????? ?????. 2- ????? ?? ? ??????? ?????? ????????? ???????????? ? ???????? ?????? ????? ????????? ????????? ???????? (??? ? Matroska Prop), ? ?? ? ??????????? ? ???????? ?????? n-?? ????? ??? ????????? ???????? ??????. -- ?????????? M2, ????????????? ???????? ?????????? Opera: http://www.opera.com/mail/ From unmei at matroska.org Mon Jan 23 19:05:57 2006 From: unmei at matroska.org (unmei) Date: Mon, 23 Jan 2006 19:05:57 +0100 Subject: [Matroska-devel] Re: DivX XSUB subtitle format In-Reply-To: <43B1B0E0.8020908@free.fr> References: <43B1B0E0.8020908@free.fr> Message-ID: ok, i'm slow - but at a first glance this looks very much like simple vobsubs Steve Lhomme wrote: > Hi all, > > As the source of the XSUB encoder are public and in DrFFMPEG here is the > format of the XSUB subtitle in .divx/DMF files : > > typedef struct Color > { > uint8_t red; > uint8_t green; > uint8_t blue; > } Color; > > // DivX Subpicture Packet header > typedef struct DivxSubPictPackHdr > { > // Duration in the following format > // [HH:MM:SS.XXX-hh:mm:ss.xxx] > // Note: There is no NUL at the end > char duration[27]; > > // Subpicture dimensions & coordinates > uint16_t width; > uint16_t height; > uint16_t left; > uint16_t top; > uint16_t right; > uint16_t bottom; > uint16_t fieldOffset; > > // Background, pattern, emphasis1, emphasis2 colors > Color background; > Color pattern; > Color emphasis1; > Color emphasis2; > } DivxSubPictPackHdr; > > #define SIZEOF_XSUB_PACKET 53 > > This is stored in little-endian with the exact size for each field. I > think Gabest shouldn't have a hard time supporting the format too. > [...] From steve.lhomme at free.fr Wed Jan 25 02:01:19 2006 From: steve.lhomme at free.fr (Steve Lhomme) Date: Tue, 24 Jan 2006 15:01:19 -1000 Subject: [Matroska-devel] Re: Ebml and Borland C++ Builder 2006 In-Reply-To: <43CEAACA.4030001@MediaArea.net> References: <43CEAACA.4030001@MediaArea.net> Message-ID: <43D6CDDF.20103@free.fr> Hi Zen, I added these lines to EbmlConfig.h: #if __BORLANDC__ >= 0x0581 //Borland C++ Builder 2006 preview #include //malloc(), free() #include //memcpy() #endif //__BORLANDC__ You can get it from SVN. Can you send us the log of warnings ? Some may be interresting. thanks Zen wrote: > Hi, > > I use Ebml and Matroska libraries with Borland C++ Builder. > > No problem with the version 5.5 (=Borland C++ Builder 6) of this > compiler, but the version 5.81 (= Borland Developper Studio C++ 2006 > Preview technology), there is one little problem with EBML. > > The compiler does not succeed to find malloc, free and memcpy. > > I did a quick workaroud, with theses lines in ebml/EbmlConfig.h (where > you want) : > --- > #if __BORLANDC__==0x0581 //Borland C++ Builder 2006 preview > #include //malloc(), free() > #include //memcpy() > #endif //__BORLANDC__ > --- > > It would be nice if you can add theses lines in future versions... > (there are a lot of other things, but only warnings) > > Zen > http://mediainfo.sourceforge.net -- robUx4 on blog From steve.lhomme at free.fr Wed Jan 25 02:13:21 2006 From: steve.lhomme at free.fr (Steve Lhomme) Date: Tue, 24 Jan 2006 15:13:21 -1000 Subject: [Matroska-devel] Re: [ matroska-Bugs-623 ] Bug in EbmlElement::FindNextID method In-Reply-To: <20051225222624.618676AEEC@www.corecodec.org> References: <20051225222624.618676AEEC@www.corecodec.org> Message-ID: <43D6D0B1.1010501@free.fr> Hi, No this is not a bug, we support IDs of size 1, 2, 3, 4. The ++ is done before the test. So for that test the value start at 1 and not 0. Thanks for paying attention :) And merry Xmas ;) noreply at corecodec.org wrote: > Bugs item #623, was opened at 2005-12-25 15:26 > You can respond by visiting: > http://corecodec.org/tracker/?func=detail&atid=269&aid=623&group_id=49 > > Category: libebml > Group: None > Status: Open > Resolution: None > Priority: 5 > Submitted By: Nobody (None) > Assigned to: Steve Lhomme (robux4) > Summary: Bug in EbmlElement::FindNextID method > > Initial Comment: > Following is current logic in EbmlElement::FindNextID method (EbmlElement.cpp, line 256, version 0.7.6) > > > > binary PossibleId[4]; > > int PossibleID_Length = 0; > > > > while (1) { > > ReadSize += DataStream.read(&PossibleId[PossibleID_Length], 1); > > if (ReadSize == uint32(PossibleID_Length)) return NULL; // no more data ? > > if (++PossibleID_Length > 4) return NULL; > > } > > > > I think that the statement should be: > > > > if (++PossibleID_Length >= 4) return NULL; > > > > Is it right? > > > > Please send me an email if you confirm it's a bug. Thanks in advance! > > > > Email: nhquynh_sgt at yahoo.com > > > > ---------------------------------------------------------------------- > > You can respond by visiting: > http://corecodec.org/tracker/?func=detail&atid=269&aid=623&group_id=49 > > > -- robUx4 on blog From amueller at itec.uni-klu.ac.at Wed Jan 25 14:43:01 2006 From: amueller at itec.uni-klu.ac.at (=?ISO-8859-1?Q?Armin_M=FCller?=) Date: Wed, 25 Jan 2006 14:43:01 +0100 Subject: [Matroska-devel] LibMatroska example question Message-ID: <1C2DF582-D3CA-45B5-B72B-D615B7F3C6C7@itec.uni-klu.ac.at> Hi, i write a multiplexing module for our multimedia framework at university. So i took the example code for multiplexing from the libmatroska package (Linux). I have a class-method that does the multiplexing., this is where I call KaxTracks & MyTracks = GetChild(FileSegment); /* Filesegment is a KaxSegment */ now I need to have the variable MyTracks globally in my class available, so I have to declare it outside of this function. I tried: KaxTracks MyTracks; &MyTracks = GetChild(FileSegment); I also tried it without ampersand, but I don't understand this syntax. Can anyone show me how to declare the variable (globally) and then assign the return value of GetChild? thanks and regards, armin From steve.lhomme at free.fr Wed Jan 25 06:31:21 2006 From: steve.lhomme at free.fr (Steve Lhomme) Date: Tue, 24 Jan 2006 19:31:21 -1000 Subject: [Matroska-devel] ISO 3166-1 Country Codes Instead of ccTLDs? In-Reply-To: <200512051452.10286.moritz@bunkus.org> References: <438BA255.5070709@pipian.com> <200512051452.10286.moritz@bunkus.org> Message-ID: <43D70D29.5020603@free.fr> Given the problematic ones are very exotic (unless Haali used .su in some files), I agree to modify the specs to use the ISO standard instead for country codes. After all we already use ISO for the language codes. Moritz Bunkus wrote: > Hey, > > On Tuesday 29 November 2005 01:35, Pipian wrote: >> It seems to me that it would be thus more appropriate to use ISO 3166-1 >> for the purposes of country codes, given that it is an accepted >> international standard (ccTLDs are vaguer in that regard) and is >> identical to the ccTLD with the exception of: > > I wouldn't have too big of a problem with us using ISO 3166-1 instead of > ccTLDs. One problem is that we would again be changing specs and > possibly making some files invalid (those which use some of the > "transitional" or "exceptional" ccTLDs). On the other hand we like to > rely on well-established standards, and ISO certainly is one. > > Any other comments? > > Mosu > > > > ------------------------------------------------------------------------ > > _______________________________________________ > 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 -- robUx4 on blog From steve.lhomme at free.fr Wed Jan 25 06:48:45 2006 From: steve.lhomme at free.fr (Steve Lhomme) Date: Tue, 24 Jan 2006 19:48:45 -1000 Subject: [Matroska-devel] libmatroska documentation In-Reply-To: <43C18D00.5030803@internode.on.net> References: <43BAD557.8040809@internode.on.net> <43BACBE3.3050605@free.fr> <43C18D00.5030803@internode.on.net> Message-ID: <43D7113D.3000808@free.fr> Hi, The VLC source code is quite big because it does a lot of things. I don't know any "basic" application that uses libmatroska. But if you have any questions, don't hesitate to ask on this mailing list or IRC. As another choice, Mike's parser (Haali) could be a good entry point. It's in C, but it will just fine in a C++ code. Tom Gaudasinski wrote: > Greetings Steve, > I've taken a short look at the VLC code and It's quite overwhelming, > but later on I'll troll through it given it's the only option I have. > I'm not a big fan of reading source =). Although I'm willing to put the > effort in because I personally think your format is far superior to that > of AVI. As for C parsers, I'd like to keep it C++ as much as possible > due to the fact that I'm still learning C++ (know C fairly well) and > want as much exposure as i can get. > > Thanks. > > Steve Lhomme wrote: > >> Hi Tom, >> >> Thanks for your interrest in matroska :) >> >> There is no documentation for the moment for libmatroska. There are >> very basic examples of how to read/write EBML/Matroska data in the >> source code. For a bigger example you might have a look at mkvmerge or >> mkv.cpp in the VLC source code. >> >> Otherwise you can use C parsers like the one from GStreamer or Haali's >> one. >> >> Steve >> >> Tom Gaudasinski wrote: >> >>> Greetings, >>> I have been reading about matroska for a few days now and am very >>> much interested in including read support in my application. I wish >>> to use the linux component libmatroska. What I intent to do is have >>> my application open an mkv, read the video and audio streams >>> (xvid/lame) and decode these streams myself using the respective >>> libraries. However I have noticed that libmatroska has no >>> documentation, is there any documentation that either the creator >>> (robux?) or anyone else has done? I would very much be content with a >>> commented example source file that achieves what I need. If someone >>> has such a file I would very much be interested in a copy, I can help >>> out by documenting what it will help me to learn. >>> >>> Thankyou >>> --Tom G. >>> _______________________________________________ >>> 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 >> >> > > -- robUx4 on blog From steve.lhomme at free.fr Wed Jan 25 07:14:07 2006 From: steve.lhomme at free.fr (Steve Lhomme) Date: Tue, 24 Jan 2006 20:14:07 -1000 Subject: [Matroska-devel] Compromise Encryption Proposal In-Reply-To: References: Message-ID: <43D7172F.4020904@free.fr> Hi Joseph, I tried to read all the previous posts in depth, but I currently lack the time. From what I understood you want to encrypt the content of blocks, including the block itself. As Paul replied, there are good reasons not to do that. The main one is that we want to be able to parse the file. The track ID and the timecode information is in the Block itself. So if you want to skip in the movie, you'd have to decrypt all blocks in a Cluster to find the one you're looking for... I understand showing everyone the timecode and track part of the movie may expose some vulnerability. But I don't think the key information is there. And the encryption would be very weak if such information could help discover the encryption scheme/key. I still think the system we have that allows any kind of (chained) encryption of the Block and the Codec private data (ie everything that is not part of the container) is flexible and secure enough. Also, we created EBML to avoid C-struct formats that have fixed length elements at defined place and can hardly evolve. So please don't use that kind of format to enhance matroska. You also mentioned adding a few bytes to each frame wouldn't change the overhead much. But it actually does. A video Block (without the data) is typically 5 long. And there are 130,000 ones for a full length video track. So adding a few bytes increases the overhead a lot. That's why we put information that is repeted a lot in headers. We don't have any system at the container level to allow switching the encryption in the middle. But that should be the job of the encryption "codec" anyway to cover that. Other than that, if you agree on what I said, could you layout the changes/additions you need in the specs, so that I can add them (and we comment more first) ? Thanks in advance. Joseph Ashwood wrote: > I think this compromise accomplishes the desires of both sides. I'm > having trouble locating the correct terminology, so I'm just going to go > all the way back to C-structs (Segment is in this case an example of a > struct). > > Keep the initializer proposal I made. With some changes though. In > addition to sitting alonog side Segment at the highest level, any struct > can contain them, effectively defining local variables. Local > definitions supercede those that are global to them. For duplicate > definitions at the same level, behavior is not defined. > > Each struct contains a single, optional field called Transform (name can > and should be changed as needed). Transform is a 32-bit bitfield, > defining the (previously initialized) transform to be used. The inverse > transform is free to make any changes to the struct, so for example, it > is free to change timecodes. An inverse transform may return a single > struct, multiple structs, or no structs, each of which can be of any > type, and may contain an additional Transform requirement. The inverse > transform SHOULD avoid changing the information except where security > trumps this requirement. > > This allows the parser to perform look-ahead processing, as Paul > desired, but also allows the inverse transform to force non-malleability > in cases where it is warranted. 99+% of the time, the biggest change > will be if the transform results in multiple SimpleBlocks. > > Is this a worthwhile compromise? > Joe From steve.lhomme at free.fr Wed Jan 25 19:00:12 2006 From: steve.lhomme at free.fr (Steve Lhomme) Date: Wed, 25 Jan 2006 08:00:12 -1000 Subject: [Matroska-devel] LibMatroska example question In-Reply-To: <1C2DF582-D3CA-45B5-B72B-D615B7F3C6C7@itec.uni-klu.ac.at> References: <1C2DF582-D3CA-45B5-B72B-D615B7F3C6C7@itec.uni-klu.ac.at> Message-ID: <43D7BCAC.2080609@free.fr> Hi Armin, Using global variables is usually a bad idea, even if that's the easiest case. Your program won't be thread-safe and reentrant. In C++ you usually offer a method in your class to give access to this variable, like : KaxTracks & GetTracks(); or const KaxTracks & GetTracks() const; & will give you a reference to the object. That's like a pointer, but you don't have to check if it's NULL. If you are not sure about this syntax, just use pointers... I hope it helped. Steve Armin M?ller wrote: > Hi, > > i write a multiplexing module for our multimedia framework at university. > So i took the example code for multiplexing from the libmatroska package > (Linux). > > I have a class-method that does the multiplexing., this is where I call > > KaxTracks & MyTracks = GetChild(FileSegment); /* Filesegment > is a KaxSegment */ > > now I need to have the variable MyTracks globally in my class available, > so I have to declare it outside of this function. > > > I tried: > > KaxTracks MyTracks; > > &MyTracks = GetChild(FileSegment); > > I also tried it without ampersand, but I don't understand this syntax. > > > Can anyone show me how to declare the variable (globally) and then > assign the return value of GetChild? > > > thanks and regards, > armin > > > > > > _______________________________________________ > 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 -- robUx4 on blog From aaa at aaaa.com Wed Jan 25 22:10:11 2006 From: aaa at aaaa.com (Zen) Date: Wed, 25 Jan 2006 22:10:11 +0100 Subject: [Matroska-devel] Re: Ebml and Borland C++ Builder 2006 In-Reply-To: <43D6CDDF.20103@free.fr> References: <43CEAACA.4030001@MediaArea.net> <43D6CDDF.20103@free.fr> Message-ID: <43D7E933.80203@aaaa.com> From Ebml 0.7.6 : [C++ Warning] EbmlId.h(56): W8027 Functions containing for are not expanded inline [C++ Warning] EbmlId.h(76): W8027 Functions containing for are not expanded inline [C++ Warning] EbmlId.h(56): W8027 Functions containing for are not expanded inline [C++ Warning] EbmlId.h(76): W8027 Functions containing for are not expanded inline [C++ Warning] EbmlId.h(56): W8027 Functions containing for are not expanded inline [C++ Warning] EbmlId.h(76): W8027 Functions containing for are not expanded inline [C++ Warning] EbmlId.h(56): W8027 Functions containing for are not expanded inline [C++ Warning] EbmlId.h(76): W8027 Functions containing for are not expanded inline [C++ Warning] EbmlDate.h(90): W8022 'EbmlDate::operator <(const EbmlDate &) const' hides virtual function 'EbmlElement::operator <(const EbmlElement &) const' [C++ Warning] EbmlElement.cpp(76): W8012 Comparing signed and unsigned values [C++ Warning] EbmlElement.cpp(156): W8004 'Result' is assigned a value that is never used [C++ Warning] EbmlElement.cpp(142): W8004 'PossibleSizeLength' is assigned a value that is never used [C++ Warning] EbmlElement.cpp(287): W8004 'Result' is assigned a value that is never used [C++ Warning] EbmlElement.cpp(281): W8004 'ReadSize' is assigned a value that is never used [C++ Warning] EbmlElement.cpp(354): W8004 'IdBitMask' is assigned a value that is never used [C++ Warning] EbmlElement.cpp(500): W8004 'Result' is assigned a value that is never used [C++ Warning] EbmlSInteger.cpp(71): W8072 Suspicious pointer arithmetic [C++ Warning] EbmlSInteger.cpp(91): W8041 Negating unsigned value [C++ Warning] EbmlSInteger.cpp(93): W8056 Integer arithmetic overflow [C++ Warning] EbmlSInteger.cpp(94): W8056 Integer arithmetic overflow [C++ Warning] EbmlSInteger.cpp(96): W8056 Integer arithmetic overflow [C++ Warning] EbmlSInteger.cpp(97): W8056 Integer arithmetic overflow [C++ Warning] EbmlSInteger.cpp(99): W8056 Integer arithmetic overflow [C++ Warning] EbmlSInteger.cpp(100): W8056 Integer arithmetic overflow [C++ Warning] EbmlString.cpp(136): W8072 Suspicious pointer arithmetic [C++ Warning] EbmlString.cpp(137): W8072 Suspicious pointer arithmetic [C++ Warning] EbmlUInteger.cpp(72): W8072 Suspicious pointer arithmetic [C++ Warning] EbmlUInteger.cpp(94): W8056 Integer arithmetic overflow [C++ Warning] EbmlUInteger.cpp(96): W8056 Integer arithmetic overflow [C++ Warning] EbmlUInteger.cpp(98): W8056 Integer arithmetic overflow [C++ Warning] EbmlUnicodeString.cpp(172): W8068 Constant out of range in comparison [C++ Warning] EbmlUnicodeString.cpp(184): W8068 Constant out of range in comparison [C++ Warning] EbmlUnicodeString.cpp(293): W8072 Suspicious pointer arithmetic [C++ Warning] EbmlUnicodeString.cpp(294): W8072 Suspicious pointer arithmetic [C++ Warning] xlocinfo(53): W8058 Cannot create pre-compiled header: initialized data in header [C++ Warning] MemIOCallback.cpp(74): W8072 Suspicious pointer arithmetic [C++ Warning] MemIOCallback.cpp(80): W8072 Suspicious pointer arithmetic [C++ Warning] MemIOCallback.cpp(103): W8072 Suspicious pointer arithmetic [C++ Warning] MemIOCallback.cpp(118): W8072 Suspicious pointer arithmetic [C++ Warning] StdIOCallback.cpp(138): W8066 Unreachable code [C++ Warning] WinIOCallback.cpp(99): W8012 Comparing signed and unsigned values [C++ Warning] WinIOCallback.cpp(182): W8012 Comparing signed and unsigned values [C++ Warning] WinIOCallback.cpp(254): W8055 Possible overflow in shift operation From Matroska 0.8.0 [C++ Warning] KaxBlock.cpp(320): W8004 'cursor' is assigned a value that is never used [C++ Warning] KaxBlock.cpp(391): W8004 'cursor' is assigned a value that is never used [C++ Warning] KaxBlock.cpp(501): W8004 'cursor' is assigned a value that is never used [C++ Warning] KaxBlock.cpp(700): W8004 'Result' is assigned a value that is never used [C++ Warning] KaxCluster.cpp(199): W8012 Comparing signed and unsigned values [C++ Warning] KaxCluster.cpp(246): W8012 Comparing signed and unsigned values [C++ Warning] KaxCues.cpp(134): W8056 Integer arithmetic overflow [C++ Warning] KaxCues.cpp(158): W8004 'aPointNext' is assigned a value that is never used [C++ Warning] KaxCuesData.cpp(273): W8056 Integer arithmetic overflow [C++ Warning] KaxSeekHead.cpp(105): W8004 'aId' is assigned a value that is never used [C++ Warning] xlocinfo(53): W8058 Cannot create pre-compiled header: initialized data in header Zen Steve Lhomme a ?crit : > Hi Zen, > > I added these lines to EbmlConfig.h: > #if __BORLANDC__ >= 0x0581 //Borland C++ Builder 2006 preview > #include //malloc(), free() > #include //memcpy() > #endif //__BORLANDC__ > > You can get it from SVN. Can you send us the log of warnings ? Some may > be interresting. > > thanks > > Zen wrote: >> Hi, >> >> I use Ebml and Matroska libraries with Borland C++ Builder. >> >> No problem with the version 5.5 (=Borland C++ Builder 6) of this >> compiler, but the version 5.81 (= Borland Developper Studio C++ 2006 >> Preview technology), there is one little problem with EBML. >> >> The compiler does not succeed to find malloc, free and memcpy. >> >> I did a quick workaroud, with theses lines in ebml/EbmlConfig.h (where >> you want) : >> --- >> #if __BORLANDC__==0x0581 //Borland C++ Builder 2006 preview >> #include //malloc(), free() >> #include //memcpy() >> #endif //__BORLANDC__ >> --- >> >> It would be nice if you can add theses lines in future versions... >> (there are a lot of other things, but only warnings) >> >> Zen >> http://mediainfo.sourceforge.net > From steve.lhomme at free.fr Thu Jan 26 00:34:40 2006 From: steve.lhomme at free.fr (Steve Lhomme) Date: Wed, 25 Jan 2006 13:34:40 -1000 Subject: [Matroska-devel] Re: Ebml and Borland C++ Builder 2006 In-Reply-To: <43D7E933.80203@aaaa.com> References: <43CEAACA.4030001@MediaArea.net> <43D6CDDF.20103@free.fr> <43D7E933.80203@aaaa.com> Message-ID: <43D80B10.2070000@free.fr> Thanks. I'll have a look ASAP. Some of them are known and unarmful (same as in MSVC) while some others could be cleaned at no cost. Steve Zen wrote: > From Ebml 0.7.6 : > [C++ Warning] EbmlId.h(56): W8027 Functions containing for are not > expanded inline > [C++ Warning] EbmlId.h(76): W8027 Functions containing for are not > expanded inline > [C++ Warning] EbmlId.h(56): W8027 Functions containing for are not > expanded inline > [C++ Warning] EbmlId.h(76): W8027 Functions containing for are not > expanded inline > [C++ Warning] EbmlId.h(56): W8027 Functions containing for are not > expanded inline > [C++ Warning] EbmlId.h(76): W8027 Functions containing for are not > expanded inline > [C++ Warning] EbmlId.h(56): W8027 Functions containing for are not > expanded inline > [C++ Warning] EbmlId.h(76): W8027 Functions containing for are not > expanded inline > [C++ Warning] EbmlDate.h(90): W8022 'EbmlDate::operator <(const > EbmlDate &) const' hides virtual function 'EbmlElement::operator <(const > EbmlElement &) const' > [C++ Warning] EbmlElement.cpp(76): W8012 Comparing signed and unsigned > values > [C++ Warning] EbmlElement.cpp(156): W8004 'Result' is assigned a value > that is never used > [C++ Warning] EbmlElement.cpp(142): W8004 'PossibleSizeLength' is > assigned a value that is never used > [C++ Warning] EbmlElement.cpp(287): W8004 'Result' is assigned a value > that is never used > [C++ Warning] EbmlElement.cpp(281): W8004 'ReadSize' is assigned a > value that is never used > [C++ Warning] EbmlElement.cpp(354): W8004 'IdBitMask' is assigned a > value that is never used > [C++ Warning] EbmlElement.cpp(500): W8004 'Result' is assigned a value > that is never used > [C++ Warning] EbmlSInteger.cpp(71): W8072 Suspicious pointer arithmetic > [C++ Warning] EbmlSInteger.cpp(91): W8041 Negating unsigned value > [C++ Warning] EbmlSInteger.cpp(93): W8056 Integer arithmetic overflow > [C++ Warning] EbmlSInteger.cpp(94): W8056 Integer arithmetic overflow > [C++ Warning] EbmlSInteger.cpp(96): W8056 Integer arithmetic overflow > [C++ Warning] EbmlSInteger.cpp(97): W8056 Integer arithmetic overflow > [C++ Warning] EbmlSInteger.cpp(99): W8056 Integer arithmetic overflow > [C++ Warning] EbmlSInteger.cpp(100): W8056 Integer arithmetic overflow > [C++ Warning] EbmlString.cpp(136): W8072 Suspicious pointer arithmetic > [C++ Warning] EbmlString.cpp(137): W8072 Suspicious pointer arithmetic > [C++ Warning] EbmlUInteger.cpp(72): W8072 Suspicious pointer arithmetic > [C++ Warning] EbmlUInteger.cpp(94): W8056 Integer arithmetic overflow > [C++ Warning] EbmlUInteger.cpp(96): W8056 Integer arithmetic overflow > [C++ Warning] EbmlUInteger.cpp(98): W8056 Integer arithmetic overflow > [C++ Warning] EbmlUnicodeString.cpp(172): W8068 Constant out of range > in comparison > [C++ Warning] EbmlUnicodeString.cpp(184): W8068 Constant out of range > in comparison > [C++ Warning] EbmlUnicodeString.cpp(293): W8072 Suspicious pointer > arithmetic > [C++ Warning] EbmlUnicodeString.cpp(294): W8072 Suspicious pointer > arithmetic > [C++ Warning] xlocinfo(53): W8058 Cannot create pre-compiled header: > initialized data in header > [C++ Warning] MemIOCallback.cpp(74): W8072 Suspicious pointer arithmetic > [C++ Warning] MemIOCallback.cpp(80): W8072 Suspicious pointer arithmetic > [C++ Warning] MemIOCallback.cpp(103): W8072 Suspicious pointer arithmetic > [C++ Warning] MemIOCallback.cpp(118): W8072 Suspicious pointer arithmetic > [C++ Warning] StdIOCallback.cpp(138): W8066 Unreachable code > [C++ Warning] WinIOCallback.cpp(99): W8012 Comparing signed and > unsigned values > [C++ Warning] WinIOCallback.cpp(182): W8012 Comparing signed and > unsigned values > [C++ Warning] WinIOCallback.cpp(254): W8055 Possible overflow in shift > operation > > > From Matroska 0.8.0 > > [C++ Warning] KaxBlock.cpp(320): W8004 'cursor' is assigned a value > that is never used > [C++ Warning] KaxBlock.cpp(391): W8004 'cursor' is assigned a value > that is never used > [C++ Warning] KaxBlock.cpp(501): W8004 'cursor' is assigned a value > that is never used > [C++ Warning] KaxBlock.cpp(700): W8004 'Result' is assigned a value > that is never used > [C++ Warning] KaxCluster.cpp(199): W8012 Comparing signed and unsigned > values > [C++ Warning] KaxCluster.cpp(246): W8012 Comparing signed and unsigned > values > [C++ Warning] KaxCues.cpp(134): W8056 Integer arithmetic overflow > [C++ Warning] KaxCues.cpp(158): W8004 'aPointNext' is assigned a value > that is never used > [C++ Warning] KaxCuesData.cpp(273): W8056 Integer arithmetic overflow > [C++ Warning] KaxSeekHead.cpp(105): W8004 'aId' is assigned a value > that is never used > [C++ Warning] xlocinfo(53): W8058 Cannot create pre-compiled header: > initialized data in header > > Zen > > Steve Lhomme a ?crit : >> Hi Zen, >> >> I added these lines to EbmlConfig.h: >> #if __BORLANDC__ >= 0x0581 //Borland C++ Builder 2006 preview >> #include //malloc(), free() >> #include //memcpy() >> #endif //__BORLANDC__ >> >> You can get it from SVN. Can you send us the log of warnings ? Some >> may be interresting. >> >> thanks >> >> Zen wrote: >>> Hi, >>> >>> I use Ebml and Matroska libraries with Borland C++ Builder. >>> >>> No problem with the version 5.5 (=Borland C++ Builder 6) of this >>> compiler, but the version 5.81 (= Borland Developper Studio C++ 2006 >>> Preview technology), there is one little problem with EBML. >>> >>> The compiler does not succeed to find malloc, free and memcpy. >>> >>> I did a quick workaroud, with theses lines in ebml/EbmlConfig.h >>> (where you want) : >>> --- >>> #if __BORLANDC__==0x0581 //Borland C++ Builder 2006 preview >>> #include //malloc(), free() >>> #include //memcpy() >>> #endif //__BORLANDC__ >>> --- >>> >>> It would be nice if you can add theses lines in future versions... >>> (there are a lot of other things, but only warnings) >>> >>> Zen >>> http://mediainfo.sourceforge.net >> > > _______________________________________________ > 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 -- robUx4 on blog From ashwood at msn.com Thu Jan 26 04:41:44 2006 From: ashwood at msn.com (Joseph Ashwood) Date: Wed, 25 Jan 2006 19:41:44 -0800 Subject: [Matroska-devel] Compromise Encryption Proposal References: <43D7172F.4020904@free.fr> Message-ID: ----- Original Message ----- From: "Steve Lhomme" Subject: Re: [Matroska-devel] Compromise Encryption Proposal > From what I understood you want to encrypt the content of blocks, > including the block itself. Actually it substantially and notably changed, for starters the new proposal is that all elements contain an optional additional entry (which I will tentatively call TransformID), specifically to take care of: > The main one is that we want to be able to parse the file. In order to keep the capability of the authentication and authorization though it is necessary that the decryptor be able to change everything. That is the reason for the substantial change in the parsing that the decryptor is made capable of replacing it's current element and creating new siblings (it is disallowed from removing or altering current siblings). Except is rare and obscure cases where specific security requirements are necessary (or where substantial space savings can occur, and the reason I refer to it as TransformHandler) it will simply rewrite the TranformID to a NullTransform and decrypt the payload. > I still think the system we have that allows any kind of (chained) > encryption of the Block and the Codec private data (ie everything that is > not part of the container) is flexible and secure enough. I could not locate any usable specification for it, and what I did find I broke several messages ago. > Also, we created EBML to avoid C-struct formats that have fixed length > elements at defined place and can hardly evolve. So please don't use that > kind of format to enhance matroska. I was just using the term because the correct one escaped me at the time, I expected that the format would be changed, format is largely irrelevant in cryptography, but contained and exposed data is critical. > You also mentioned adding a few bytes to each frame wouldn't change the > overhead much. But it actually does. A video Block (without the data) is > typically 5 long. And there are 130,000 ones for a full length video > track. So adding a few bytes increases the overhead a lot. That's why we > put information that is repeted a lot in headers. It is certainly an option to use the header for most of the information, but I should point out that a full length movie is 600+MB, and that a 4 byte (optional) overhead would represent only 1/2MB for an additional overhead of <0.08%. Since the header information is already assumed a repeated part of the block, if this is made explicit, and overridable at the block level, for the TransformHandler the overhead could be practically eliminated. I only placed in in the block for convenience. In fact each element could easily contain an (optional) DescendentTransformID to act as a default, but I don't know how useful this would be outside of the header. As you can probably see, I have no problem making even sweeping changes to the design, moving information around, etc, as long as the cryptographic features remain. > Other than that, if you agree on what I said, could you layout the > changes/additions you need in the specs, so that I can add them (and we > comment more first) ? I firmly believe we need more comments, #3 below was added just as a result of your reply. My proposed changes so far (the ones that have been largely discussed): 1) each element has an implicit TransformID, the implicit is NullTransform, explicit allows it to be changed. 2) an additional top-level or near top level (open to debate on placement) element for TranformInitializer. TransformInitializer is {TransformID, TransformName, InitializationData}. TransformID is a binary blob used to identify the transform later, fixed or dynamic size doesn't matter, TransformName is a unique name used in order to locate and load the transform handler, and InitializationData is the initialization data that is passed to the initialization of the transform. 3) The header (possibly others?) include an implicit DescendentHandlerID to provide the default HandlerID for Blocks 4) When there is a DescendentHandlerID in the Header associated with a Block, a TransformID in the Block takes precedence. 5) The transform handler (identified by TransformID) be allowed to alter it's element in any way. 6) TransformID 0 is always reserved for the NullTransform (i.e. does nothing except remove the TransformID from the element). It can be safely omitted from any location and is only useful for clarity. 7) If there are duplicate TransformIDs the decoder only needs to successfully initialize one of them, as such the encoder should locate the more specific ones earlier in the file, and the decoder should process the earlier file located ones first. Proposed but I think needs more discussion due to potential parsing issues 8) The transform handler be allowed to create siblings to it's element, useful if transform handler offers compression or inclusion from an outside file. There are also security implications from this, but they are obscure and convuluted enough to be ignored as they reduce to the same security implications as the ability to replace the transform handler Anything I missed? > Thanks in advance. I'd also like to thank everyone. This has evolved greatly from it's original inception and I feel we are making great progress towards something useful for everyone. Joe From amueller at itec.uni-klu.ac.at Thu Jan 26 11:30:51 2006 From: amueller at itec.uni-klu.ac.at (=?ISO-8859-1?Q?Armin_M=FCller?=) Date: Thu, 26 Jan 2006 11:30:51 +0100 Subject: [Matroska-devel] LibMatroska example question In-Reply-To: <43D7BCAC.2080609@free.fr> References: <1C2DF582-D3CA-45B5-B72B-D615B7F3C6C7@itec.uni-klu.ac.at> <43D7BCAC.2080609@free.fr> Message-ID: <0175E1D2-852F-430A-9067-36409F4372B7@itec.uni-klu.ac.at> Hi, I tried to adapt my muxing application to use pointers instead of the & in the variable definition, but i ran into troubles again. I read parts of the source code of VLC (which does not contain a matroska multiplexer) and mkvmerge. MkVMerge is a great application, but it is really hard to understand because of all the beatiful separation of functionallity into seperate modules. Doesn't there exist a simple sample application that only takes two files (audio and video) and multiplexes them into one matroska file. This programm should not have all the bells and whistles that e.g MkvMerge has, because of learning how to se the pure multiplexing in own applications. In my application I want to save two (or later more) streams interleaved (one video, one audio, one video, ...) into a matroska file. So I have a class MKIO that has a method bool writeFrame(Frame* frm, int trackId); I want to have all the necessary variables defined as class variables (KaxSegment, KaxTracks, ...) because I instantiate the Matroska Header on first writeFrame and then on each additional call of this method I "add" a Frame to the container (KaxCluster->AddFrame). So I have to have access to some variables, that need to keep their values throughout method calls. I follow this list quite some time and I notized that several people would need some simple sample applications for matroska with quite some good documentation (also inline code documentatio). I want to use Matroska as the main container format for our multimedia framework, because I think it offers a lot of features that allow us to store additional intormation (even as a kind of metadata serialization of our internal metadata structure). thanks and regards, Armin Am 25.01.2006 um 19:00 schrieb Steve Lhomme: > Hi Armin, > > Using global variables is usually a bad idea, even if that's the > easiest case. Your program won't be thread-safe and reentrant. In C+ > + you usually offer a method in your class to give access to this > variable, like : > KaxTracks & GetTracks(); > or > const KaxTracks & GetTracks() const; > > & will give you a reference to the object. That's like a pointer, > but you don't have to check if it's NULL. If you are not sure about > this syntax, just use pointers... > > I hope it helped. > Steve > > Armin M?ller wrote: >> Hi, >> i write a multiplexing module for our multimedia framework at >> university. >> So i took the example code for multiplexing from the libmatroska >> package (Linux). >> I have a class-method that does the multiplexing., this is where I >> call >> KaxTracks & MyTracks = GetChild(FileSegment); /* >> Filesegment is a KaxSegment */ >> now I need to have the variable MyTracks globally in my class >> available, so I have to declare it outside of this function. >> I tried: >> KaxTracks MyTracks; >> &MyTracks = GetChild(FileSegment); >> I also tried it without ampersand, but I don't understand this >> syntax. >> Can anyone show me how to declare the variable (globally) and then >> assign the return value of GetChild? >> thanks and regards, >> armin >> _______________________________________________ >> 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 > > -- > robUx4 on blog > > _______________________________________________ > 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 mike at po.cs.msu.su Thu Jan 26 12:05:17 2006 From: mike at po.cs.msu.su (Mike Matsnev) Date: Thu, 26 Jan 2006 14:05:17 +0300 Subject: [Matroska-devel] LibMatroska example question In-Reply-To: <0175E1D2-852F-430A-9067-36409F4372B7@itec.uni-klu.ac.at> References: <1C2DF582-D3CA-45B5-B72B-D615B7F3C6C7@itec.uni-klu.ac.at> <43D7BCAC.2080609@free.fr> <0175E1D2-852F-430A-9067-36409F4372B7@itec.uni-klu.ac.at> Message-ID: <20060126110517.GA15084@azog.po.cs.msu.su> On Thu, Jan 26, 2006 at 11:30:51AM +0100, Armin M?ller wrote: > I tried to adapt my muxing application to use pointers instead of the > & in the variable definition, but i ran into troubles again. > > I read parts of the source code of VLC (which does not contain a > matroska multiplexer) and mkvmerge. MkVMerge is a great application, > but it is really hard to understand because of all the beatiful > separation of functionallity into seperate modules. > > Doesn't there exist a simple sample application that only takes two > files (audio and video) and multiplexes them into one matroska file. > This programm should not have all the bells and whistles that e.g > MkvMerge has, because of learning how to se the pure multiplexing in > own applications. > > In my application I want to save two (or later more) streams > interleaved (one video, one audio, one video, ...) into a matroska > file. So I have a class MKIO that has a method > > bool writeFrame(Frame* frm, int trackId); > > > I want to have all the necessary variables defined as class variables > (KaxSegment, KaxTracks, ...) because I instantiate the Matroska > Header on first writeFrame and then on each additional call of this > method I "add" a Frame to the container (KaxCluster->AddFrame). So I > have to have access to some variables, that need to keep their values > throughout method calls. > > I follow this list quite some time and I notized that several people > would need some simple sample applications for matroska with quite > some good documentation (also inline code documentatio). > > I want to use Matroska as the main container format for our > multimedia framework, because I think it offers a lot of features > that allow us to store additional intormation (even as a kind of > metadata serialization of our internal metadata structure). You may want to take a look at x264 project, I've written a mini-muxer for it. It only supports one track atm, but extending it is fairly easy. It doesn't use libmatroska/libebml, but the API is much simpler. From a1muelle at edu.uni-klu.ac.at Thu Jan 26 14:02:43 2006 From: a1muelle at edu.uni-klu.ac.at (=?ISO-8859-1?Q?Armin_M=FCller?=) Date: Thu, 26 Jan 2006 14:02:43 +0100 Subject: [Matroska-devel] LibMatroska example question In-Reply-To: <20060126110517.GA15084@azog.po.cs.msu.su> References: <1C2DF582-D3CA-45B5-B72B-D615B7F3C6C7@itec.uni-klu.ac.at> <43D7BCAC.2080609@free.fr> <0175E1D2-852F-430A-9067-36409F4372B7@itec.uni-klu.ac.at> <20060126110517.GA15084@azog.po.cs.msu.su> Message-ID: <28D6AA05-15ED-4957-9385-B94862F0DDC7@edu.uni-klu.ac.at> Hi, I downloaded and tried the simple matroska muxer from the x264 project. It looks very promising, and i can read the code and I think I understand what it is doing. When calling int mk_writeHeader( mk_Writer *w, const char *writingApp, const char *codecID, const void *codecPrivate, unsigned codecPrivateSize, int64_t default_frame_duration, int64_t timescale, unsigned width, unsigned height, unsigned d_width, unsigned d_height ); I don't know what codecPrivate should look like. The usage of matroska in x264 shows how to use it, but there are two variables uint8_t *sps, *pps; and I don't know what they stand for and what values they contain. I hope I am not a nuisance to the list for such basic matroska questions. thanks and best regards, Armin Am 26.01.2006 um 12:05 schrieb Mike Matsnev: > On Thu, Jan 26, 2006 at 11:30:51AM +0100, Armin M?ller wrote: >> I tried to adapt my muxing application to use pointers instead of the >> & in the variable definition, but i ran into troubles again. >> >> I read parts of the source code of VLC (which does not contain a >> matroska multiplexer) and mkvmerge. MkVMerge is a great application, >> but it is really hard to understand because of all the beatiful >> separation of functionallity into seperate modules. >> >> Doesn't there exist a simple sample application that only takes two >> files (audio and video) and multiplexes them into one matroska file. >> This programm should not have all the bells and whistles that e.g >> MkvMerge has, because of learning how to se the pure multiplexing in >> own applications. >> >> In my application I want to save two (or later more) streams >> interleaved (one video, one audio, one video, ...) into a matroska >> file. So I have a class MKIO that has a method >> >> bool writeFrame(Frame* frm, int trackId); >> >> >> I want to have all the necessary variables defined as class variables >> (KaxSegment, KaxTracks, ...) because I instantiate the Matroska >> Header on first writeFrame and then on each additional call of this >> method I "add" a Frame to the container (KaxCluster->AddFrame). So I >> have to have access to some variables, that need to keep their values >> throughout method calls. >> >> I follow this list quite some time and I notized that several people >> would need some simple sample applications for matroska with quite >> some good documentation (also inline code documentatio). >> >> I want to use Matroska as the main container format for our >> multimedia framework, because I think it offers a lot of features >> that allow us to store additional intormation (even as a kind of >> metadata serialization of our internal metadata structure). > You may want to take a look at x264 project, I've written a mini-muxer > for it. It only supports one track atm, but extending it is fairly > easy. It doesn't use libmatroska/libebml, but the API is much > simpler. > _______________________________________________ > 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 mike at po.cs.msu.su Thu Jan 26 15:13:12 2006 From: mike at po.cs.msu.su (Mike Matsnev) Date: Thu, 26 Jan 2006 17:13:12 +0300 Subject: [Matroska-devel] LibMatroska example question In-Reply-To: <28D6AA05-15ED-4957-9385-B94862F0DDC7@edu.uni-klu.ac.at> References: <1C2DF582-D3CA-45B5-B72B-D615B7F3C6C7@itec.uni-klu.ac.at> <43D7BCAC.2080609@free.fr> <0175E1D2-852F-430A-9067-36409F4372B7@itec.uni-klu.ac.at> <20060126110517.GA15084@azog.po.cs.msu.su> <28D6AA05-15ED-4957-9385-B94862F0DDC7@edu.uni-klu.ac.at> Message-ID: <20060126141312.GA16113@azog.po.cs.msu.su> On Thu, Jan 26, 2006 at 02:02:43PM +0100, Armin M?ller wrote: > I downloaded and tried the simple matroska muxer from the x264 > project. It looks very promising, and i can read the code and I think > I understand what it is doing. > > When calling > > int mk_writeHeader( mk_Writer *w, const char *writingApp, > const char *codecID, > const void *codecPrivate, unsigned > codecPrivateSize, > int64_t default_frame_duration, > int64_t timescale, > unsigned width, unsigned height, > unsigned d_width, unsigned d_height ); > > I don't know what codecPrivate should look like. > > The usage of matroska in x264 shows how to use it, but there are two > variables > > uint8_t *sps, *pps; > > and I don't know what they stand for and what values they contain. > > I hope I am not a nuisance to the list for such basic matroska > questions. Many video codecs require some initialization data that is stored separately from video frames. For mpeg codecs it's a sequence header/VOL/sequence parameter set/etc, for others it's some opaque data with unpublished format that is provided by encoder and required by decoder. More details at http://haali.cs.msu.ru/mkv/codecs.pdf From mike at po.cs.msu.su Thu Jan 26 16:10:51 2006 From: mike at po.cs.msu.su (Mike Matsnev) Date: Thu, 26 Jan 2006 18:10:51 +0300 Subject: [Matroska-devel] Re: Haali =?utf-8?Q?M?= =?utf-8?B?ZWRpYSBTcGxpdHRlciDQuNGB0YPQsdGC0LjRgtGA0YvQsiAubXA0INC+?= =?utf-8?B?0YI=?= mp4box In-Reply-To: References: Message-ID: <20060126151051.GB16113@azog.po.cs.msu.su> On Sat, Jan 21, 2006 at 12:17:53AM +0300, Skaarj_ wrote: > ??? ??????? ? ????????? ????????. ? ??? ??????? ??? ?? ? ?????????? ?? ? > Chapters ? Editions. > > ?????????? ? ???? ???? ???? ???? ???????? ? Haali > > 1- ?????? ???? ?? ????????, ?????? ???? ????? "Autor", ???? ??????? ??? ?? > ????? ?? ??? ????????? (? ?? ??? ? ????? ?????? :), ?? ??????? ????? > ??????? ????? ???????????? ??? ?????? ? HaaliSplitter`e, ? ??? ????? ? > ????????? ?????. ? ??? ??? ?????? "????????"? > > 2- ????? ?? ? ??????? ?????? ????????? ???????????? ? ???????? ?????? > ????? ????????? ????????? ???????? (??? ? Matroska Prop), ? ?? ? > ??????????? ? ???????? ?????? n-?? ????? ??? ????????? ???????? ??????. ?????? ???????????? ??????. From jcsston at jory.info Thu Jan 26 18:48:06 2006 From: jcsston at jory.info (Jory Stone) Date: Thu, 26 Jan 2006 11:48:06 -0600 (CST) Subject: [Matroska-devel] LibMatroska example question In-Reply-To: <0175E1D2-852F-430A-9067-36409F4372B7@itec.uni-klu.ac.at> References: <1C2DF582-D3CA-45B5-B72B-D615B7F3C6C7@itec.uni-klu.ac.at> <43D7BCAC.2080609@free.fr> <0175E1D2-852F-430A-9067-36409F4372B7@itec.uni-klu.ac.at> Message-ID: <33662.127.0.0.1.1138297686.squirrel@debian> For a simple muxer using libmatroska/libebml you can look at the mkvwriter source code. http://svn.matroska.org/viewsvn/trunk/mkvwriter/ The MatroskaMuxer.cpp/h files are the ones you are most likely interesting in. I've designed to be very simple to use, and it should be easy to use in any app (just depends on libmatroska/ebml and STL). Thanks, Jory > Hi, > > I tried to adapt my muxing application to use pointers instead of the > & in the variable definition, but i ran into troubles again. > > I read parts of the source code of VLC (which does not contain a > matroska multiplexer) and mkvmerge. MkVMerge is a great application, > but it is really hard to understand because of all the beatiful > separation of functionallity into seperate modules. > > Doesn't there exist a simple sample application that only takes two > files (audio and video) and multiplexes them into one matroska file. > This programm should not have all the bells and whistles that e.g > MkvMerge has, because of learning how to se the pure multiplexing in > own applications. > > In my application I want to save two (or later more) streams > interleaved (one video, one audio, one video, ...) into a matroska > file. So I have a class MKIO that has a method > > bool writeFrame(Frame* frm, int trackId); > > > I want to have all the necessary variables defined as class variables > (KaxSegment, KaxTracks, ...) because I instantiate the Matroska > Header on first writeFrame and then on each additional call of this > method I "add" a Frame to the container (KaxCluster->AddFrame). So I > have to have access to some variables, that need to keep their values > throughout method calls. > > I follow this list quite some time and I notized that several people > would need some simple sample applications for matroska with quite > some good documentation (also inline code documentatio). > > I want to use Matroska as the main container format for our > multimedia framework, because I think it offers a lot of features > that allow us to store additional intormation (even as a kind of > metadata serialization of our internal metadata structure). > > thanks and regards, > Armin > > Am 25.01.2006 um 19:00 schrieb Steve Lhomme: > >> Hi Armin, >> >> Using global variables is usually a bad idea, even if that's the >> easiest case. Your program won't be thread-safe and reentrant. In C+ >> + you usually offer a method in your class to give access to this >> variable, like : >> KaxTracks & GetTracks(); >> or >> const KaxTracks & GetTracks() const; >> >> & will give you a reference to the object. That's like a pointer, >> but you don't have to check if it's NULL. If you are not sure about >> this syntax, just use pointers... >> >> I hope it helped. >> Steve >> >> Armin M?ller wrote: >>> Hi, >>> i write a multiplexing module for our multimedia framework at >>> university. >>> So i took the example code for multiplexing from the libmatroska >>> package (Linux). >>> I have a class-method that does the multiplexing., this is where I >>> call >>> KaxTracks & MyTracks = GetChild(FileSegment); /* >>> Filesegment is a KaxSegment */ >>> now I need to have the variable MyTracks globally in my class >>> available, so I have to declare it outside of this function. >>> I tried: >>> KaxTracks MyTracks; >>> &MyTracks = GetChild(FileSegment); >>> I also tried it without ampersand, but I don't understand this >>> syntax. >>> Can anyone show me how to declare the variable (globally) and then >>> assign the return value of GetChild? >>> thanks and regards, >>> armin >>> _______________________________________________ >>> 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 >> >> -- >> robUx4 on blog >> >> _______________________________________________ >> 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 >> > > _______________________________________________ > 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 paul at msn.com Thu Jan 26 21:35:08 2006 From: paul at msn.com (Paul Bryson) Date: Thu, 26 Jan 2006 14:35:08 -0600 Subject: [Matroska-devel] Re: Compromise Encryption Proposal References: <43D7172F.4020904@free.fr> Message-ID: "Joseph Ashwood" wrote... > From: "Steve Lhomme" >> You also mentioned adding a few bytes to each frame wouldn't change the >> overhead much. But it actually does. A video Block (without the data) is >> typically 5 long. And there are 130,000 ones for a full length video >> track. So adding a few bytes increases the overhead a lot. That's why we >> put information that is repeted a lot in headers. > > It is certainly an option to use the header for most of the information, > but I should point out that a full length movie is 600+MB, and that a 4 > byte (optional) overhead would represent only 1/2MB for an additional > overhead of <0.08%. Since the header information is already assumed a > repeated part of the block, if this is made explicit, and overridable at > the block level, for the TransformHandler the overhead could be > practically eliminated. I only placed in in the block for convenience. In > fact each element could easily contain an (optional) DescendentTransformID > to act as a default, but I don't know how useful this would be outside of > the header. The size of a full length movie can be very relative, especially where most video encryption occurs on very low bitrate streamable video. Regardless, I would suspect that the overhead of a few bytes/frame is within the realm of acceptable to people that need encryption/DRM. I would strongly resist the temptation to change the basic structure of the how the format works right now. I'm guessing this would require a lot of rewrite of current parsers to support instead of possibly adding another layer for data to pass through. It sounds like the primary reason you want to add this is to prevent "hints" from being given away by context of the container. If I wanted to obfuscate the contained data a little more to prevent a vulnerability, I would probably start by adding random data onto the beginning of encrypted blocks. For instance, In the header, I would encrypt a random number of random bytes. [68][3f][12] Then at the beginning of every encrypted block, I would add a random amount random data that is terminated by one of these three random bytes. [3a][45][56][85][12][08][3f][a3][2c] In this example, the real data would be [a3][2c]. So any block of data would be prefaced by one to any number of random bytes. Blocks of data could also be followed by random data in the same manner. Once encrypted, it would be impossible to know for sure the exact length, or position of specific data within the encrypted section. Once decrypted, you can read the terminating bytes that were encrypted in the header and easily remove the random junk. This would all be part of whatever encryption "codec" and not part of the spec itself. In my mind, it seems like this would remove most serious attacks by hints from the container as you are unsure exactly what any of the decrypted data should look like. However, I don't know anything of worth about encryption, so I could be completely wrong. Atamido From ashwood at msn.com Fri Jan 27 01:46:05 2006 From: ashwood at msn.com (Joseph Ashwood) Date: Thu, 26 Jan 2006 16:46:05 -0800 Subject: [Matroska-devel] Re: Compromise Encryption Proposal References: <43D7172F.4020904@free.fr> Message-ID: Before I begin I'm going to start to use the more precise auth^2 and auth^3 terminology. these refer to User Authentication and User Authorization in the case of auth^2, and User Authentication, User Authorization and File Authentication in the case of auth^3. As we are getting deeper into the design more precision is becoming necessary. ----- Original Message ----- From: "Paul Bryson" Subject: [Matroska-devel] Re: Compromise Encryption Proposal > I would strongly resist the temptation to change the basic structure of > the how the format works right now. I'm guessing this would require a lot > of rewrite of current parsers to support instead of possibly adding > another layer for data to pass through. I've agonized over this myself for quite some time, here's the conclusion I reached. The current generation of parsers will still work with my proposal, they just won't be able to play DRMd files, which is kind of the point of DRM, so it doesn't really cange anything since everything I've requested is optional, with implied values that make no difference (e.g. NullTransform). Additionally, it is entirely possible that VLC and Haali's Splitter (as far as I can tell the most popular splitters) will never support DRM, for any number of reasons outside of technology. For this reason, it is my opinion that it does not actually change anything for the current parsers, unless they choose to support the auth^3 design. > It sounds like the primary reason you want to add this is to prevent > "hints" from being given away by context of the container. Actually, most of this is to push from auth^2 required for DRM, to auth^3 required for auditing. This move is useful in only limited context, and is why I implied, but did not state openly as I am now, that only very high end splitters/decoders would need to be able to handle the reinterpretation portion. Such splitters would only be necesary for audit viewing purposes, and the ability to use a standard format with public analysis of the security makes this far more usable. As a major side benefit, the auth^3 model can actually prevent attacks on the splitter, as the splitter can be written to only process authenticated files. Joe From Skaarj_ at mail.ru Fri Jan 27 21:57:13 2006 From: Skaarj_ at mail.ru (Skaarj_) Date: Fri, 27 Jan 2006 23:57:13 +0300 Subject: [Matroska-devel] Re: =?koi8-r?b?UmU6IEhhYWxpIE1lZGlhIFNwbGl0dGVyIMnT1cLUydTS2dcg?= =?koi8-r?b?Lm1wNCDP1CBtcDRib3g=?= References: <20060126151051.GB16113@azog.po.cs.msu.su> Message-ID: ? ????? ???????? ????????????, ??? ??????. ?? ???????? ? ?????? MPC ????? ???? ????????????. ? ?? ???? ??????????? ????? ??? ???????????? ?????? "ARTIST", ?? ? ??? "Tile" ??? ? ????????? ?????. ??????? ??? ? ?????? ??????? ????? ???????????? ??? ???? ? ??????? ????, ??? ???????? ??????????? ???? ? ????????? ??????????????? ??????? ???? All My Movies, ? ????? ??? ???? ? ????????? ????? (??? ? ????????? ?????) ? ?????? ????? ??????? ??????????? ???? ? ?????, ? ?????? ?? ??????, ???? ?????? ??? ? ???????. ??? ??? ?? ??????? ??? ??????? ????????????? ????? ???? ??????? , ????? ??? ?????? ??????????? (???????? ?? ?????? MatroskaDiag - ???????? ???????? ????? ???? ??????, ? ???? ????????) ?? ? ???? ??????????? ??????? ???????, ??? ????? ????????? ???????? ? ????????????? ????? ????????? ??????????. -- ?????????? M2, ????????????? ???????? ?????????? Opera: http://www.opera.com/mail/ From mike at po.cs.msu.su Fri Jan 27 23:17:42 2006 From: mike at po.cs.msu.su (Mike Matsnev) Date: Sat, 28 Jan 2006 01:17:42 +0300 Subject: =?KOI8-R?Q?Re=3A_=5BMatroska-devel=5D_Re=3A_Re=3A_Haali_?= =?KOI8-R?Q?Media_Splitter_=C9=D3=D5=C2=D4=C9=D4=D2=D9=D7_=2Emp4_?= =?KOI8-R?Q?=CF=D4_mp4box?= In-Reply-To: References: <20060126151051.GB16113@azog.po.cs.msu.su> Message-ID: <43DA9C06.8070106@po.cs.msu.su> Skaarj_ wrote: > ? ????? ???????? ????????????, ??? ??????. > > ?? ???????? ? ?????? MPC ????? ???? ????????????. > ? ?? ???? ??????????? ????? ??? ???????????? ?????? "ARTIST", ?? ? ??? > "Tile" ??? ? ????????? ?????. ??? ??? ????? ???????????? - ??? ???????? ????????? ????? IAMMediaContent, ???? ????? ?????????? ? MPC ? ?????? ????, ?? ???? ?????? ????? ??? ????? ???????. > ??????? ??? ? ?????? ??????? ????? ???????????? ??? ???? ? ??????? ????, > ??? ???????? ??????????? ???? ? ????????? ??????????????? ??????? ???? > All My Movies, ? ????? ??? ???? ? ????????? ????? (??? ? ????????? > ?????) ? ?????? ????? ??????? ??????????? ???? ? ?????, ? ?????? ?? > ??????, ???? ?????? ??? ? ???????. ??? ??? ???????????? ? ?????????? (???????? ???????, ??????????). > ??? ??? ?? ??????? ??? ??????? ????????????? ????? ???? ??????? , ????? > ??? ?????? ??????????? (???????? ?? ?????? MatroskaDiag - ???????? > ???????? ????? ???? ??????, ? ???? ????????) > ?? ? ???? ??????????? ??????? ???????, ??? ????? ????????? ???????? ? > ????????????? ????? ????????? ??????????. ???? ??? ????????????? ???????????????? ? ????. From paul at msn.com Sat Jan 28 00:27:35 2006 From: paul at msn.com (Paul Bryson) Date: Fri, 27 Jan 2006 17:27:35 -0600 Subject: [Matroska-devel] Re: Re: Compromise Encryption Proposal References: <43D7172F.4020904@free.fr> Message-ID: "Joseph Ashwood" wrote... > Actually, most of this is to push from auth^2 required for DRM, to auth^3 > required for auditing. This move is useful in only limited context, and is > why I implied, but did not state openly as I am now, that only very high > end splitters/decoders would need to be able to handle the > reinterpretation portion. Such splitters would only be necesary for audit > viewing purposes, and the ability to use a standard format with public > analysis of the security makes this far more usable. As a major side > benefit, the auth^3 model can actually prevent attacks on the splitter, as > the splitter can be written to only process authenticated files. If the primary purpose it to authenticate the file, why not just sign the product file and verify the signing before playback? Atamido From ashwood at msn.com Sat Jan 28 01:00:41 2006 From: ashwood at msn.com (Joseph Ashwood) Date: Fri, 27 Jan 2006 16:00:41 -0800 Subject: [Matroska-devel] Re: Re: Compromise Encryption Proposal References: <43D7172F.4020904@free.fr> Message-ID: "Paul Bryson" wrote in message news:drea7u$vb1$1 at sea.gmane.org... > "Joseph Ashwood" wrote... >> Actually, most of this is to push from auth^2 required for DRM, to auth^3 >> required for auditing. This move is useful in only limited context, and >> is why I implied, but did not state openly as I am now, that only very >> high end splitters/decoders would need to be able to handle the >> reinterpretation portion. Such splitters would only be necesary for audit >> viewing purposes, and the ability to use a standard format with public >> analysis of the security makes this far more usable. As a major side >> benefit, the auth^3 model can actually prevent attacks on the splitter, >> as the splitter can be written to only process authenticated files. > > If the primary purpose it to authenticate the file, why not just sign the > product file and verify the signing before playback? For the same reason that IT audit logs aren't built that way. If you wait until the file is completed then the window of opportunity to alter the file undetectably is the entire creation time. In the case of say a video from a bank it is entirely conceivable that same file could be for an entire month, this would represent an enormous security risk. Instead the file is signed in smaller pieces, perhaps per second or minute. Done properly it becomes impossible to edit the past without detection. Before it is asked, a later unification signature is not functionable either, because it extends the window of exposure until the unification signature is performed. Joe From paul at msn.com Sat Jan 28 08:09:52 2006 From: paul at msn.com (Paul Bryson) Date: Sat, 28 Jan 2006 01:09:52 -0600 Subject: [Matroska-devel] Re: Re: Re: Compromise Encryption Proposal References: <43D7172F.4020904@free.fr> Message-ID: "Joseph Ashwood" wrote... > For the same reason that IT audit logs aren't built that way. If you wait > until the file is completed then the window of opportunity to alter the > file undetectably is the entire creation time. In the case of say a video > from a bank it is entirely conceivable that same file could be for an > entire month, this would represent an enormous security risk. Instead the > file is signed in smaller pieces, perhaps per second or minute. Done > properly it becomes impossible to edit the past without detection. The current Matroska signing element allows signing only certain parts. You could for instance, sign every cluster individually. The length of time in a cluster can vary to the creator's settings, but typical might be 5 seconds. Atamido From lrn at land.ru Sat Jan 28 18:43:33 2006 From: lrn at land.ru (LRN) Date: Sat, 28 Jan 2006 17:43:33 +0000 (UTC) Subject: [Matroska-devel] Re: Haali Media =?utf-8?b?U3BsaXR0ZXIJ0LjRgdGD0LHRgtC40YLRgNGL?= =?utf-8?b?0LI=?= .mp4 =?utf-8?b?0L7Rgg==?= mp4box References: Message-ID: ???? ??????? ?? ??????, ? ?? ????? ??????. ??????????? ??????? ? ?????????, ??? ???????? ????????????? - ?? ?????? ?? ????????????? ??????? (? ?????? ??????? ?? ?????????? ??????). ? ???? ?????? ???????? ?????? ?????????. ?????? ?????? ? ???????? ?????? 10 ?????. ??????, ??? ????? ?? ??????? ? Haali Media Splitter'??, ??? ??? ?????, ??? ??????????? :) ???? ?????? ??????? ?? ?????? ????????????? mp4box'?. From chris at matroska.org Sun Jan 29 09:02:43 2006 From: chris at matroska.org (Christian HJ Wiesner) Date: Sun, 29 Jan 2006 09:02:43 +0100 Subject: [Matroska-devel] Gst win32 , was : DirectX sinks for Windows status In-Reply-To: <1122042729.9226.20.camel@localhost.localdomain> References: <1122042729.9226.20.camel@localhost.localdomain> Message-ID: <43DC76A3.1040509@matroska.org> Michal, anything new we could help testing ? Christian matroska project admin Michal Benes schrieb: >Hello everybody (interested), > > I am sending a new status report about sinks for Windows. At last, I >had success and I was able build working audio and video sink. You can >find all the information at the new project page >http://gstreamer.xeris.cz/ > > Also, we have a first working video player for Windows based on >GStreamer framework, check screenshots at >http://gstreamer.xeris.cz/ixion.html > > As I am neither DirectX nor GStreamer expert, I would welcome any help >from you. > > First of all, the GStreamer port to Windows seems to be quite unstable, >I suspect there may be some problems with the assembler code in >GStreamer and plugins. I am using MinGW with GCC 3.4.2 (are there any >known issues?). > > My next project is to fill the Windows related bugs to bugzilla. > > And once more: any feedback is welcomed. > > Regards > > Michal > > > > > From chris at matroska.org Sun Jan 29 09:27:38 2006 From: chris at matroska.org (Christian HJ Wiesner) Date: Sun, 29 Jan 2006 09:27:38 +0100 Subject: [Matroska-devel] Re: USF playback support on Linux In-Reply-To: <42F674F4.4090906@matroska.org> References: <42F674F4.4090906@matroska.org> Message-ID: <43DC7C7A.8020507@matroska.org> Guys, any progress on pixishow for Linux ? Christian HJ Wiesner schrieb: > Hi devs, > i was talking with BBB of the Gstreamer team about if they could use > pixifier in some form. He made clear to me that a DELPHI library is of > no use at all, it had to be C/C++ and with the correct language entry > points. > I was thinking maybe we could somehow make and use a DLL from > pixifier, but BBB denied that. He thinks not even a SO file would > help, even if there was a usable DELPHI compiler for Linux already. > In short, we need to rewrite pixifier in C or C++, so that USF could > conquer the Linux world, and thus could gain a significant advantage > compared to SSA/ASS. And BTW, only gstreamer 0.8.0 could have > subtitles support right now. 0.9.0 does not have subs support right > now, they are still fighting how its going to look. > Regards > Christian > From spawn666 at xs4all.nl Sun Jan 29 10:17:40 2006 From: spawn666 at xs4all.nl (Vincent Jansen) Date: Sun, 29 Jan 2006 10:17:40 +0100 Subject: [Matroska-devel] unable to play strange MKV version, x264 ??? Message-ID: <200601290917.k0T9HnoD017611@smtp-vbr8.xs4all.nl> Hello, I am not sure is this is the right way to contact ore ask a question. If not, a very sorry. I recently discovered the mkv files for my self, so I am very new at this. My problem is that I have a mkv file that I can not seem to run. The is audio but no video. I found in the nfo file that it needs a x264 codac version. I download and installed x264 codac pack but no result. Could you tell me how to solve this problem. Thank you very much for reading this mail, Greetings Vincent -------------- next part -------------- An HTML attachment was scrubbed... URL: From stephan at matroska.org Sun Jan 29 14:00:06 2006 From: stephan at matroska.org (Stephan Verhoeven) Date: Sun, 29 Jan 2006 14:00:06 +0100 Subject: [Matroska-devel] unable to play strange MKV version, x264 ??? In-Reply-To: <200601290917.k0T9HnoD017611@smtp-vbr8.xs4all.nl> References: <200601290917.k0T9HnoD017611@smtp-vbr8.xs4all.nl> Message-ID: <43DCBC56.5080800@matroska.org> install latest ffdshow from here --> http://ffdshow.sourceforge.net/tikiwiki/tiki-index.php?page=Getting+ffdshow&PHPSESSID=5ef42d64295e229ce1fbb8f04241e26e and make sure that "h264 decoding" is enabled. (you can check this during installation) Vincent Jansen wrote: > Hello, > > > > I am not sure is this is the right way to contact ore ask a question. > > If not, a very sorry. > > I recently discovered the mkv files for my self, so I am very new at this. > > My problem is that I have a mkv file that I can not seem to run. > > The is audio but no video. I found in the nfo file that it needs a > x264 codac version. I download and installed x264 codac pack but no > result. > > Could you tell me how to solve this problem. > > Thank you very much for reading this mail, > > > > Greetings > > > > Vincent > >------------------------------------------------------------------------ > >_______________________________________________ >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 michal.benes at xeris.cz Mon Jan 30 10:48:18 2006 From: michal.benes at xeris.cz (Michal Benes) Date: Mon, 30 Jan 2006 10:48:18 +0100 Subject: [Matroska-devel] Re: Gst win32 , was : DirectX sinks for Windows status In-Reply-To: <43DC76A3.1040509@matroska.org> References: <1122042729.9226.20.camel@localhost.localdomain> <43DC76A3.1040509@matroska.org> Message-ID: <1138614498.6241.23.camel@localhost.localdomain> Hi Christian, we, here in Itonis (formerly Xeris) have tested GStreamer 0.10 compilation using MinGW. Our know how is recored at: http://gstreamer.xeris.cz/winport/winport.html there is also a snapshot of our MinGW root directory including all needed prerequisities. You will surely find some thing can be done better - do not hesitate to send us improved version of the document. Sources of DirectX sinks (much work was done by Sebastien Moutte) for 0.10 can be found at http://gstreamer.xeris.cz/winsinks/winsinks.html and a quick port of Ixion player can be downloaded at http://gstreamer.xeris.cz/ixion/ixion.html (it is still not a full port, some thing do not work correctly) The problem is that our build is quite unstable (though the situation is better than with 0.8). I have not done much for debugging the issues (may be disable gcc optimization or use only -O1). Our company has recently changed our focus to set-top-box solution and we can not invest much time PC player in the moment. I can try to help with some issues in my spare time but I am not much personally interested in Windows too. But there have been some posts about gst+win on gstreamer-devel recently, there are other people who are trying to bring gst to win. Sorry for not so good news, Michal Christian HJ Wiesner p??e v Ne 29. 01. 2006 v 09:02 +0100: > > Michal, > > anything new we could help testing ? > > Christian > matroska project admin > > Michal Benes schrieb: > > >Hello everybody (interested), > > > > I am sending a new status report about sinks for Windows. At last, I > >had success and I was able build working audio and video sink. You can > >find all the information at the new project page > >http://gstreamer.xeris.cz/ > > > > Also, we have a first working video player for Windows based on > >GStreamer framework, check screenshots at > >http://gstreamer.xeris.cz/ixion.html > > > > As I am neither DirectX nor GStreamer expert, I would welcome any help > >from you. > > > > First of all, the GStreamer port to Windows seems to be quite unstable, > >I suspect there may be some problems with the assembler code in > >GStreamer and plugins. I am using MinGW with GCC 3.4.2 (are there any > >known issues?). > > > > My next project is to fill the Windows related bugs to bugzilla. > > > > And once more: any feedback is welcomed. > > > > Regards > > > > Michal > > > > > > > > > > > From michal.benes at xeris.cz Mon Jan 30 13:03:51 2006 From: michal.benes at xeris.cz (Michal Benes) Date: Mon, 30 Jan 2006 13:03:51 +0100 Subject: [Matroska-devel] Re: [gst-devel] Re: Gst win32 , was : DirectX sinks for Windows status In-Reply-To: <43DDF4E0.70304@moutte.net> References: <1122042729.9226.20.camel@localhost.localdomain> <43DC76A3.1040509@matroska.org> <1138614498.6241.23.camel@localhost.localdomain> <43DDE88E.3030006@moutte.net> <1138617442.6241.40.camel@localhost.localdomain> <43DDF4E0.70304@moutte.net> Message-ID: <1138622631.6241.43.camel@localhost.localdomain> Hi Sebastien, these were just random mpeg4 video + mp3 audio files. I will recheck this once I reboot to Windows and send you more info. Michal > > The crashes occur randomly during playback using both Ixion player and > >gst-launch + decodebin. > > > > > > > That's really strange, could you send me a file and the pipeline you use > with gst-launch to play it ? > I would prefer a pipeline using base plugins (ogg vorbis/theora) if you > are getting crashes with it, as i've already these plugins built in > debug with vs6... > I'll test in the same condition but with the binaries built with vs6, > trying to reproduce your crash and debug. > Thanks, > Sebastien From sebastien at moutte.net Mon Jan 30 11:21:02 2006 From: sebastien at moutte.net (=?ISO-8859-2?Q?S=E9bastien_Moutte?=) Date: Mon, 30 Jan 2006 11:21:02 +0100 Subject: [Matroska-devel] Re: [gst-devel] Re: Gst win32 , was : DirectX sinks for Windows status In-Reply-To: <1138614498.6241.23.camel@localhost.localdomain> References: <1122042729.9226.20.camel@localhost.localdomain> <43DC76A3.1040509@matroska.org> <1138614498.6241.23.camel@localhost.localdomain> Message-ID: <43DDE88E.3030006@moutte.net> Hi Michal, Michal Benes wrote: >Hi Christian, > > we, here in Itonis (formerly Xeris) have tested GStreamer 0.10 >compilation using MinGW. Our know how is recored at: >http://gstreamer.xeris.cz/winport/winport.html >there is also a snapshot of our MinGW root directory including all >needed prerequisities. You will surely find some thing can be done >better - do not hesitate to send us improved version of the document. > > Sources of DirectX sinks (much work was done by Sebastien Moutte) for >0.10 can be found at http://gstreamer.xeris.cz/winsinks/winsinks.html >and a quick port of Ixion player can be downloaded at >http://gstreamer.xeris.cz/ixion/ixion.html >(it is still not a full port, some thing do not work correctly) > > The problem is that our build is quite unstable (though the situation >is better than with 0.8). I have not done much for debugging the issues >(may be disable gcc optimization or use only -O1). Our company has >recently changed our focus to set-top-box solution and we can not invest >much time PC player in the moment. I can try to help with some issues in >my spare time but I am not much personally interested in Windows too. > > What kinds of problems have you encountered to say that the build is quite unstable ? does it crash at any time or during negociation or state transitions ? May be the crashes are related to some debugs as msvcrt.dll doesn't support NULL parameters in printf arguments ... I'll commit some changes to fix that because actually we can't use debug level 5 on windows from cvs. Actually, i have not tested a lot of differents pipelines with gstreamer on Windows, but the ones i have tested were working fine. Here i'm talking about the binaries i'm building with vs6 but i'm using binaries built with mingw+gcc for dependencies. I ran some pipelines for ogg theora/vorbis playback, and i've concluded the core is quite stable on Windows (i mean once the printf problems are solved)... > But there have been some posts about gst+win on gstreamer-devel >recently, there are other people who are trying to bring gst to win. > > Sorry for not so good news, > > Michal > > > >Christian HJ Wiesner p??e v Ne 29. 01. 2006 v 09:02 +0100: > > >>Michal, >> >>anything new we could help testing ? >> >>Christian >>matroska project admin >> >>Michal Benes schrieb: >> >> >> >>>Hello everybody (interested), >>> >>> I am sending a new status report about sinks for Windows. At last, I >>>had success and I was able build working audio and video sink. You can >>>find all the information at the new project page >>>http://gstreamer.xeris.cz/ >>> >>> Also, we have a first working video player for Windows based on >>>GStreamer framework, check screenshots at >>>http://gstreamer.xeris.cz/ixion.html >>> >>> As I am neither DirectX nor GStreamer expert, I would welcome any help >>> >>> >>>from you. >> >> >>> First of all, the GStreamer port to Windows seems to be quite unstable, >>>I suspect there may be some problems with the assembler code in >>>GStreamer and plugins. I am using MinGW with GCC 3.4.2 (are there any >>>known issues?). >>> >>> My next project is to fill the Windows related bugs to bugzilla. >>> >>> And once more: any feedback is welcomed. >>> >>> Regards >>> >>> Michal >>> >>> >>> >>> >>> >>> >>> > > > >------------------------------------------------------- >This SF.net email is sponsored by: Splunk Inc. Do you grep through log files >for problems? Stop! Download the new AJAX search engine that makes >searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! >http://sel.as-us.falkag.net/sel?cmd=k&kid3432&bid#0486&dat1642 >_______________________________________________ >gstreamer-devel mailing list >gstreamer-devel at lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > From michal.benes at itonis.tv Mon Jan 30 11:37:22 2006 From: michal.benes at itonis.tv (Michal Benes) Date: Mon, 30 Jan 2006 11:37:22 +0100 Subject: [Matroska-devel] Re: [gst-devel] Re: Gst win32 , was : DirectX sinks for Windows status In-Reply-To: <43DDE88E.3030006@moutte.net> References: <1122042729.9226.20.camel@localhost.localdomain> <43DC76A3.1040509@matroska.org> <1138614498.6241.23.camel@localhost.localdomain> <43DDE88E.3030006@moutte.net> Message-ID: <1138617442.6241.40.camel@localhost.localdomain> Hi Sebastien, > > The problem is that our build is quite unstable (though the situation > >is better than with 0.8). I have not done much for debugging the issues > >(may be disable gcc optimization or use only -O1). Our company has > >recently changed our focus to set-top-box solution and we can not invest > >much time PC player in the moment. I can try to help with some issues in > >my spare time but I am not much personally interested in Windows too. > > > > > What kinds of problems have you encountered to say that the build is > quite unstable ? > does it crash at any time or during negociation or state transitions ? The crashes occur randomly during playback using both Ixion player and gst-launch + decodebin. > May be the crashes are related to some debugs as msvcrt.dll doesn't > support NULL parameters in printf arguments ... Oh, I did not knew about this. I will recheck this, but I do not think this is the only problem. > I'll commit some changes to fix that because actually we can't use debug > level 5 on windows from cvs. > > Actually, i have not tested a lot of differents pipelines with gstreamer > on Windows, but the ones i have tested were working fine. > Here i'm talking about the binaries i'm building with vs6 but i'm using > binaries built with mingw+gcc for dependencies. > I ran some pipelines for ogg theora/vorbis playback, and i've concluded > the core is quite stable on Windows (i mean once the printf problems are > solved)... We will probably need some testing by people who can use gdb and give proper debug info. As I said, I have not debugged this much (the beast was stable when started from gdb) and I can not invest much time to this in the moment. Michal From sebastien at moutte.net Mon Jan 30 12:13:36 2006 From: sebastien at moutte.net (=?ISO-8859-1?Q?S=E9bastien_Moutte?=) Date: Mon, 30 Jan 2006 12:13:36 +0100 Subject: [Matroska-devel] Re: [gst-devel] Re: Gst win32 , was : DirectX sinks for Windows status In-Reply-To: <1138617442.6241.40.camel@localhost.localdomain> References: <1122042729.9226.20.camel@localhost.localdomain> <43DC76A3.1040509@matroska.org> <1138614498.6241.23.camel@localhost.localdomain> <43DDE88E.3030006@moutte.net> <1138617442.6241.40.camel@localhost.localdomain> Message-ID: <43DDF4E0.70304@moutte.net> Michal Benes wrote: >Hi Sebastien, > > > >>> The problem is that our build is quite unstable (though the situation >>>is better than with 0.8). I have not done much for debugging the issues >>>(may be disable gcc optimization or use only -O1). Our company has >>>recently changed our focus to set-top-box solution and we can not invest >>>much time PC player in the moment. I can try to help with some issues in >>>my spare time but I am not much personally interested in Windows too. >>> >>> >>> >>> >>What kinds of problems have you encountered to say that the build is >>quite unstable ? >>does it crash at any time or during negociation or state transitions ? >> >> > > The crashes occur randomly during playback using both Ixion player and >gst-launch + decodebin. > > > That's really strange, could you send me a file and the pipeline you use with gst-launch to play it ? I would prefer a pipeline using base plugins (ogg vorbis/theora) if you are getting crashes with it, as i've already these plugins built in debug with vs6... I'll test in the same condition but with the binaries built with vs6, trying to reproduce your crash and debug. Thanks, Sebastien >>May be the crashes are related to some debugs as msvcrt.dll doesn't >>support NULL parameters in printf arguments ... >> >> > > Oh, I did not knew about this. I will recheck this, but I do not think >this is the only problem. > > > >>I'll commit some changes to fix that because actually we can't use debug >>level 5 on windows from cvs. >> >>Actually, i have not tested a lot of differents pipelines with gstreamer >>on Windows, but the ones i have tested were working fine. >>Here i'm talking about the binaries i'm building with vs6 but i'm using >>binaries built with mingw+gcc for dependencies. >>I ran some pipelines for ogg theora/vorbis playback, and i've concluded >>the core is quite stable on Windows (i mean once the printf problems are >>solved)... >> >> > > We will probably need some testing by people who can use gdb and give >proper debug info. As I said, I have not debugged this much (the beast >was stable when started from gdb) and I can not invest much time to this >in the moment. > > Michal > > > >------------------------------------------------------- >This SF.net email is sponsored by: Splunk Inc. Do you grep through log files >for problems? Stop! Download the new AJAX search engine that makes >searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! >http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 >_______________________________________________ >gstreamer-devel mailing list >gstreamer-devel at lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > From ashwood at msn.com Tue Jan 31 02:13:59 2006 From: ashwood at msn.com (Joseph Ashwood) Date: Mon, 30 Jan 2006 17:13:59 -0800 Subject: [Matroska-devel] Re: Re: Re: Compromise Encryption Proposal References: <43D7172F.4020904@free.fr> Message-ID: ----- Original Message ----- From: "Paul Bryson" Subject: [Matroska-devel] Re: Re: Re: Compromise Encryption Proposal > The current Matroska signing element allows signing only certain parts. > You could for instance, sign every cluster individually. The length of > time in a cluster can vary to the creator's settings, but typical might be > 5 seconds. It does, but I'd like to unify everything under a single heading. This will simplify things and remove the potential for a problem determining which to do first. This becomes particularly problematic when you consider that the different orders actually mean different things cryptographically. Pushing the ordering data into the codec removes this headache from the specification. With my recommendation that allows the muxer to determine whether to sign each part inidividually, or all parts at once, or some combination of the two. Joe From mike at po.cs.msu.su Tue Jan 31 08:35:48 2006 From: mike at po.cs.msu.su (Mike Matsnev) Date: Tue, 31 Jan 2006 10:35:48 +0300 Subject: [Matroska-devel] Re: Re: Re: Compromise Encryption Proposal In-Reply-To: <044501c62606$ffb63bb0$6401a8c0@GQ7000> References: <044501c62606$ffb63bb0$6401a8c0@GQ7000> Message-ID: <20060131073548.GA51386@azog.po.cs.msu.su> Hello! As I understand these proposals, they represent a radical departure from current Matroska syntax. So radical that no current software can be reused at all for reading and writing encrypted files (even at source code level). Given this I see no point in putting it in Matroska specs and calling it Matroska, as we'll end up having two different specs under the same name. Why not create another ebml based container with a different name and use that for encrypted content? On Mon, Jan 30, 2006 at 05:13:59PM -0800, Joseph Ashwood wrote: > ----- Original Message ----- > From: "Paul Bryson" > Subject: [Matroska-devel] Re: Re: Re: Compromise Encryption Proposal > > > >The current Matroska signing element allows signing only certain parts. > >You could for instance, sign every cluster individually. The length of > >time in a cluster can vary to the creator's settings, but typical might be > >5 seconds. > > It does, but I'd like to unify everything under a single heading. This will > simplify things and remove the potential for a problem determining which to > do first. This becomes particularly problematic when you consider that the > different orders actually mean different things cryptographically. Pushing > the ordering data into the codec removes this headache from the > specification. With my recommendation that allows the muxer to determine > whether to sign each part inidividually, or all parts at once, or some > combination of the two. > Joe > > > _______________________________________________ > 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 ashwood at msn.com Tue Jan 31 13:19:09 2006 From: ashwood at msn.com (Joseph Ashwood) Date: Tue, 31 Jan 2006 04:19:09 -0800 Subject: [Matroska-devel] Re: Re: Re: Compromise Encryption Proposal References: <044501c62606$ffb63bb0$6401a8c0@GQ7000> <20060131073548.GA51386@azog.po.cs.msu.su> Message-ID: ----- Original Message ----- From: "Mike Matsnev" Subject: Re: [Matroska-devel] Re: Re: Re: Compromise Encryption Proposal > Hello! > > As I understand these proposals, they represent a radical departure > from current Matroska syntax. So radical that no current software can > be reused at all for reading and writing encrypted files (even at source > code level). Given this I see no point in putting it in Matroska specs > and calling it Matroska, as we'll end up having two different specs > under the same name. Why not create another ebml based container > with a different name and use that for encrypted content? I don't see it as a radical departure. In fact the default (the proposed implied values) is exactly Matroska. I see the proposals I've made as relatively small additions, and with the exclusion of the ability to change the fundamentals of the element (which is only useful in extreme circumstances, and most parsers won't need to implement) the same parser can probably be used with minimal changes. Not having examined the code I speculate that pretty much every splitter includes something like processElement(...), altering this function to include if(transformPresent) processTransform(...) should pretty well take care of it. Joe