From cwiesner at matroska.org Wed Jan 5 20:18:47 2011 From: cwiesner at matroska.org (Christian Wiesner) Date: Wed, 5 Jan 2011 20:18:47 +0100 Subject: [Matroska-devel] Fwd: [Matroska-users] MKV EBML lacing questions. In-Reply-To: References: Message-ID: Forwarding this question to matroska-devel , where it belongs. CW, matroska admin ---------- Forwarded message ---------- From: Dan Wright Date: 2011/1/5 Subject: [Matroska-users] MKV EBML lacing questions. To: matroska-users at lists.matroska.org I'm working on an MKV writer and an MKV parser, and I'm trying to add lacing support. I'm using the MKV specs at http://matroska.org/technical/specs/index.html. As such, I've got a couple of questions about the EBML lacing method. Having run fruitless searches on Google and on these mailing lists, here are my questions: 1. It looks like EBML lacing use "one's complement" for its lacing sizes. Is this correct? It seems a little non-standard, especially since, earlier in the spec, it is evident that the signed integer data element type uses the much more common "two's complement" (e.g. -2 = 0xFE). 2. The example for EBML lacing uses an example where the first frame is 800 bytes, the second 500, and the third 1000. The spec example claims: "Lacing sizes: only the 2 first ones will be coded, 800 gives 0x320 + 0x4000 = 0x4320, 500 is coded as -300 : - 0x12C + 0x1FFF + 0x4000 = 0x5ED3. The size of the last frame is deduced from the total size of the Block." Now, I'm fine with encoding 800 as 0x4320, but encoding -300 as 0x5ED3 leaves me with a problem. If I were decoding 0x5ED3, the first bit encountered after the EBML size-bits is a 0, leading me to interpret the value as positive, getting 7891 instead of -300. Assuming a one's complement system, shouldn't this value actually be 0x7ED3 so that the most significant digit after the EBML size-bits is a 1? Or am I missing something obvious? Thanks for any help! _______________________________________________ Matroska-users mailing list Matroska-users at lists.matroska.org http://lists.matroska.org/cgi-bin/mailman/listinfo/matroska-users Read Matroska-Users on GMane: http://dir.gmane.org/gmane.comp.multimedia.matroska.user -------------- next part -------------- An HTML attachment was scrubbed... URL: From smeulf at hotmail.fr Wed Jan 5 21:22:50 2011 From: smeulf at hotmail.fr (Smeulf) Date: Wed, 5 Jan 2011 21:22:50 +0100 Subject: [Matroska-devel] Haali and forced subtitles In-Reply-To: References: Message-ID: Hello everyone, I have a simple question : does Haali supports ?Forced Track? for subtitles ? If yes, can you give me some tips to make it work correctly with DirectVboSub ? If no, do you plan to add the function, and do you know when ? Bests regards. Smeulf. -------------- next part -------------- An HTML attachment was scrubbed... URL: From sjimeno at ya.com Thu Jan 6 00:01:45 2011 From: sjimeno at ya.com (Santiago Jimeno) Date: Thu, 6 Jan 2011 00:01:45 +0100 Subject: [Matroska-devel] CodecSpecs In-Reply-To: <70687C4D12394813AA157830486C2BDD@JSASUS> References: <70687C4D12394813AA157830486C2BDD@JSASUS> Message-ID: <9E96E6EDEA244B1AB0915DE7E5C15E3C@JSASUS> I have not received any answer, so in accordance with my investigations I inform of that gotten for if this can help somebody. I to think that the data of CodecSpecs should be edited again with the purpose that they were more explicit. AC3 and EAC3 in SymplyBlock (A3): follow ATSC a_52 - 2010 specifications. My error is that I waited that audio code was in the first track of the cluster, but it doesn't always happen this way. Quicktime in Private data: follows MP4 specifications of stsd atom. But QDMC from AudioSampleEntry with size (4 bytes) and format (4 char) before, and QDM2 from frma box (52 bytes later). DTS in SymplyBlock (A3): adds the whole header with included syncword (HD also). New problem: MLP and TrueHd MLP: includes complete Header in SymplyBlock. But it doesn't add more data than the content in TrackEntry. TrueHd: impossible for my to find the relationship between the data of SymplyBlock and the specifications. Any suggestion about this? Does somebody have an audio sample of TrueHd? Regards. Santiago ----- Original Message ----- From: Santiago Jimeno To: matroska-devel at lists.matroska.org Sent: Thursday, December 30, 2010 12:38 PM Subject: [Matroska-devel] CodecSpecs I am writing a program that reads information of audio files. Also it reads and writes the diverse Tags. It is centered specifically in the audio information. Now I am working with Matroska. As for audio information, specifications in CodecSpecs are quite clear in some cases (MPEG, Vorbis, MS/ACM, Flac, WavPack, etc) But in another cases it is not so well explained, although I have been able to write code: AAC-MP4: there it says that it is stripped from ADTS header. Really, in both cases of 2 or 5 bytes size it follows the specifications ISO-IEC 14496-1 Systems (AudioSpecificConfig). Another thing is that the first 2 bytes are common for ADTS and other formats. Real Audio: there is not information. Here, CodecPrivate follows the specifications of "MDPR" Media Properties -> Specific Data (audio/x-pn-realaudio or audio/x-pn-multirate-realaudio). Although in this case is contemplated the possibility of including "REAL/RALF" (Real Lossles), the specifications are possibly different: "audio/x-ralf-mpeg4-generic." But I have not been able to get the sample to study it with any program that encodes Matroska that I have been able to find. Maybe it would be interesting for other people to add this information in CodecSpecs Now the problems: AC3: I have not been able to find in Block or CodecPrivate the mentioned Byte with fscod and frmsizecod data. QuickTime: In spite of their resemblance with AAC-MP4, I have not found the applied format to CodecPrivate data and CodecSpecs don't says anything about this. Can somebody inform me about these 2 problems? Now the suggestions: I miss the data of Bitrate and AudioSize. Apart of case when the codec specifies it (MPEG, MS/ACM) there is not bitrate information in any place. AudioSize can be easily calculated from bitrate. Also to the reverse, but then it would be necessary parsing all blocks. I know that it is not outstanding to decode the file but it is important for the information. There is not a place to write this information In the future? This can fill one byte or less inside of the big space filled for container Matroska In a next message I will speak of my experience in Matroska Taging. Regards. Santiago ------------------------------------------------------------------------------ _______________________________________________ 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: From allankilakshminarayana at gmail.com Sat Jan 8 09:24:55 2011 From: allankilakshminarayana at gmail.com (allankilakshminarayana at gmail.com) Date: Sat, 8 Jan 2011 13:54:55 +0530 (IST) Subject: [Matroska-devel] Hi matroska-devel@lists.matroska.org, LAkshmi invites you to join Games24x7.com Message-ID: <2146788037.1294475095332.JavaMail.tomcat@D6SCSLM1.redplaid.com> An HTML attachment was scrubbed... URL: From slhomme at matroska.org Sun Jan 9 16:38:59 2011 From: slhomme at matroska.org (Steve Lhomme) Date: Sun, 9 Jan 2011 16:38:59 +0100 Subject: [Matroska-devel] Fwd: [Matroska-users] MKV EBML lacing questions. In-Reply-To: References: Message-ID: ---------- Forwarded message ---------- From: Steve Lhomme Date: Sun, Jan 9, 2011 at 4:38 PM Subject: Re: [Matroska-users] MKV EBML lacing questions. To: "Questions, help, instructions, talk about Matroska" The "EBML" lacing is a little different than the EBML encoding of integers in the rest of Matroska. This time it is signed. Here is some simple code that does this little trick for you. It takes the regular EBML value that is coded and then remove the offset dependings on the size of the buffer (in your case 2). filepos_t EBML_ReadCodedSizeSignedValue(const uint8_t *InBuffer, size_t *BufferSize, filepos_t *SizeUnknown) { filepos_t Result = EBML_ReadCodedSizeValue(InBuffer, BufferSize, SizeUnknown); if (*BufferSize != 0) { switch (*BufferSize) { case 1: Result -= 63; break; case 2: Result -= 8191; break; case 3: Result -= 1048575L; break; case 4: Result -= 134217727L; break; } } return Result; } On Wed, Jan 5, 2011 at 7:16 PM, Dan Wright wrote: > I'm working on an MKV writer and an MKV parser, and I'm trying to add lacing > support.? I'm using the MKV specs at > http://matroska.org/technical/specs/index.html.? As such, I've got a couple > of questions about the EBML lacing method.? Having run fruitless searches on > Google and on these mailing lists, here are my questions: > > 1.? It looks like EBML lacing use "one's complement" for its lacing sizes. > Is this correct?? It seems a little non-standard, especially since, earlier > in the spec, it is evident that the signed integer data element type uses > the much more common "two's complement" (e.g. -2 = 0xFE). > > 2.? The example for EBML lacing uses an example where the first frame is 800 > bytes, the second 500, and the third 1000.? The spec example claims: > > "Lacing sizes: only the 2 first ones will be coded, 800 gives 0x320 + 0x4000 > = 0x4320, 500 is coded as -300 : - 0x12C + 0x1FFF + 0x4000 = 0x5ED3. The > size of the last frame is deduced from the total size of the Block." > > Now, I'm fine with encoding 800 as 0x4320, but encoding -300 as 0x5ED3 > leaves me with a problem.? If I were decoding 0x5ED3, the first bit > encountered after the EBML size-bits is a 0, leading me to interpret the > value as positive, getting 7891 instead of -300.? Assuming a one's > complement system, shouldn't this value actually be 0x7ED3 so that the most > significant digit after the EBML size-bits is a 1?? Or am I missing > something obvious? > > Thanks for any help! > > > > _______________________________________________ > Matroska-users mailing list > Matroska-users at lists.matroska.org > http://lists.matroska.org/cgi-bin/mailman/listinfo/matroska-users > Read Matroska-Users on GMane: > http://dir.gmane.org/gmane.comp.multimedia.matroska.user > > -- Steve Lhomme Matroska association Charmain -- Steve Lhomme Matroska association Charmain From moritz at bunkus.org Sun Jan 9 18:33:20 2011 From: moritz at bunkus.org (Moritz Bunkus) Date: Sun, 09 Jan 2011 18:33:20 +0100 Subject: [Matroska-devel] CodecSpecs In-Reply-To: <9E96E6EDEA244B1AB0915DE7E5C15E3C@JSASUS> References: <70687C4D12394813AA157830486C2BDD@JSASUS> <9E96E6EDEA244B1AB0915DE7E5C15E3C@JSASUS> Message-ID: Hey, On Thu, 6 Jan 2011 00:01:45 +0100, "Santiago Jimeno" wrote: > AC3 and EAC3 in SymplyBlock (A3): follow ATSC a_52 - 2010 > specifications. My error is that I waited that audio code was in the > first track of the cluster, but it doesn't always happen this way. Yes. > Quicktime in Private data: follows MP4 specifications of stsd atom. > But QDMC from AudioSampleEntry with size (4 bytes) and format (4 char) > before, and QDM2 from frma box (52 bytes later). Sounds about right. > DTS in SymplyBlock (A3): adds the whole header with included syncword > (HD also). True. > New problem: MLP and TrueHd > MLP: includes complete Header in SymplyBlock. But it doesn't add more > data than the content in TrackEntry. > TrueHd: impossible for my to find the relationship between the data > of SymplyBlock and the specifications. MLP and TrueHD are handled the same way. They contain the whole header in the blocks. > Does somebody have an audio sample of TrueHd? http://www.bunkus.org/mtx-test-data/vob/vc1_truehd_eac3.evo contains TrueHD and EAC3 audio tracks. If you don't know how to demux the TrueHD track from it then merge with mkvmerge and extract the TrueHD track from the resulting Matroska file with mkvextract. Regards, mosu From sjimeno at ya.com Mon Jan 10 02:24:08 2011 From: sjimeno at ya.com (Santiago Jimeno) Date: Mon, 10 Jan 2011 02:24:08 +0100 Subject: [Matroska-devel] CodecSpecs In-Reply-To: References: <70687C4D12394813AA157830486C2BDD@JSASUS><9E96E6EDEA244B1AB0915DE7E5C15E3C@JSASUS> Message-ID: <61F3FB3DD13D4663B794A98249EFD8E4@JSASUS> Thank you Moritz for the answer Regarding MLP-TrueHD, I made what you tell me in your e-mail, but without success. MLP contain in the blocks the whole header beginning with F8726FBB, but TrueHd doesn't contain the first 4 bytes of the header (F8726FBA). And supposing that the first bytes of the file or the block are part of the header (stripped), it doesn't coincide with the data given before by MKV file in TrackEntry. On the other hand the header format of both, although similar, is not same. Maybe I have mistaken the data of TrueHd header format. The samples that I am using are: http://samples.mplayerhq.hu/A-codecs/TrueHD/TrueHD%20Sample%201%20(Final%20Fantasy%20VII%20Advent%20Children).mkv http://samples.mplayerhq.hu/A-codecs/TrueHD/TrueHD%20Sample%202%20(Evangelion%201.11%20You%20Are%20(Not)%20Alone).mkv I have observed that you with Mkvtool can calculate the duration of MLP-TrueHd audio file to make the MKA file. It has been impossible for my to calculate the duration with the data provided by the original audio file. Would you be able to help me in this? Regards. Santiago ----- Original Message ----- From: "Moritz Bunkus" To: "Discussion about the current and future development of Matroska" Sent: Sunday, January 09, 2011 6:33 PM Subject: Re: [Matroska-devel] CodecSpecs > Hey, > > On Thu, 6 Jan 2011 00:01:45 +0100, "Santiago Jimeno" > wrote: > >> AC3 and EAC3 in SymplyBlock (A3): follow ATSC a_52 - 2010 >> specifications. My error is that I waited that audio code was in the >> first track of the cluster, but it doesn't always happen this way. > > Yes. > >> Quicktime in Private data: follows MP4 specifications of stsd atom. >> But QDMC from AudioSampleEntry with size (4 bytes) and format (4 char) >> before, and QDM2 from frma box (52 bytes later). > > Sounds about right. > >> DTS in SymplyBlock (A3): adds the whole header with included syncword >> (HD also). > > True. > >> New problem: MLP and TrueHd >> MLP: includes complete Header in SymplyBlock. But it doesn't add more >> data than the content in TrackEntry. >> TrueHd: impossible for my to find the relationship between the data >> of SymplyBlock and the specifications. > > MLP and TrueHD are handled the same way. They contain the whole header > in the blocks. > >> Does somebody have an audio sample of TrueHd? > > http://www.bunkus.org/mtx-test-data/vob/vc1_truehd_eac3.evo contains > TrueHD and EAC3 audio tracks. If you don't know how to demux the TrueHD > track from it then merge with mkvmerge and extract the TrueHD track from > the resulting Matroska file with mkvextract. > > Regards, > 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 > From moritz at bunkus.org Mon Jan 10 09:22:47 2011 From: moritz at bunkus.org (Moritz Bunkus) Date: Mon, 10 Jan 2011 09:22:47 +0100 Subject: [Matroska-devel] CodecSpecs In-Reply-To: <61F3FB3DD13D4663B794A98249EFD8E4@JSASUS> References: <70687C4D12394813AA157830486C2BDD@JSASUS> <61F3FB3DD13D4663B794A98249EFD8E4@JSASUS> Message-ID: <201101100922.50691.moritz@bunkus.org> Hey, On Monday 10 January 2011 02:24:08 Santiago Jimeno wrote: > Regarding MLP-TrueHD, I made what you tell me in your e-mail, but without > success. > MLP contain in the blocks the whole header beginning with F8726FBB, but > TrueHd doesn't contain the first 4 bytes of the header (F8726FBA). My guess is that you don't take header removal compression into account http://www.bunkus.org/videotools/mkvtoolnix/faq.html#header_removal_compression The code in mkvmerge is the same for MLP and TrueHD. In fact, it's the same source file with very few conditional code for distinction between MLP/TrueHD. > The samples that I am using are: > http://samples.mplayerhq.hu/A-codecs/TrueHD/TrueHD%20Sample%201%20(Final%20 > Fantasy%20VII%20Advent%20Children).mkv > http://samples.mplayerhq.hu/A-codecs/TrueHD/TrueHD%20Sample%202%20(Evangel > ion%201.11%20You%20Are%20(Not)%20Alone).mkv Ok those do not use header removal compression. Interesting. Let's see: [0 mbunkus at ls-bs-ws4 ~/dl] mkvinfo -v -v TrueHD\ Sample\ 1\ \(Final\ Fantasy\ VII\ Advent\ Children\).mkv| grep 'track number 2' | head -n 1 | + SimpleBlock (track number 2, 1 frame(s), timecode 0.000s = 00:00:00.000) at 154845 So the very first audio track's frame starts at position 154845 in the file. Using a hex editor the bytes are really not the sync word. This could be a bug in mkvmerge. I'll try to investigate this sometime this week. > I have observed that you with Mkvtool can calculate the duration of > MLP-TrueHd audio file to make the MKA file. > It has been impossible for my to calculate the duration with the data > provided by the original audio file. > Would you be able to help me in this? I don't have time to explain (I'm at work), but all the relevant code is in these two files: http://www.bunkus.org/cgi- bin/gitweb.cgi?p=mkvtoolnix.git;a=blob;f=src/output/p_truehd.cpp;h=7562d0604c9103ec37d18300f76a925a8d11a737;hb=HEAD http://www.bunkus.org/cgi- bin/gitweb.cgi?p=mkvtoolnix.git;a=blob;f=src/common/truehd.cpp;h=aad48c34055b5cfbd5bdae2ce8f76b7311bc98c3;hb=HEAD Regards, Mosu -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part. URL: From mike.moman at gmail.com Wed Jan 12 20:02:33 2011 From: mike.moman at gmail.com (Michael Moman) Date: Wed, 12 Jan 2011 12:02:33 -0700 Subject: [Matroska-devel] mka for radio practicality Message-ID: Hey there, I'm just looking into the .mka files and wanted to look into the possibilities of this being a substitute for the current audio and database system that radio stations around the world are currently using... would the mka files be able to contain all that database information yet still be functional on stand alone players that aren't looking for that infor? essentially this might be a great step in developing a superior music player program for stations with keeping track of when songs were played, what kind of endings, cue times, etc etc... this would be a fun project to propose to my group. Mike Moman Director of Awesome me at mikemoman.com 403-389-9980 www.mikemoman.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From slhomme at matroska.org Sat Jan 15 14:06:56 2011 From: slhomme at matroska.org (Steve Lhomme) Date: Sat, 15 Jan 2011 14:06:56 +0100 Subject: [Matroska-devel] mka for radio practicality In-Reply-To: References: Message-ID: Hello Michael, Yes Matroska is very well suited for that. It has an extensive (and extensible) tagging system. And the design of Matroska also makes it possible to introduce extra "proprietary" information without affecting playback at all. Unfortunately the tagging system is not used much now. But it has always been the goal to make it widespread for exactly the kind of use you want to do. Steve On Wed, Jan 12, 2011 at 8:02 PM, Michael Moman wrote: > Hey there, > > I'm just looking into the .mka files and wanted to look into the > possibilities of this being a substitute for the current audio and database > system that radio stations around the world are currently using... would the > mka files be able to contain all that database information yet still be > functional on stand alone players that aren't looking for that infor? > > essentially this might be a great step in developing a superior music player > program for stations with keeping track of when songs were played, what kind > of endings, cue times, etc etc... > > this would be a fun project to propose to my group. > Mike Moman > Director of Awesome > me at mikemoman.com > 403-389-9980 > www.mikemoman.com > > _______________________________________________ > 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 > -- Steve Lhomme Matroska association Chairman From szt0922 at gmail.com Tue Jan 18 22:50:18 2011 From: szt0922 at gmail.com (szt0922 at gmail.com) Date: Wed, 19 Jan 2011 06:50:18 +0900 Subject: [Matroska-devel] Compiling libebml with MinGW+MSYS Message-ID: Hello all, I'd like to use libebml for a project I'm working on (so it's not really related to Matroska, but since it's a part of Matroska, I think somebody can help me here). I'm using the latest MinGW with MSYS under Windows 7. I've modified the original makefile in libebml\make\mingw32, but all I did is to change the lib and include dirs from: LIBS = -L"D:/DEV-CPP/lib" INCS = -I"D:/DEV-CPP/include" -I"D:/DEV-CPP/include/c++" -I"D:/DEV-CPP/include" -I"D:/Dev-Cpp/include/c++/mingw32" to LIBS = -L"D:/DEV-CPP/lib" INCS = -I"D:/DEV-CPP/include" -I"D:/DEV-CPP/include/c++" -I"D:/DEV-CPP/include" -I"D:/Dev-Cpp/include/c++/mingw32". Then, I gave it a try, and failed: $ make -f makefile.mak g++.exe -c ../../src/EbmlBinary.cpp -o ../../src/EbmlBinary.o -I"C:/MinGW/includ e" -I"C:/dev/libebml" In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/bits/stl _algo.h:61:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/algorith m:63, from C:/dev/libebml/ebml/EbmlEndian.h:43, from C:/dev/libebml/ebml/EbmlTypes.h:138, from C:/dev/libebml/ebml/EbmlBinary.h:45, from ../../src/EbmlBinary.cpp:42: c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/bits/algorithmfwd.h:358:41: er ror: macro "min" passed 3 arguments, but takes just 2 In file included from C:/dev/libebml/ebml/EbmlTypes.h:43:0, from C:/dev/libebml/ebml/EbmlBinary.h:45, from ../../src/EbmlBinary.cpp:42: C:/dev/libebml/ebml/c/libebml_t.h:111:13: error: 'u_int64_t' does not name a typ e C:/dev/libebml/ebml/c/libebml_t.h:112:13: error: 'u_int32_t' does not name a typ e C:/dev/libebml/ebml/c/libebml_t.h:113:13: error: 'u_int16_t' does not name a typ e C:/dev/libebml/ebml/c/libebml_t.h:114:13: error: 'u_int8_t' does not name a type C:/dev/libebml/ebml/c/libebml_t.h:118:9: error: 'uint8' does not name a type In file included from C:/dev/libebml/ebml/EbmlBinary.h:45:0, from ../../src/EbmlBinary.cpp:42: C:/dev/libebml/ebml/EbmlTypes.h:48:9: error: 'uint32' does not name a type C:/dev/libebml/ebml/EbmlTypes.h:49:9: error: 'uint8' does not name a type C:/dev/libebml/ebml/EbmlTypes.h:65:9: error: 'uint32' does not name a type In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/bits/stl _algo.h:61:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/algorith m:63, from C:/dev/libebml/ebml/EbmlEndian.h:43, from C:/dev/libebml/ebml/EbmlTypes.h:138, from C:/dev/libebml/ebml/EbmlBinary.h:45, from ../../src/EbmlBinary.cpp:42: c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/bits/algorithmfwd.h:354:5: err or: expected unqualified-id before 'const' c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/bits/algorithmfwd.h:354:5: err or: expected ')' before 'const' c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/bits/algorithmfwd.h:354:5: err or: expected ')' before 'const' c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/bits/algorithmfwd.h:354:5: err or: expected initializer before 'const' c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/bits/algorithmfwd.h:358:5: err or: template declaration of 'const _Tp& std::min' In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/algorith m:63:0, from C:/dev/libebml/ebml/EbmlEndian.h:43, from C:/dev/libebml/ebml/EbmlTypes.h:138, from C:/dev/libebml/ebml/EbmlBinary.h:45, from ../../src/EbmlBinary.cpp:42: c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/bits/stl_algo.h: In function ' void std::__merge_sort_loop(_RandomAccessIterator1, _RandomAccessIterator1, _Ran domAccessIterator2, _Distance)': c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/bits/stl_algo.h:3172:26: error : expected unqualified-id before '(' token c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/bits/stl_algo.h: In function ' void std::__merge_sort_loop(_RandomAccessIterator1, _RandomAccessIterator1, _Ran domAccessIterator2, _Distance, _Compare)': c:\mingw\bin\../lib/gcc/mingw32/4.5.2/include/c++/bits/stl_algo.h:3202:26: error : expected unqualified-id before '(' token In file included from C:/dev/libebml/ebml/EbmlTypes.h:138:0, from C:/dev/libebml/ebml/EbmlBinary.h:45, from ../../src/EbmlBinary.cpp:42: C:/dev/libebml/ebml/EbmlEndian.h: At global scope: C:/dev/libebml/ebml/EbmlEndian.h:70:29: error: 'binary' does not name a type C:/dev/libebml/ebml/EbmlEndian.h:70:37: error: ISO C++ forbids declaration of 'e ndian_buffer' with no type C:/dev/libebml/ebml/EbmlEndian.h:77:19: error: 'binary' has not been declared C:/dev/libebml/ebml/EbmlEndian.h:86:31: error: 'binary' does not name a type C:/dev/libebml/ebml/EbmlEndian.h:86:39: error: ISO C++ forbids declaration of 'b uffer' with no type C:/dev/libebml/ebml/EbmlEndian.h: In member function 'void libebml::Endian::process_endian()': C:/dev/libebml/ebml/EbmlEndian.h:100:33: error: expected type-specifier before ' uint8' C:/dev/libebml/ebml/EbmlEndian.h:100:33: error: expected '>' before 'uint8' C:/dev/libebml/ebml/EbmlEndian.h:100:33: error: expected '(' before 'uint8' C:/dev/libebml/ebml/EbmlEndian.h:100:33: error: 'uint8' was not declared in this scope C:/dev/libebml/ebml/EbmlEndian.h:100:39: error: expected primary-expression befo re '>' token C:/dev/libebml/ebml/EbmlEndian.h:100:73: error: expected type-specifier before ' uint8' C:/dev/libebml/ebml/EbmlEndian.h:100:73: error: expected '>' before 'uint8' C:/dev/libebml/ebml/EbmlEndian.h:100:73: error: expected '(' before 'uint8' C:/dev/libebml/ebml/EbmlEndian.h:100:79: error: expected primary-expression befo re '>' token C:/dev/libebml/ebml/EbmlEndian.h:100:98: error: expected ')' before ';' token C:/dev/libebml/ebml/EbmlEndian.h: In member function 'void libebml::Endian::process_platform()': C:/dev/libebml/ebml/EbmlEndian.h:112:33: error: expected type-specifier before ' uint8' C:/dev/libebml/ebml/EbmlEndian.h:112:33: error: expected '>' before 'uint8' C:/dev/libebml/ebml/EbmlEndian.h:112:33: error: expected '(' before 'uint8' C:/dev/libebml/ebml/EbmlEndian.h:112:33: error: 'uint8' was not declared in this scope C:/dev/libebml/ebml/EbmlEndian.h:112:39: error: expected primary-expression befo re '>' token C:/dev/libebml/ebml/EbmlEndian.h:112:75: error: expected type-specifier before ' uint8' C:/dev/libebml/ebml/EbmlEndian.h:112:75: error: expected '>' before 'uint8' C:/dev/libebml/ebml/EbmlEndian.h:112:75: error: expected '(' before 'uint8' C:/dev/libebml/ebml/EbmlEndian.h:112:81: error: expected primary-expression befo re '>' token C:/dev/libebml/ebml/EbmlEndian.h:112:102: error: expected ')' before ';' token In file included from C:/dev/libebml/ebml/EbmlBinary.h:45:0, from ../../src/EbmlBinary.cpp:42: C:/dev/libebml/ebml/EbmlTypes.h: At global scope: C:/dev/libebml/ebml/EbmlTypes.h:142:9: error: 'binary' does not name a type C:/dev/libebml/ebml/EbmlTypes.h:147:16: error: 'uint16' was not declared in this scope C:/dev/libebml/ebml/EbmlTypes.h:147:36: error: template argument 1 is invalid C:/dev/libebml/ebml/EbmlTypes.h:147:48: error: invalid type in declaration befor e ';' token C:/dev/libebml/ebml/EbmlTypes.h:148:16: error: 'uint32' was not declared in this scope C:/dev/libebml/ebml/EbmlTypes.h:148:36: error: template argument 1 is invalid C:/dev/libebml/ebml/EbmlTypes.h:148:48: error: invalid type in declaration befor e ';' token C:/dev/libebml/ebml/EbmlTypes.h:149:16: error: 'uint64' was not declared in this scope C:/dev/libebml/ebml/EbmlTypes.h:149:36: error: template argument 1 is invalid C:/dev/libebml/ebml/EbmlTypes.h:149:48: error: invalid type in declaration befor e ';' token C:/dev/libebml/ebml/EbmlTypes.h:153:16: error: 'uint16' was not declared in this scope C:/dev/libebml/ebml/EbmlTypes.h:153:33: error: template argument 1 is invalid C:/dev/libebml/ebml/EbmlTypes.h:153:48: error: invalid type in declaration befor e ';' token C:/dev/libebml/ebml/EbmlTypes.h:154:16: error: 'uint32' was not declared in this scope C:/dev/libebml/ebml/EbmlTypes.h:154:33: error: template argument 1 is invalid C:/dev/libebml/ebml/EbmlTypes.h:154:48: error: invalid type in declaration befor e ';' token C:/dev/libebml/ebml/EbmlTypes.h:155:16: error: 'uint64' was not declared in this scope C:/dev/libebml/ebml/EbmlTypes.h:155:33: error: template argument 1 is invalid C:/dev/libebml/ebml/EbmlTypes.h:155:48: error: invalid type in declaration befor e ';' token C:/dev/libebml/ebml/EbmlTypes.h:156:16: error: 'uint32' was not declared in this scope C:/dev/libebml/ebml/EbmlTypes.h:156:33: error: template argument 1 is invalid C:/dev/libebml/ebml/EbmlTypes.h:156:46: error: invalid type in declaration befor e ';' token C:/dev/libebml/ebml/EbmlTypes.h:157:16: error: 'bits80' was not declared in this scope C:/dev/libebml/ebml/EbmlTypes.h:157:33: error: template argument 1 is invalid C:/dev/libebml/ebml/EbmlTypes.h:157:48: error: invalid type in declaration befor e ';' token In file included from C:/dev/libebml/ebml/EbmlElement.h:43:0, from C:/dev/libebml/ebml/EbmlBinary.h:46, from ../../src/EbmlBinary.cpp:42: C:/dev/libebml/ebml/EbmlId.h:51:3: error: 'uint32' does not name a type C:/dev/libebml/ebml/EbmlId.h:54:16: error: 'binary' does not name a type C:/dev/libebml/ebml/EbmlId.h:54:31: error: ISO C++ forbids declaration of 'aValu e' with no type C:/dev/libebml/ebml/EbmlId.h:65:16: error: 'uint32' does not name a type C:/dev/libebml/ebml/EbmlId.h:65:23: error: ISO C++ forbids declaration of 'aValu e' with no type C:/dev/libebml/ebml/EbmlId.h:73:20: error: 'binary' has not been declared C:/dev/libebml/ebml/EbmlId.h: In constructor 'libebml::EbmlId::EbmlId(const int* , unsigned int)': C:/dev/libebml/ebml/EbmlId.h:57:4: error: 'Value' was not declared in this scope C:/dev/libebml/ebml/EbmlId.h: In constructor 'libebml::EbmlId::EbmlId(int, unsig ned int)': C:/dev/libebml/ebml/EbmlId.h:66:5: error: class 'libebml::EbmlId' does not have any field named 'Value' C:/dev/libebml/ebml/EbmlId.h: In member function 'bool libebml::EbmlId::operator ==(const libebml::EbmlId&) const': C:/dev/libebml/ebml/EbmlId.h:70:49: error: 'const class libebml::EbmlId' has no member named 'Value' C:/dev/libebml/ebml/EbmlId.h:70:58: error: 'Value' was not declared in this scop e C:/dev/libebml/ebml/EbmlId.h: In member function 'void libebml::EbmlId::Fill(int *) const': C:/dev/libebml/ebml/EbmlId.h:76:18: error: 'Value' was not declared in this scop e In file included from C:/dev/libebml/ebml/EbmlElement.h:44:0, from C:/dev/libebml/ebml/EbmlBinary.h:46, from ../../src/EbmlBinary.cpp:42: C:/dev/libebml/ebml/IOCallback.h: At global scope: C:/dev/libebml/ebml/IOCallback.h:64:10: error: 'uint32' does not name a type C:/dev/libebml/ebml/IOCallback.h:79:10: error: 'uint64' does not name a type In file included from C:/dev/libebml/ebml/EbmlBinary.h:46:0, from ../../src/EbmlBinary.cpp:42: C:/dev/libebml/ebml/EbmlElement.h:122:21: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlElement.h:122:28: error: ISO C++ forbids declaration of 'aDefaultSize' with no type C:/dev/libebml/ebml/EbmlElement.h:129:120: error: 'uint64' has not been declared C:/dev/libebml/ebml/EbmlElement.h:130:100: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlElement.h:130:107: error: ISO C++ forbids declaration of 'MaxDataSize' with no type C:/dev/libebml/ebml/EbmlElement.h:135:57: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlElement.h:135:64: error: ISO C++ forbids declaration of 'MaxDataSize' with no type C:/dev/libebml/ebml/EbmlElement.h:146:3: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlElement.h:148:3: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlElement.h:150:3: error: 'uint32' does not name a type C:/dev/libebml/ebml/EbmlElement.h:152:11: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlElement.h:153:11: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlElement.h:155:11: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlElement.h:175:3: error: 'uint8' does not name a type C:/dev/libebml/ebml/EbmlElement.h:181:18: error: 'uint64' has not been declared C:/dev/libebml/ebml/EbmlElement.h:183:3: error: 'uint32' does not name a type C:/dev/libebml/ebml/EbmlElement.h:188:3: error: 'uint32' does not name a type C:/dev/libebml/ebml/EbmlElement.h:197:37: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlElement.h:197:44: error: ISO C++ forbids declaration of 'aDefaultSize' with no type C:/dev/libebml/ebml/EbmlElement.h:202:3: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlElement.h:203:3: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlElement.h:207:3: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlElement.h:208:3: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlElement.h:219:3: error: 'uint32' does not name a type C:/dev/libebml/ebml/EbmlElement.h:220:3: error: 'uint32' does not name a type C:/dev/libebml/ebml/EbmlElement.h:225:11: error: 'uint32' does not name a type C:/dev/libebml/ebml/EbmlElement.h: In member function 'virtual void libebml::Ebm lElement::SetDefaultSize(int)': C:/dev/libebml/ebml/EbmlElement.h:197:59: error: 'DefaultSize' was not declared in this scope In file included from ../../src/EbmlBinary.cpp:42:0: C:/dev/libebml/ebml/EbmlBinary.h: At global scope: C:/dev/libebml/ebml/EbmlBinary.h:62:3: error: 'uint32' does not name a type C:/dev/libebml/ebml/EbmlBinary.h:63:3: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlBinary.h:64:3: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlBinary.h:66:24: error: 'binary' does not name a type C:/dev/libebml/ebml/EbmlBinary.h:66:32: error: ISO C++ forbids declaration of 'B uffer' with no type C:/dev/libebml/ebml/EbmlBinary.h:66:46: error: 'uint32' does not name a type C:/dev/libebml/ebml/EbmlBinary.h:66:53: error: ISO C++ forbids declaration of 'B ufferSize' with no type C:/dev/libebml/ebml/EbmlBinary.h:72:3: error: 'binary' does not name a type C:/dev/libebml/ebml/EbmlBinary.h:74:25: error: 'binary' does not name a type C:/dev/libebml/ebml/EbmlBinary.h:74:33: error: ISO C++ forbids declaration of 'B uffer' with no type C:/dev/libebml/ebml/EbmlBinary.h:74:47: error: 'uint32' does not name a type C:/dev/libebml/ebml/EbmlBinary.h:74:54: error: ISO C++ forbids declaration of 'B ufferSize' with no type C:/dev/libebml/ebml/EbmlBinary.h:83:3: error: 'uint64' does not name a type C:/dev/libebml/ebml/EbmlBinary.h:84:18: error: ISO C++ forbids declaration of 't ype name' with no type C:/dev/libebml/ebml/EbmlBinary.h:84:3: error: 'operator const int' does not name a type C:/dev/libebml/ebml/EbmlBinary.h:91:3: error: 'binary' does not name a type C:/dev/libebml/ebml/EbmlBinary.h: In member function 'void libebml::EbmlBinary:: SetBuffer(const int*, int)': C:/dev/libebml/ebml/EbmlBinary.h:67:4: error: 'Data' was not declared in this sc ope C:/dev/libebml/ebml/EbmlBinary.h:67:12: error: 'binary' was not declared in this scope C:/dev/libebml/ebml/EbmlBinary.h:67:20: error: expected primary-expression befor e ')' token C:/dev/libebml/ebml/EbmlBinary.h:67:22: error: expected ';' before 'Buffer' C:/dev/libebml/ebml/EbmlBinary.h:68:4: error: 'Size' was not declared in this sc ope C:/dev/libebml/ebml/EbmlBinary.h: In member function 'void libebml::EbmlBinary:: CopyBuffer(const int*, int)': C:/dev/libebml/ebml/EbmlBinary.h:75:8: error: 'Data' was not declared in this sc ope C:/dev/libebml/ebml/EbmlBinary.h:76:12: error: type '' argument give n to 'delete', expected pointer C:/dev/libebml/ebml/EbmlBinary.h:77:4: error: 'Data' was not declared in this sc ope C:/dev/libebml/ebml/EbmlBinary.h:77:15: error: expected type-specifier before 'b inary' C:/dev/libebml/ebml/EbmlBinary.h:77:15: error: expected ';' before 'binary' C:/dev/libebml/ebml/EbmlBinary.h:78:35: error: 'memcpy' was not declared in this scope C:/dev/libebml/ebml/EbmlBinary.h:79:4: error: 'Size' was not declared in this sc ope ../../src/EbmlBinary.cpp: In constructor 'libebml::EbmlBinary::EbmlBinary()': ../../src/EbmlBinary.cpp:47:26: error: class 'libebml::EbmlBinary' does not have any field named 'Data' ../../src/EbmlBinary.cpp: In constructor 'libebml::EbmlBinary::EbmlBinary(const libebml::EbmlElement&)': ../../src/EbmlBinary.cpp:54:19: error: class 'libebml::EbmlBinary' does not have any field named 'Data' ../../src/EbmlBinary.cpp: In destructor 'virtual libebml::EbmlBinary::~EbmlBinar y()': ../../src/EbmlBinary.cpp:60:5: error: 'Data' was not declared in this scope ../../src/EbmlBinary.cpp:61:12: error: type '' argument given to 'de lete', expected pointer ../../src/EbmlBinary.cpp: At global scope: ../../src/EbmlBinary.cpp:64:1: error: 'uint32' does not name a type ../../src/EbmlBinary.cpp:74:1: error: 'uint64' does not name a type ../../src/EbmlBinary.cpp:79:1: error: 'uint64' does not name a type make: *** [../../src/EbmlBinary.o] Error 1 The sollution for this may be simple, but I can't seem to figure out. Maybe the problem is that I'm using the latest development version of MinGW? Thanks in advance. Best regards, -------------- next part -------------- An HTML attachment was scrubbed... URL: From szt0922 at gmail.com Tue Jan 18 22:52:33 2011 From: szt0922 at gmail.com (szt0922 at gmail.com) Date: Wed, 19 Jan 2011 06:52:33 +0900 Subject: [Matroska-devel] Compiling libebml with MinGW+MSYS In-Reply-To: References: Message-ID: On Wed, Jan 19, 2011 at 6:50 AM, wrote: > Hello all, > > I'd like to use libebml for a project I'm working on (so it's not really > related to Matroska, but since it's a part of Matroska, I think somebody can > help me here). I'm using the latest MinGW with MSYS under Windows 7. I've > modified the original makefile in libebml\make\mingw32, but all I did is to > change the lib and include dirs from: > > LIBS = -L"D:/DEV-CPP/lib" > INCS = -I"D:/DEV-CPP/include" -I"D:/DEV-CPP/include/c++" > -I"D:/DEV-CPP/include" -I"D:/Dev-Cpp/include/c++/mingw32" > [...] > Sorry, actually, I messed up my previous message. These lines in the new makefile are: LIBS = -L"C:/MinGW/lib" INCS = -I"C:/MinGW/include" -I"C:/dev/libebml" -------------- next part -------------- An HTML attachment was scrubbed... URL: From slhomme at matroska.org Mon Jan 24 20:13:15 2011 From: slhomme at matroska.org (Steve Lhomme) Date: Mon, 24 Jan 2011 20:13:15 +0100 Subject: [Matroska-devel] Compiling libebml with MinGW+MSYS In-Reply-To: References: Message-ID: This is strange. Moritz Bunkus is compiling it with no problem for mkvmerge. You should be able to build coremake from the repository and from there using "coremake gcc_win32" it should produce working makefiles for MinGW. If you are starting a new project you should use libebml2/libmatroska2 which do the same thing as the old libs but in C. This produces less error. On Tue, Jan 18, 2011 at 10:52 PM, wrote: > > > On Wed, Jan 19, 2011 at 6:50 AM, wrote: >> >> Hello all, >> >> I'd like to use libebml for a project I'm working on (so it's not really >> related to Matroska, but since it's a part of Matroska, I think somebody can >> help me here). I'm using the latest MinGW with MSYS under Windows 7. I've >> modified the original makefile in libebml\make\mingw32, but all I did is to >> change the lib and include dirs from: >> >> LIBS =? -L"D:/DEV-CPP/lib" >> INCS =? -I"D:/DEV-CPP/include"? -I"D:/DEV-CPP/include/c++" >> -I"D:/DEV-CPP/include"? -I"D:/Dev-Cpp/include/c++/mingw32" >> [...] > > Sorry, actually, I messed up my previous message. These lines in the new > makefile are: > > LIBS =? -L"C:/MinGW/lib" > INCS =? -I"C:/MinGW/include" -I"C:/dev/libebml" > > _______________________________________________ > 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 > -- Steve Lhomme Matroska association Chairman From szt0922 at gmail.com Tue Jan 25 11:06:11 2011 From: szt0922 at gmail.com (szt0922 at gmail.com) Date: Tue, 25 Jan 2011 19:06:11 +0900 Subject: [Matroska-devel] Compiling libebml with MinGW+MSYS In-Reply-To: References: Message-ID: Thanks for your reply. I downloaded libebml-1.0.0, and I was able to compile it without any problems. I don't really know what's going on, the latest version listed on the EBML project page is 0.6.0, then I found 1.0.0 on the Matroska repository, and then, there is already a libebml2. For now, I'd just like to experiment with it. I'm using an XML-based format to store various stuff in my project, but I'd like to move on to some kind of binary format. After I become familiar with it, I'll move to libebml2. (By the way, are you going to publish libebml2 source tarballs later on the Matroska repository?) Best regards, -------------- next part -------------- An HTML attachment was scrubbed... URL: From slhomme at matroska.org Tue Jan 25 11:08:04 2011 From: slhomme at matroska.org (Steve Lhomme) Date: Tue, 25 Jan 2011 11:08:04 +0100 Subject: [Matroska-devel] Compiling libebml with MinGW+MSYS In-Reply-To: References: Message-ID: On Tue, Jan 25, 2011 at 11:06 AM, wrote: > Thanks for your reply. > > I downloaded libebml-1.0.0, and I was able to compile it without any > problems. I don't really know what's going on, the latest version listed on > the EBML project page is 0.6.0, then I found 1.0.0 on the Matroska > repository, and then, there is already a libebml2. > > For now, I'd just like to experiment with it. I'm using an XML-based format > to store various stuff in my project, but I'd like to move on to some kind > of binary format. After I become familiar with it, I'll move to libebml2. > > (By the way, are you going to publish libebml2 source tarballs later on the > Matroska repository?) Yes, when it goes 1.0.0. The libebml2 part is actually stable & reliable now. I just need to add some features to libmatroska2 so it can go 1.0.0 too. > Best regards, > > _______________________________________________ > 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 > -- Steve Lhomme Matroska association Chairman From abraham4249 at gmail.com Tue Jan 25 12:05:25 2011 From: abraham4249 at gmail.com (abraham) Date: Tue, 25 Jan 2011 16:35:25 +0530 Subject: [Matroska-devel] Compiling libebml with MinGW+MSYS In-Reply-To: References: Message-ID: hi guys, i'm a student doing a project in AAC codec. we r trying to improve its efficiency using Perceptual Noise Substitution method, we need to get some hints as well as some papers from Audio Engg Society. can any one guide us.. hoping 4 de best.. abraham cochin university of science & technology, cochin-22 On Tue, Jan 25, 2011 at 3:38 PM, Steve Lhomme wrote: > On Tue, Jan 25, 2011 at 11:06 AM, wrote: > > Thanks for your reply. > > > > I downloaded libebml-1.0.0, and I was able to compile it without any > > problems. I don't really know what's going on, the latest version listed > on > > the EBML project page is 0.6.0, then I found 1.0.0 on the Matroska > > repository, and then, there is already a libebml2. > > > > For now, I'd just like to experiment with it. I'm using an XML-based > format > > to store various stuff in my project, but I'd like to move on to some > kind > > of binary format. After I become familiar with it, I'll move to libebml2. > > > > (By the way, are you going to publish libebml2 source tarballs later on > the > > Matroska repository?) > > Yes, when it goes 1.0.0. The libebml2 part is actually stable & > reliable now. I just need to add some features to libmatroska2 so it > can go 1.0.0 too. > > > Best regards, > > > > _______________________________________________ > > 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 > > > > > > -- > Steve Lhomme > Matroska association Chairman > _______________________________________________ > 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 > -- regards Abraham Philip 9400334942 -------------- next part -------------- An HTML attachment was scrubbed... URL: From kozlov.sergey.aleksandrovitch at gmail.com Wed Jan 26 13:39:19 2011 From: kozlov.sergey.aleksandrovitch at gmail.com (=?UTF-8?B?0KHQtdGA0LPQtdC5INCa0L7Qt9C70L7Qsg==?=) Date: Wed, 26 Jan 2011 14:39:19 +0200 Subject: [Matroska-devel] Adding multiple output pins for each stream Message-ID: Can you add multiple output pins for each stream? I have got file with 1 video and 2 audio streams. We have developed video player application to work with multiple streams with wmv files. I am developing the same for avi files. To continue, i need same, as i have got for wmv splitter, for avi files. Can you make it? Or is there any existed? First file is screenshot with my graph for wmv file. I need to do the same for avi file. Second file contains modified by me WMVDemux filter. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ??????? ????.png Type: image/png Size: 168086 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: WMFDemux.rar Type: application/rar Size: 710614 bytes Desc: not available URL: From slhomme at matroska.org Sun Jan 30 16:01:18 2011 From: slhomme at matroska.org (Steve Lhomme) Date: Sun, 30 Jan 2011 16:01:18 +0100 Subject: [Matroska-devel] Hi, question about the MKV tags In-Reply-To: References: Message-ID: I cc the official mailing list so that more people can take part in the discussion. On Sun, Jan 30, 2011 at 2:41 PM, Boris Juraga wrote: > Hi there, i have seen this example and many more, and even got to the > specifications and eve broke out the hex editor and started building a > tag reader for Matroska.... > > What i needed were the tags ORIGINAL_MEDIA_TYPE and CONTENT_TYPE at > http://www.matroska.org/technical/specs/tagging/index.html so i can > classify my videos and later build a MKV media library So they are there. What is missing then ? > I think you at Matroska need to set atleast some standards, or this > contaier will decay as many others. I know it is mass used and all its > "features" are great for me - but they are all just on paper, no app > uses tags, and many more features MKV is capable of. Why is that? I > would really appreciate few simple answers so i know is it worth it > for me to build apps around MKV. By worth it i mean my time not money > in any way, i love programing Well the success of Matroska is not based on tags. In fact right now nobody cares about tags. That's a PITA when you see so many hardware/PCs acting as media centers and there is no proper way to tell what file is what. This is precisely why tags exist in Matroska but we don't make all these softwares, we can only propose the specs and hope they will support it in a decent way. It worked for other Matroska features so hopefully it should work with that one too... It's a chicken and egg problem. One has to start somewhere. > I need someone from your team to tell me what is there for Matroska in > C#(C Sharp)? Can you provide me with a mechanism for reading tags, or > maybe entire Matroska file and build a "map"of all the elements? I am not sure there are much code doing Matroska in C# but here is one: https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/mkNETtools/ Googling "Matroska c#" will probably give you more results. Steve > I will be expecting your answer > Boris Juraga > > On Sun, Jan 30, 2011 at 2:30 PM, Steve Lhomme wrote: >> Hello Boris, >> >> Did you have a look at this page ? >> http://www.matroska.org/technical/specs/tagging/example-video.html >> >> There are ways to classify TV episodes in an unambiguous way. There >> are already some TV episodes in MKV on the net that use this system. >> >> Let me know if you have any questions or how your project goes. >> Tagging Matroska files properly and classifying is certainly something >> that is missing badly nowadays. >> >> Steve Lhomme >> >> On Fri, Jan 28, 2011 at 2:53 PM, Boris Juraga wrote: >>> I have a small question to ask about the tags for the MKV file (or MKA >>> in that matter): >>> >>> Is there a way of "classifying" the files for example like the WMV >>> files can be using the Zune tag editor? >>> >>> What i like to be able to do is classify my ONE-EPISODE-PER-MKV file >>> as a VIDEO-TVSHOW [major group - minor group] >>> >>> My idea would be to have some predefined way of classifying the MK* >>> files as: VIDEO, AUDIO, OTHER, and the VIDEO files as minor: MOVIE, >>> TVSHOW, MUSIC (for music videos), PERSONAL, OTHER >>> >>> I dont see option how to achieve this with the current tagging system, >>> if there is a way please let me know >>> >>> I am willing to make a tag editor for MKV/MKA files as i have >>> experience in C# and have already done few projects with MKV >>> >>> I will be expecting your answer, >>> Boris Juraga >>> >> >> >> >> -- >> Steve Lhomme >> Matroska association Chairman >> > -- Steve Lhomme Matroska association Chairman From slhomme at matroska.org Sun Jan 30 18:46:40 2011 From: slhomme at matroska.org (Steve Lhomme) Date: Sun, 30 Jan 2011 18:46:40 +0100 Subject: [Matroska-devel] Hi, question about the MKV tags In-Reply-To: References: Message-ID: Please reply on the mailing list if you really want everyone's point of view. On Sun, Jan 30, 2011 at 5:02 PM, Boris Juraga wrote: > On Sun, Jan 30, 2011 at 4:01 PM, Steve Lhomme wrote: >> I cc the official mailing list so that more people can take part in >> the discussion. >> >> On Sun, Jan 30, 2011 at 2:41 PM, Boris Juraga wrote: >>> Hi there, i have seen this example and many more, and even got to the >>> specifications and eve broke out the hex editor and started building a >>> tag reader for Matroska.... >>> >>> What i needed were the tags ORIGINAL_MEDIA_TYPE and CONTENT_TYPE at >>> http://www.matroska.org/technical/specs/tagging/index.html so i can >>> classify my videos and later build a MKV media library >> >> So they are there. What is missing then ? > > What is missing is the top devs agreeing on standardized members like > for the ?ORIGINAL_MEDIA_TYPE i propose there are: TV, DVD, VCD, > BLU-RAY, CAMERA, OTHER(SPECIFY). i hope you understand what i am > trying to say here. So then i can make my MKV Media Library classified > by TV. OK, so you want fixed values that anyone can rely on. Am I correct. Well there are already some values proposed. If you want to add more to the list, feel free to propose more values. > After that CONTENT_TYPE i propose there are tags like: SHOW, MOVIE, > SPECIALS, NEWS, MUSIC_VIDEO, COMMERCIAL, DOCUMENTARY, PERSONAL, > OTHER(SPECIFY) so if i have a MOVIE that i recorded from TV i will be > able to clasiffy it proper. Searching trough media library organized > like that wold be perfect for me and i hope for all others out there. Well, the values should not be in all uppercase. For Movie it's already there called "Feature Film". But you have to keep in mind that no field has a finished set of values. It can evolve in time. So if you design a tag system, you should not expect ONLY some pre-defined values. But obviously it's best if people use the predefined values when they exist. > I can do it now but i would like some predefined tags so i dont create > tags that only i and my software will read, and someone else creates > his own tags in future. > >> >>> I think you at Matroska need to set atleast some standards, or this >>> contaier will decay as many others. I know it is mass used and all its >>> "features" are great for me - but they are all just on paper, no app >>> uses tags, and many more features MKV is capable of. Why is that? I >>> would really appreciate few simple answers so i know is it worth it >>> for me to build apps around MKV. By worth it i mean my time not money >>> in any way, i love programing >> >> Well the success of Matroska is not based on tags. In fact right now >> nobody cares about tags. That's a PITA when you see so many >> hardware/PCs acting as media centers and there is no proper way to >> tell what file is what. This is precisely why tags exist in Matroska >> but we don't make all these softwares, we can only propose the specs >> and hope they will support it in a decent way. It worked for other >> Matroska features so hopefully it should work with that one too... >> It's a chicken and egg problem. One has to start somewhere. >> > > "Well the success of Matroska is not based on tags." I am well aware > of that, but it is a feature in Matroska that is maybe the most > neglected. I was hoping that part of the creators of Matroska are > people building the software around it, but Matroska is over 8 years > old now and not much going on i software around it. It is as you are > satisfied with the success now, and stopped caring for the future, > that is the scary thing and i think that is the reason no one is going > on to support features that exist only on paper as specs. I hoped > there will be more for this in C# as i am experienced in it. I guess i > will have to make a new library alone that will support the Matroska > container, not transferring AVI's in Matroska containers, as many > people still confuse container and codec and think that is what > Matroska is. There is already a lot to deal with. And I personally push for tags every time I have the occasion, even for WebM. Tags alone is a huge task. I've thought many times of making a proper tag editor, but I have to finish libebml2 and libmatroska2 first. If someone else want to pick the task, they are welcome and I will help where I can. >>> I need someone from your team to tell me what is there for Matroska in >>> C#(C Sharp)? Can you provide me with a mechanism for reading tags, or >>> maybe entire Matroska file and build a "map"of all the elements? >> >> I am not sure there are much code doing Matroska in C# but here is one: >> https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/mkNETtools/ >> >> Googling "Matroska c#" will probably give you more results. >> >> Steve >> >>> I will be expecting your answer >>> Boris Juraga >>> >>> On Sun, Jan 30, 2011 at 2:30 PM, Steve Lhomme wrote: >>>> Hello Boris, >>>> >>>> Did you have a look at this page ? >>>> http://www.matroska.org/technical/specs/tagging/example-video.html >>>> >>>> There are ways to classify TV episodes in an unambiguous way. There >>>> are already some TV episodes in MKV on the net that use this system. >>>> >>>> Let me know if you have any questions or how your project goes. >>>> Tagging Matroska files properly and classifying is certainly something >>>> that is missing badly nowadays. >>>> >>>> Steve Lhomme >>>> >>>> On Fri, Jan 28, 2011 at 2:53 PM, Boris Juraga wrote: >>>>> I have a small question to ask about the tags for the MKV file (or MKA >>>>> in that matter): >>>>> >>>>> Is there a way of "classifying" the files for example like the WMV >>>>> files can be using the Zune tag editor? >>>>> >>>>> What i like to be able to do is classify my ONE-EPISODE-PER-MKV file >>>>> as a VIDEO-TVSHOW [major group - minor group] >>>>> >>>>> My idea would be to have some predefined way of classifying the MK* >>>>> files as: VIDEO, AUDIO, OTHER, and the VIDEO files as minor: MOVIE, >>>>> TVSHOW, MUSIC (for music videos), PERSONAL, OTHER >>>>> >>>>> I dont see option how to achieve this with the current tagging system, >>>>> if there is a way please let me know >>>>> >>>>> I am willing to make a tag editor for MKV/MKA files as i have >>>>> experience in C# and have already done few projects with MKV >>>>> >>>>> I will be expecting your answer, >>>>> Boris Juraga >>>>> >>>> >>>> >>>> >>>> -- >>>> Steve Lhomme >>>> Matroska association Chairman >>>> >>> >> >> >> >> -- >> Steve Lhomme >> Matroska association Chairman >> > -- Steve Lhomme Matroska association Chairman From slhomme at matroska.org Sun Jan 30 18:49:17 2011 From: slhomme at matroska.org (Steve Lhomme) Date: Sun, 30 Jan 2011 18:49:17 +0100 Subject: [Matroska-devel] Hi, question about the MKV tags In-Reply-To: References: Message-ID: PS: the same goes for cover art. For a long time there was no standard way to do it. It's been added on the website and now we still need Media Centers or any "visual" player to support it. One way or another we will have to push in that direction too. As you can see, there's a lot to do. It's not just one software to code for, but all of them (at least the open source ones). From ogre at chaocracy.net Sun Jan 30 19:13:36 2011 From: ogre at chaocracy.net (Kristopher Gilbert) Date: Sun, 30 Jan 2011 13:13:36 -0500 Subject: [Matroska-devel] Hi, question about the MKV tags In-Reply-To: References: Message-ID: <4c20a53c-4a83-4c68-8a05-82c1fa4a14e7@chaocracy.net> There was a bit of discussion about mkNETtool on this list a while ago. This code hasn't been updated in years. It also requires J# as one of the projects it references is written in J#. I assume it's a port from Java. I got the code to compile once but it didn't work with any modern MKV files. -----Original Message----- From: matroska-devel-bounces at lists.matroska.org [mailto:matroska-devel-bounces at lists.matroska.org] On Behalf Of Steve Lhomme Sent: Sunday, January 30, 2011 12:47 PM To: Boris Juraga Cc: Matroska Devel Subject: Re: [Matroska-devel] Hi, question about the MKV tags >> I am not sure there are much code doing Matroska in C# but here is one: >> https://matroska.svn.sourceforge.net/svnroot/matroska/trunk/mkNETtool From Krispy3000 at gmail.com Sun Jan 30 21:01:11 2011 From: Krispy3000 at gmail.com (Kris Baumgartner) Date: Sun, 30 Jan 2011 20:01:11 +0000 (UTC) Subject: [Matroska-devel] Haali subchapter support is broken Message-ID: Haali doesn't display subchapters even though it's supposed to: 28/01/2005 Added a much better language selection option, you can specify audio&sub language pairs now, added nested chapters support. I created the subchapters using mkvmerge's chapter editor and tested that they were valid by using Gabset which did properly display them. From slhomme at matroska.org Mon Jan 31 10:23:54 2011 From: slhomme at matroska.org (Steve Lhomme) Date: Mon, 31 Jan 2011 10:23:54 +0100 Subject: [Matroska-devel] Hi, question about the MKV tags In-Reply-To: References: Message-ID: The example set of possible values are right there in the specs: http://www.matroska.org/technical/specs/tagging/index.html ORIGINAL_MEDIA_TYPE UTF-8 Describes the original type of the media, such as, "DVD", "CD", "computer image," "drawing," "lithograph," and so forth. This is akin to the TMED tag in ID3. CONTENT_TYPE UTF-8 The type of the item. e.g. Documentary, Feature Film, Cartoon, Music Video, Music, Sound FX, ... Now I realize that these values are in English. It may not be very interesting to have the fields that have a set of (text) values to be in text form. On the other hand when it's a known value it may be translated from that known value (when writing it needs to be put in English, when it's a known value). The media type values should probably be the ones described here: http://www.id3.org/id3v2.3.0#TMED It's missing Bluray. If you can think of any values missing we'll add it to the specs (soon enough). For the XML it's pretty easy, you take the example in http://www.matroska.org/technical/specs/tagging/example-video.html and add a ORIGINAL_MEDIA_TYPE in the section for the "whole show". For the C# code unfortunately I cannot help. And please use the mailing list if you want to have a chance to be read by people who can actually help you. On Sun, Jan 30, 2011 at 7:06 PM, Boris Juraga wrote: > On Sun, Jan 30, 2011 at 6:49 PM, Steve Lhomme wrote: >> PS: the same goes for cover art. For a long time there was no standard >> way to do it. It's been added on the website and now we still need >> Media Centers or any "visual" player to support it. One way or another >> we will have to push in that direction too. >> >> As you can see, there's a lot to do. It's not just one software to >> code for, but all of them (at least the open source ones). >> > > Well i appreciate that, i hope you consider my emails as a > constructive criticism, as that is the reason i wrote them, and also > to see where things stand for Matroska. > > I have already used the cover art standard for big part of my > collection. Now i have all subtitles and all cover art inside my mkv's > and i can read them out and display them in my media library app. But > so far i have used code from all over the internet and i like to make > a C# library that will be able to read\write MKV (possibly all other > Matroska) - and i dont mean transfer .avi or something in .mkv, but > editing mkv attachments and tags. What do you think is really the > usability of that kind of lib? I am not really familiar with hosting > open source projects and getting help from others so any pointers are > welcome. Also i need more help on forming the xml tags for now to be > able to test against .mkv's with tags inside. On the web there are no > examples including ORIGINAL_MEDIA_TYPE and CONTENT_TYPE tags. Can you > create one simple xml draft for me? Scenario is: MKV containing Dexter > episode 1 season 1. Also where can i find the list containing the > "Feature Film" and others? > > Thanks for the quick answers and the help so far, > Boris Juraga > -- Steve Lhomme Matroska association Chairman From boris.juraga at gmail.com Mon Jan 31 12:11:36 2011 From: boris.juraga at gmail.com (Boris Juraga) Date: Mon, 31 Jan 2011 12:11:36 +0100 Subject: [Matroska-devel] Hi, question about the MKV tags In-Reply-To: References: Message-ID: Ok, thanks for the help so far. Now i have something to go on and start building the C# library. I guess i will have to make one for the EBML and one for Matroska. Besides that i will have to explore more on the voiding so maybe i will be able to use some "empty" place after the tags so no remux is needed. As for the ORIGINAL_MEDIA_TYPE and CONTENT_TYPE, i first found them existing in media files using the Microsoft Zune Software for the few .wmv files i had. Then i started searching for similar things in Matroska. In vmw they use some {9032-02938......} UID's for those fields and they only display the "user-friendly" string. I think you can make something of this for the future. On Mon, Jan 31, 2011 at 10:23 AM, Steve Lhomme wrote: > The example set of possible values are right there in the specs: > http://www.matroska.org/technical/specs/tagging/index.html > > ORIGINAL_MEDIA_TYPE ? ? UTF-8 ? Describes the original type of the media, > such as, "DVD", "CD", "computer image," "drawing," "lithograph," and > so forth. This is akin to the TMED tag in ID3. > CONTENT_TYPE ? ?UTF-8 ? The type of the item. e.g. Documentary, Feature > Film, Cartoon, Music Video, Music, Sound FX, ... > > Now I realize that these values are in English. It may not be very > interesting to have the fields that have a set of (text) values to be > in text form. On the other hand when it's a known value it may be > translated from that known value (when writing it needs to be put in > English, when it's a known value). > > The media type values should probably be the ones described here: > http://www.id3.org/id3v2.3.0#TMED > It's missing Bluray. If you can think of any values missing we'll add > it to the specs (soon enough). > > For the XML it's pretty easy, you take the example in > http://www.matroska.org/technical/specs/tagging/example-video.html and > add a ORIGINAL_MEDIA_TYPE in the section for the "whole show". > > For the C# code unfortunately I cannot help. > > And please use the mailing list if you want to have a chance to be > read by people who can actually help you. > > On Sun, Jan 30, 2011 at 7:06 PM, Boris Juraga wrote: >> On Sun, Jan 30, 2011 at 6:49 PM, Steve Lhomme wrote: >>> PS: the same goes for cover art. For a long time there was no standard >>> way to do it. It's been added on the website and now we still need >>> Media Centers or any "visual" player to support it. One way or another >>> we will have to push in that direction too. >>> >>> As you can see, there's a lot to do. It's not just one software to >>> code for, but all of them (at least the open source ones). >>> >> >> Well i appreciate that, i hope you consider my emails as a >> constructive criticism, as that is the reason i wrote them, and also >> to see where things stand for Matroska. >> >> I have already used the cover art standard for big part of my >> collection. Now i have all subtitles and all cover art inside my mkv's >> and i can read them out and display them in my media library app. But >> so far i have used code from all over the internet and i like to make >> a C# library that will be able to read\write MKV (possibly all other >> Matroska) - and i dont mean transfer .avi or something in .mkv, but >> editing mkv attachments and tags. What do you think is really the >> usability of that kind of lib? I am not really familiar with hosting >> open source projects and getting help from others so any pointers are >> welcome. Also i need more help on forming the xml tags for now to be >> able to test against .mkv's with tags inside. On the web there are no >> examples including ORIGINAL_MEDIA_TYPE and CONTENT_TYPE tags. Can you >> create one simple xml draft for me? Scenario is: MKV containing Dexter >> episode 1 season 1. Also where can i find the list containing the >> "Feature Film" and others? >> >> Thanks for the quick answers and the help so far, >> Boris Juraga >> > > > > -- > Steve Lhomme > Matroska association Chairman > From boris.juraga at gmail.com Mon Jan 31 12:59:33 2011 From: boris.juraga at gmail.com (Boris Juraga) Date: Mon, 31 Jan 2011 12:59:33 +0100 Subject: [Matroska-devel] Hi, question about the MKV tags In-Reply-To: References: Message-ID: I need one more question answered for testing purpose only i will be using mkvmerge to add tags to a file and see if i can read them. Now mkvmerge has option to add the xml file to the video,audio,sutitle tacks or as global. I was so far using the global method, but on the mkvmerge documentation there is a note that global tags are 99% not what anyone needs. I would normally ask Moritz but he reply to me that he is busy this week so i ask out here. What option shoud i use: place the tags xml on the video track in the first tab of mkvmerge, OR place the tags xml as global tags in the third tab of mkvmerge? From slhomme at matroska.org Mon Jan 31 13:07:40 2011 From: slhomme at matroska.org (Steve Lhomme) Date: Mon, 31 Jan 2011 13:07:40 +0100 Subject: [Matroska-devel] Hi, question about the MKV tags In-Reply-To: References: Message-ID: >From what you want to do it's most likely to be the global tabs in the 3rd panel. On Mon, Jan 31, 2011 at 12:59 PM, Boris Juraga wrote: > I need one more question answered for testing purpose only i will be > using mkvmerge to add tags to a file and see if i can read them. Now > mkvmerge has option to add the xml file to the video,audio,sutitle > tacks or as global. I was so far using the global method, but on the > mkvmerge documentation there is a note that global tags are 99% not > what anyone needs. I would normally ask Moritz but he reply to me that > he is busy this week so i ask out here. What option shoud i use: place > the tags xml on the video track in the first tab of mkvmerge, OR place > the tags xml as global tags in the third tab of mkvmerge? > -- Steve Lhomme Matroska association Chairman From sjimeno at ya.com Mon Jan 31 13:23:21 2011 From: sjimeno at ya.com (Santiago Jimeno) Date: Mon, 31 Jan 2011 13:23:21 +0100 Subject: [Matroska-devel] Hi, question about the MKV tags In-Reply-To: References: Message-ID: Hi all In the email I sent speaking about CodecSpecs a while ago, I said that I would write other about Tags. I think the current message provides me this opportunity. Reading Tags is relatively easy (in spite of Nested Tags) in Visual .NET because of the easiness that .NET provides to work with XML Documents. Editing or re-writing Tags is complicated. But I have it done in my program FileList. But it's not still completed because of the difficulties that I have found with Cover Art. Cover Art are in a Attachments block (separated of Tags block) that is a bag for everything that also includes fonts, text and subtitles and located in any place of the file. The result in this case is that, in spite of its initial advantages, it doesn't exist a program for editing Tags and I think it's for the extreme difficulty that implies to almost modify the whole file. I think that to have two different blocks for Tags and Pictures is not a good design. In Flac files a similar thing happens. I am working in two possible solutions. 1.- Declaring VOID the block part that contains Pictures and writing them at the file end (next to Tags) in a second Attachments block. 2.- Including them in a new SimpleTag COVERART inside TAGS, maintaining its structure. The binary data could be written as or as in Base64 so that was compatible with UTF8 (Vorbis Comments do it this way). If somebody wants to test FileList program, one can download it in http://personales.ya.com/sjimeno/Download/MATROSKAFileList.zip To show edit form --> double click in List Item. This program is designed for audio files MKA, although it also reads video files MKV. Apply Tags edition is disabled at the moment due to the problem above mentioned. Regards. Santiago Jimeno From slhomme at matroska.org Mon Jan 31 13:32:56 2011 From: slhomme at matroska.org (Steve Lhomme) Date: Mon, 31 Jan 2011 13:32:56 +0100 Subject: [Matroska-devel] Hi, question about the MKV tags In-Reply-To: References: Message-ID: The reason for this is that some apps may support attachments and not tags. The cover art system is much simpler to support than tags (when done properly). And yes, when editing tags/cover art you have to check if it can fit in the original place, if not you have to : - void the old version - write the new version at the end - update the segment size - update the position of the tags/attachment in the SeekHead section That's more or less what you'd have to do in any container anyway, except some may not have a Void element and would always put these data at the end (not nice for network reading). On Mon, Jan 31, 2011 at 1:23 PM, Santiago Jimeno wrote: > Hi all > > In the email I sent speaking about CodecSpecs a while ago, I said that I > would write other about Tags. > I think the current message provides me this opportunity. > > Reading Tags is relatively easy (in spite of Nested Tags) in Visual .NET > because of the easiness that .NET provides to work with XML Documents. > > Editing or re-writing Tags is complicated. But I have it done in my program > FileList. > But it's not still completed because of the difficulties that I have found > with Cover Art. > > Cover Art are in a Attachments block (separated of Tags block) that is a bag > for everything that also includes fonts, text and subtitles and located in > any place of the file. The result in this case is that, in spite of its > initial advantages, it doesn't exist a program for editing Tags and I think > it's for the extreme difficulty that implies to almost modify the whole > file. I think that to have two different blocks for Tags and Pictures is not > a good design. In Flac files a similar thing happens. > > I am working in two possible solutions. > 1.- Declaring VOID the block part that contains Pictures and writing them at > the file end (next to Tags) in a second Attachments block. > 2.- Including them in a new SimpleTag COVERART inside TAGS, > maintaining its structure. The binary data could be written as > or as in Base64 so that was compatible with UTF8 (Vorbis > Comments do it this way). > > If somebody wants to test FileList program, one can download it in > http://personales.ya.com/sjimeno/Download/MATROSKAFileList.zip > To show edit form --> double click in List Item. > This program is designed for audio files MKA, although it also reads video > files MKV. Apply Tags edition is disabled at the moment due to the problem > above mentioned. > > Regards. Santiago Jimeno > > _______________________________________________ > 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 > -- Steve Lhomme Matroska association Chairman From boris.juraga at gmail.com Mon Jan 31 16:16:57 2011 From: boris.juraga at gmail.com (Boris Juraga) Date: Mon, 31 Jan 2011 16:16:57 +0100 Subject: [Matroska-devel] Hi, question about the MKV tags In-Reply-To: References: Message-ID: OK, so far i have made a simple lib that reads tags and attachments out of the file. Still not finished with the adding to the file, but that is job for mkvmerge for now. I am now able to create a Tag reader and a Tag creator, after some testing i hope to make the most important part - the Tag writer. I just need to make some tag "profiles" for different scenarios.