From m.bunkus at linet-services.de Sun Aug 1 13:51:17 2004 From: m.bunkus at linet-services.de (Moritz Bunkus) Date: Sun, 1 Aug 2004 13:51:17 +0200 Subject: [Matroska-devel] timecode scale handling & sample precision Message-ID: <20040801115117.GD8684@bunkus.org> Hi, until now I really didn't care all that much, but now that I'm implementing sample precision I have to care. So I took the time to study the current explanation for the timecode scale handling available at http://www.matroska.org/technical/specs/notes.html#TimecodeScale It is wrong. Let's take the sample rate of 44100. A timecode scale parameter of 1000000000/44100 is 22675.736961. The example uses 22676 which results in a precision that is LESS than the sample rate. There's no way to to regenerate 44100 different sample numbers from < 44100 different values. It must be 22675 - always _truncate_ the timecode scale factor. The next thing is: To determine which sample that is, (313450348 / 1000000000) * 44100 = ~13823.16 Check to see if the value is greater than the truncated version of itself and if so, round up. A value is always at least as big as its truncated value! So this will simply result in wrong values. You're throwing away up to nearly 1 sample of time. There's NO way a program can regenerate that from the raw timecode and the timecode scale factor. Here's how to use it right including a small demonstration application: (I'll use $var for a variable name because the text might be confusing otherwise.) Use the following timecode scale value: $tc_scale = (int64_t)(1000000000ll / $sample_rate) Let's assume we have a sample number $sample, the sample rate $sample_rate and the timecode scale factor as given above. We further need a function that can round a value to the nearest integer (in this case the nearest 64bit integer). We can use a simple #define for this: #define irnd(v) ((int64_t)((v) + 0.5) > (int64_t)(v) ? \ (int64_t)((v) + 0.5) : (int64_t)(v)) The 'original' timecode $unscaled_timecode is the one the application deals with. It is obviously just $unscaled_timecode = 1000000000ll * $sample / $sample_rate Easy enough. Even better wound be using double precision and rounding, but 1ns is WAY below any sensible $sample_rate so we can live with the imprecision of just truncating this value to the lower ns. Next: the $scaled_timecode is the one that is actually written to the Matroska file. Other folks call this the 'raw' timecode. I'll use 'scaled' for timecodes whose unit is '1 $tc_scale' and 'unscaled' for timecodes whose unit is '1ns'. --> Here we HAVE to round! <-- This timecode is $scaled_timecode = irnd((double)$unscaled_timecode / (double)$tc_scale) Now we have a nice scaled timecode in our file. Another application wants to read such a file, gets $tc_scale from the header and reads a block. Inside that file it finds $scaled_timecode for that block. From that it can calculated the 'unscaled' timecode on the reader's part: $rescaled_timecode = $scaled_timecode * $tc_scale Easy. No rounding needed obviously because we multiply integers in the first place. How does the application get the sample number from this? Again this involves... --> ROUNGIN! <-- $recalculated_sample = irnd((double)$rescaled_timecode * $sample_rate / 1000000000.0l) Et voila. That's it. I've attached a small test application that demonstrates this for a sample rate of 44100. It will output each of the four values along with a string 'ok' or 'NOT OK!' if the $sample is equal to or different from the $recalculated_sample. If you don't believe me just test it, redirect the output to a file and search for 'NOT OK'. You won't find it. I REALLY hope I'm not making a mistake here, but I'm pretty sure I don't. So I'll overhaul the web page mentioned at the beginning with this information and modify mkvmerge accordingly if no one objects. Mosu -- LINET Services Bunkus, Geisler und Reetz GbR Gotenweg 15 Tel.: 0531-280 191 71 38106 Braunschweig Fax.: 0531-280 191 72 http://www.linet-services.de mailto:info at linet-services.de -------------- next part -------------- A non-text attachment was scrubbed... Name: tcscale-working.c Type: text/x-csrc Size: 1180 bytes Desc: not available URL: From nleguen at pepper-prod.com Sun Aug 1 14:40:58 2004 From: nleguen at pepper-prod.com (Nicolas Le Guen) Date: Sun, 01 Aug 2004 14:40:58 +0200 Subject: [Matroska-devel] Multiple CDs in MKA In-Reply-To: <410B6990.20709@free.fr> References: <410B6990.20709@free.fr> Message-ID: <410CE4DA.5010400@pepper-prod.com> Please find attached a first pre-version of a CD to mka guide. As you can see in it, Steve was right: It's better not to use EditionEntry to seperate different discs of a multi CD set ;-) Please report any error, typo, grammatical monstrosity or simply comment. Thanks. Goldenear -------------- next part -------------- A non-text attachment was scrubbed... Name: cd2mka_howto_eng.pdf Type: application/pdf Size: 81205 bytes Desc: not available URL: From moritz at bunkus.org Sun Aug 1 16:18:00 2004 From: moritz at bunkus.org (Moritz Bunkus) Date: Sun, 1 Aug 2004 16:18:00 +0200 Subject: [Matroska-devel] timecode scale handling & sample precision In-Reply-To: <20040801115117.GD8684@bunkus.org> References: <20040801115117.GD8684@bunkus.org> Message-ID: <20040801141800.GE8684@bunkus.org> Hi, my way doesn't work either. Just increase the 'sample < sample_rate' in the for loop with 'sample < 2 * sample_rate' and you'll see errors. Mosu -- If Darl McBride was in charge, he'd probably make marriage unconstitutional too, since clearly it de-emphasizes the commercial nature of normal human interaction, and probably is a major impediment to the commercial growth of prostitution. - Linus Torvalds From moritz at bunkus.org Sun Aug 1 16:54:50 2004 From: moritz at bunkus.org (Moritz Bunkus) Date: Sun, 1 Aug 2004 16:54:50 +0200 Subject: [Matroska-devel] timecode scale handling & sample precision In-Reply-To: <20040801115117.GD8684@bunkus.org> References: <20040801115117.GD8684@bunkus.org> Message-ID: <20040801145450.GF8684@bunkus.org> Hi, Problem solved, thanks to Atamido. > $unscaled_timecode = 1000000000ll * $sample / $sample_rate > > Easy enough. Even better wound be using double precision and rounding, > but 1ns is WAY below any sensible $sample_rate so we can live with the > imprecision of just truncating this value to the lower ns. This is bullshit :) You have to round here as well. See the attached test program. Mosu -- If Darl McBride was in charge, he'd probably make marriage unconstitutional too, since clearly it de-emphasizes the commercial nature of normal human interaction, and probably is a major impediment to the commercial growth of prostitution. - Linus Torvalds -------------- next part -------------- A non-text attachment was scrubbed... Name: tcscale-working.c Type: text/x-csrc Size: 1458 bytes Desc: not available URL: From Sebastian at Hartte.de Sun Aug 1 20:40:20 2004 From: Sebastian at Hartte.de (Sebastian Hartte) Date: Sun, 01 Aug 2004 20:40:20 +0200 Subject: [Matroska-devel] Re: [gst-devel] Call for ideas : Video and Audio sinks for Gstreamer on Windows In-Reply-To: <410B9314.1010406@matroska.org> References: <410B9314.1010406@matroska.org> Message-ID: <410D3914.8090801@Hartte.de> ChristianHJW wrote: > > Hi folks, > > this is a call for ideas. It seems Steve has gstreamer and more than > 60 plugins compiled and working on Windows, using MSVC 7. Now, i hope > to get some interest from player developers to have their player based > on it, covering the two most used platforms ( Linux and Windows ) with > one single player this way. > > To be able to use gstreamer on Windows for a player, we need output > sinks. How do we best do that ? DirectX ? > > Thanks for your input > > Christian > matroska project admin > > > BTW : I was first striked, then banned for a period of 30 days from > doom9.org for having posted this here : > http://forum.doom9.org/showthread.php?s=&threadid=80245 . Crazy place, > isnt it ? I think that multiple sinks should be provided. My two favorite players (media player classic from guliverkli and winamp) use VMR7/VMR9 and Offscreen Overlays for Video and waveout or DirectSound for Audio. Since mplayerc is opensource one could have a look at their implementation as well. I personally prefer VMR9 over any other video sink because of its speed and features though. bye, Sebastian Hartte From Sebastian at Hartte.de Sun Aug 1 20:44:44 2004 From: Sebastian at Hartte.de (Sebastian Hartte) Date: Sun, 01 Aug 2004 20:44:44 +0200 Subject: [Matroska-devel] Re: [gst-devel] Call for ideas : Video and Audio sinks for Gstreamer on Windows In-Reply-To: <410B9314.1010406@matroska.org> References: <410B9314.1010406@matroska.org> Message-ID: <410D3A1C.4090607@Hartte.de> Oh i almost forgot, is there some way of creating a wrapper element for DirectShow filters? Given the GUID of a filter it should be possible for an element to dynamically create all the pads (pins) and hold an instance of the filter internally. I suppose that could increase the use of gstreamer on windows dramatically since it could be used to play propietary file formats without some nasty hacked wrapper code. (Windows Media 8, 9, etc.) bye, Storm From chris at matroska.org Sun Aug 1 21:13:43 2004 From: chris at matroska.org (Christian HJ Wiesner) Date: Sun, 01 Aug 2004 21:13:43 +0200 Subject: [Matroska-devel] Re: Call for ideas : Video and Audio sinks for Gstreamer on Windows In-Reply-To: <410D3914.8090801@Hartte.de> References: <410B9314.1010406@matroska.org> <410D3914.8090801@Hartte.de> Message-ID: <410D40E7.2010802@matroska.org> Sebastian Hartte wrote: > I think that multiple sinks should be provided. My two favorite players > (media player classic from guliverkli and winamp) use VMR7/VMR9 and > Offscreen Overlays for Video and waveout or DirectSound for Audio. Since > mplayerc is opensource one could have a look at their implementation as > well. I personally prefer VMR9 over any other video sink because of its > speed and features though. > bye, Sebastian Hartte BTW .. could we have a look at how the Real network guys are doing it with Helix ? Its also a x-platform multimedia framework, so they certainly had to solve the same problems as we are facing now. We maybe cant use the code directly, even if they have changed the license to GPL now ( we need L-GPL ), but it could be some nice 'inspiration' to look at it ? ChristianHJW matroska project admin From chris at matroska.org Sun Aug 1 21:15:54 2004 From: chris at matroska.org (Christian HJ Wiesner) Date: Sun, 01 Aug 2004 21:15:54 +0200 Subject: [Matroska-devel] Re: [gst-devel] Call for ideas : Video and Audio sinks for Gstreamer on Windows In-Reply-To: <410D3A1C.4090607@Hartte.de> References: <410B9314.1010406@matroska.org> <410D3A1C.4090607@Hartte.de> Message-ID: <410D416A.3020700@matroska.org> Sebastian Hartte wrote: > Oh i almost forgot, > is there some way of creating a wrapper element for DirectShow filters? > Given the GUID of a filter it should be possible for > an element to dynamically create all the pads (pins) and hold an > instance of the filter internally. I suppose that could increase > the use of gstreamer on windows dramatically since it could be used to > play propietary file formats without some nasty > hacked wrapper code. (Windows Media 8, 9, etc.) > bye, Storm This is certainly possible, but i expect it wouldnt be very easy to do, and the goal must be that all plugins for gstreamer are usable on all supported platforms, not just Windows, IMO. ChristianHJW matroska project admin http://www.matroska.org From R.S.Bultje at students.uu.nl Sun Aug 1 16:00:12 2004 From: R.S.Bultje at students.uu.nl (Ronald S. Bultje) Date: Sun, 01 Aug 2004 16:00:12 +0200 Subject: [Matroska-devel] Re: [gst-devel] Call for ideas : Video and Audio sinks for Gstreamer on Windows In-Reply-To: <410D3A1C.4090607@Hartte.de> References: <410B9314.1010406@matroska.org> <410D3A1C.4090607@Hartte.de> Message-ID: <1091368811.8573.0.camel@shrek.bitfreak.net> On Sun, 2004-08-01 at 20:44, Sebastian Hartte wrote: > is there some way of creating a wrapper element for DirectShow filters? > Given the GUID of a filter it should be possible for > an element to dynamically create all the pads (pins) and hold an > instance of the filter internally. I suppose that could increase > the use of gstreamer on windows dramatically since it could be used to > play propietary file formats without some nasty > hacked wrapper code. (Windows Media 8, 9, etc.) Yes, the ffmpeg and ladspa wrapper plugins use that method. Ronald From R.S.Bultje at students.uu.nl Sun Aug 1 16:00:37 2004 From: R.S.Bultje at students.uu.nl (Ronald S. Bultje) Date: Sun, 01 Aug 2004 16:00:37 +0200 Subject: [Matroska-devel] Re: [gst-devel] Call for ideas : Video and Audio sinks for Gstreamer on Windows In-Reply-To: <410D3914.8090801@Hartte.de> References: <410B9314.1010406@matroska.org> <410D3914.8090801@Hartte.de> Message-ID: <1091368837.8585.2.camel@shrek.bitfreak.net> On Sun, 2004-08-01 at 20:40, Sebastian Hartte wrote: > I think that multiple sinks should be provided. My two favorite players > (media player classic from guliverkli and winamp) use VMR7/VMR9 and > Offscreen Overlays for Video and waveout or DirectSound for Audio. Since > mplayerc is opensource one could have a look at their implementation as > well. I personally prefer VMR9 over any other video sink because of its > speed and features though. Can't do; mplayer is GPL, GStreamer is LGPL. Ronald From R.S.Bultje at students.uu.nl Sun Aug 1 16:08:19 2004 From: R.S.Bultje at students.uu.nl (Ronald S. Bultje) Date: Sun, 01 Aug 2004 16:08:19 +0200 Subject: [Matroska-devel] Re: [gst-devel] Call for ideas : Video and Audio sinks for Gstreamer on Windows In-Reply-To: <410D416A.3020700@matroska.org> References: <410B9314.1010406@matroska.org> <410D3A1C.4090607@Hartte.de> <410D416A.3020700@matroska.org> Message-ID: <1091369299.8585.4.camel@shrek.bitfreak.net> On Sun, 2004-08-01 at 21:15, Christian HJ Wiesner wrote: > This is certainly possible, but i expect it wouldnt be very easy to do, > and the goal must be that all plugins for gstreamer are usable on all > supported platforms, not just Windows, IMO. I doubt that that is possible. This will require some application magic. It's not as easy as we'd sometimes wish. Ronald From Sebastian at Hartte.de Mon Aug 2 00:17:29 2004 From: Sebastian at Hartte.de (Sebastian Hartte) Date: Mon, 02 Aug 2004 00:17:29 +0200 Subject: [Matroska-devel] Re: [gst-devel] Call for ideas : Video and Audio sinks for Gstreamer on Windows In-Reply-To: <410D416A.3020700@matroska.org> References: <410B9314.1010406@matroska.org> <410D3A1C.4090607@Hartte.de> <410D416A.3020700@matroska.org> Message-ID: <410D6BF9.9060803@Hartte.de> Christian HJ Wiesner wrote: > Sebastian Hartte wrote: > >> Oh i almost forgot, >> is there some way of creating a wrapper element for DirectShow filters? >> Given the GUID of a filter it should be possible for >> an element to dynamically create all the pads (pins) and hold an >> instance of the filter internally. I suppose that could increase >> the use of gstreamer on windows dramatically since it could be used to >> play propietary file formats without some nasty >> hacked wrapper code. (Windows Media 8, 9, etc.) >> bye, Storm > > > This is certainly possible, but i expect it wouldnt be very easy to > do, and the goal must be that all plugins for gstreamer are usable on > all supported platforms, not just Windows, IMO. However, the video and audio sinks wont be usable on Linux as well and i don't see any native WMV plugin coming to Linux (or any other platform) any time soon. From Sebastian at Hartte.de Mon Aug 2 00:18:13 2004 From: Sebastian at Hartte.de (Sebastian Hartte) Date: Mon, 02 Aug 2004 00:18:13 +0200 Subject: [Matroska-devel] Re: [gst-devel] Call for ideas : Video and Audio sinks for Gstreamer on Windows In-Reply-To: <1091368837.8585.2.camel@shrek.bitfreak.net> References: <410B9314.1010406@matroska.org> <410D3914.8090801@Hartte.de> <1091368837.8585.2.camel@shrek.bitfreak.net> Message-ID: <410D6C25.8080404@Hartte.de> Ronald S. Bultje wrote: >On Sun, 2004-08-01 at 20:40, Sebastian Hartte wrote: > > >>I think that multiple sinks should be provided. My two favorite players >>(media player classic from guliverkli and winamp) use VMR7/VMR9 and >>Offscreen Overlays for Video and waveout or DirectSound for Audio. Since >>mplayerc is opensource one could have a look at their implementation as >>well. I personally prefer VMR9 over any other video sink because of its >>speed and features though. >> >> > >Can't do; mplayer is GPL, GStreamer is LGPL. > >Ronald > I didn't mean "look at" as in "copy & paste" but rather "look at" as in "get ideas" ;) Sebastian -------------- next part -------------- An HTML attachment was scrubbed... URL: From steve.lhomme at free.fr Mon Aug 2 13:23:51 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Mon, 02 Aug 2004 13:23:51 +0200 Subject: [Matroska-devel] Re: Multiple CDs in MKA Message-ID: <410E2447.6090601@free.fr> * Typo : - tags concerning to -> the tags corresponding to - Here is a non exhaustive of the tags we will use: - is a backup of a singe audio CD - are sometimes use to ?separate? * concept : "If the mka file has no chapters, all the tags are affected to the track." Are you talking about Matroska tracks or CD tracks ? * Maybe add simple hierarchy examples for 1 CD/multi CDs like : EditionEntry Tags about the whole album Chapter 1 : track 1 Tags about track 1 Chapter 1.1 : index 01 Tags about track 1, index 01 Chapter 2 : track 2 Tags about track 2 etc... Otherwise the document is very clear. At least for me... Why did you choose PDF instead of an HTML file ? You could put the technical side on the website and the user part (to come) in the "guides" part of the website. -- robUx4 on blog From steve.lhomme at free.fr Mon Aug 2 13:42:42 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Mon, 02 Aug 2004 13:42:42 +0200 Subject: [Matroska-devel] Re: Call for ideas : Video and Audio sinks for Gstreamer on Windows In-Reply-To: <410D3914.8090801@Hartte.de> References: <410B9314.1010406@matroska.org> <410D3914.8090801@Hartte.de> Message-ID: <410E28B2.7060104@free.fr> Sebastian Hartte a ?crit : > I think that multiple sinks should be provided. My two favorite players > (media player classic from guliverkli and winamp) use VMR7/VMR9 and > Offscreen Overlays for Video and waveout or DirectSound for Audio. Since > mplayerc is opensource one could have a look at their implementation as > well. I personally prefer VMR9 over any other video sink because of its > speed and features though. At least SDL could be used under Windows. Apparently it only deals with video :( But of course it would be better in the end to have some plugins that use the native Windows API. From steve.lhomme at free.fr Mon Aug 2 13:45:29 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Mon, 02 Aug 2004 13:45:29 +0200 Subject: [Matroska-devel] Re: Call for ideas : Video and Audio sinks for Gstreamer on Windows In-Reply-To: <410D3A1C.4090607@Hartte.de> References: <410B9314.1010406@matroska.org> <410D3A1C.4090607@Hartte.de> Message-ID: <410E2959.80300@free.fr> Sebastian Hartte a ?crit : > Oh i almost forgot, > is there some way of creating a wrapper element for DirectShow filters? > Given the GUID of a filter it should be possible for > an element to dynamically create all the pads (pins) and hold an > instance of the filter internally. I suppose that could increase > the use of gstreamer on windows dramatically since it could be used to > play propietary file formats without some nasty > hacked wrapper code. (Windows Media 8, 9, etc.) Yes, I think it should be possible. But that will probably not help for DRMed content. But it's still better than nothing. I don't know exactly how it should work : - make plugin that allows many input/output kind of pins - make the plugin scan the plugins on the system and use that to register in the GStreamer registry - something else I hope some COM/DirectShow experts can help in the coming weeks. From Sebastian at Hartte.de Mon Aug 2 14:25:11 2004 From: Sebastian at Hartte.de (Sebastian Hartte) Date: Mon, 02 Aug 2004 14:25:11 +0200 Subject: [Matroska-devel] Re: [gst-devel] Re: Call for ideas : Video and Audio sinks for Gstreamer on Windows In-Reply-To: <410E2959.80300@free.fr> References: <410B9314.1010406@matroska.org> <410D3A1C.4090607@Hartte.de> <410E2959.80300@free.fr> Message-ID: <410E32A7.2090708@Hartte.de> Steve Lhomme wrote: > Sebastian Hartte a ?crit : > >> Oh i almost forgot, >> is there some way of creating a wrapper element for DirectShow filters? >> Given the GUID of a filter it should be possible for >> an element to dynamically create all the pads (pins) and hold an >> instance of the filter internally. I suppose that could increase >> the use of gstreamer on windows dramatically since it could be used to >> play propietary file formats without some nasty >> hacked wrapper code. (Windows Media 8, 9, etc.) > > > Yes, I think it should be possible. But that will probably not help > for DRMed content. But it's still better than nothing. > > I don't know exactly how it should work : > > - make plugin that allows many input/output kind of pins > - make the plugin scan the plugins on the system and use that to > register in the GStreamer registry > - something else > > I hope some COM/DirectShow experts can help in the coming weeks. I actually did some DirectShow. Hm well there is a way of enumerating all pins on a plugin, so mapping should be no problem. What i am more concerned about is format conversion because formats sometimes are identified via GUIDs on Windows. However. About the DRMed content. Actually it should help. The DirectShow filter should have access to the WM DRM database although it would need to be confirmed first. About the plugins. Hmm. I think that it could be possible to have a plugin that can handle every other type of DirectShow filter. In the end it comes down to converting GStreamer format constants, enumerating and wrapping the pins/pads and passing trough data that comes in and passing along data that comes out. I am quite busy at the moment, otherwise i'd give it a shot. cu, Sebastian From rbultje at ronald.bitfreak.net Mon Aug 2 15:11:59 2004 From: rbultje at ronald.bitfreak.net (Ronald Bultje) Date: Mon, 2 Aug 2004 15:11:59 +0200 (CEST) Subject: [Matroska-devel] Re: [gst-devel] Re: Call for ideas : Video and Audio sinks for Gstreamer on Windows In-Reply-To: <410E32A7.2090708@Hartte.de> Message-ID: Hi, On Mon, 2 Aug 2004, Sebastian Hartte wrote: > > I don't know exactly how it should work : [..] > > - make the plugin scan the plugins on the system and use that to > > register in the GStreamer registry That. Again, see the gst-ffmpeg plugin package, it does most of what you need here. > I actually did some DirectShow. Hm well there is a way of enumerating > all pins on a plugin, so mapping should be no problem. > What i am more concerned about is format conversion because formats > sometimes are identified via GUIDs on Windows. You need a win32GUID-to-gstmimetype and a gstmimetype-to-win32GUID mapper collection, similar to gstffmpegcodecmap.[ch] in gst-ffmpeg. Ronald From chris at matroska.org Mon Aug 2 17:55:47 2004 From: chris at matroska.org (Christian HJ Wiesner) Date: Mon, 02 Aug 2004 17:55:47 +0200 Subject: [Matroska-devel] New matroska packs - scope ? Message-ID: <410E6403.9030204@matroska.org> Hi Team and All, it seems that its time to launch new matroska packs in the next couple of weeks. There have been some improvements to matroska lately, namely - TTA parser/decoder ( Toff ) - new matroskademuxer ( Toff ) which certainly qualify for a new release of the packs. Things to discuss are still - the new ffdshow build ( for recent XviD ) - a Wavpack parser/decoder filter Not in the new pack will be - the Real DLLs as Karl Lillevold from Real Networks informed us that this is still no option and a clear violation of the Real license. To find a solution to the big number of user complaints about MKVs with RV9 content not playing even after matroska full pack installation, i have plans to add a popup window that users have to click away, informing them about this problem with RV9 MKVs, and pointing them to a Guide that Karl published once, on how to 'safely' install Realplayer on the users PC. For the ffdshow build, there is a new stable release with many improvements, but unfortunately including FFvfw, a working MPEG4 VCM and dshow codec. For you as a reminder, we decided some weeks ago that we will not distribute such a codec with the pack, because we fear problems with license/copyright infringement from the holders of the MPEG4 patents. For the Wavpack parser/decoder, somebody needs to make one first before we could inlcude it :D ! Anybody volunteering ? Toff :-) ?? Comments please Christian matroska project admin http://www.matroska.org From steve.lhomme at free.fr Mon Aug 2 18:05:55 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Mon, 02 Aug 2004 18:05:55 +0200 Subject: [Matroska-devel] New matroska packs - scope ? In-Reply-To: <410E6403.9030204@matroska.org> References: <410E6403.9030204@matroska.org> Message-ID: <410E6663.8090706@free.fr> Christian HJ Wiesner a ?crit : > > Hi Team and All, > > it seems that its time to launch new matroska packs in the next couple > of weeks. There have been some improvements to matroska lately, namely > > - TTA parser/decoder ( Toff ) > - new matroskademuxer ( Toff ) > > which certainly qualify for a new release of the packs. Things to > discuss are still > > - the new ffdshow build ( for recent XviD ) > - a Wavpack parser/decoder filter > > Not in the new pack will be > > - the Real DLLs > > as Karl Lillevold from Real Networks informed us that this is still no > option and a clear violation of the Real license. To find a solution to > the big number of user complaints about MKVs with RV9 content not > playing even after matroska full pack installation, i have plans to add > a popup window that users have to click away, informing them about this > problem with RV9 MKVs, and pointing them to a Guide that Karl published > once, on how to 'safely' install Realplayer on the users PC. > > For the ffdshow build, there is a new stable release with many > improvements, but unfortunately including FFvfw, a working MPEG4 VCM and > dshow codec. For you as a reminder, we decided some weeks ago that we > will not distribute such a codec with the pack, because we fear problems > with license/copyright infringement from the holders of the MPEG4 patents. > > For the Wavpack parser/decoder, somebody needs to make one first before > we could inlcude it :D ! Anybody volunteering ? Toff :-) ?? Wavpack is not supported by any application yet and not even started. So it will be for the next pack. TTA is not finished in mkvtoolnix. I hope someone would just install the big ffdshow and just keep the files we need (unless it's just one big file/filter) that we can add to the pack... From moritz at bunkus.org Mon Aug 2 18:31:22 2004 From: moritz at bunkus.org (Moritz Bunkus) Date: Mon, 2 Aug 2004 18:31:22 +0200 Subject: [Matroska-devel] New matroska packs - scope ? In-Reply-To: <410E6663.8090706@free.fr> References: <410E6403.9030204@matroska.org> <410E6663.8090706@free.fr> Message-ID: <20040802163122.GO8684@bunkus.org> Hi, > TTA is not finished in mkvtoolnix. Not true. The latest build has perfect timestamp precision & can deal with ID3 tags (both v1 and v2) in TTA files. > I hope someone would just install the big ffdshow and just keep the > files we need (unless it's just one big file/filter) that we can add to > the pack... I'm actually thinking we should just include ffdshow no matter what. There have been XviD binaries for ages now, and I sincerely doubt that Koepi is paying licenses... Mosu -- If Darl McBride was in charge, he'd probably make marriage unconstitutional too, since clearly it de-emphasizes the commercial nature of normal human interaction, and probably is a major impediment to the commercial growth of prostitution. - Linus Torvalds From christophe.paris at free.fr Mon Aug 2 18:46:41 2004 From: christophe.paris at free.fr (Christophe PARIS) Date: Mon, 02 Aug 2004 18:46:41 +0200 Subject: [Matroska-devel] New matroska packs - scope ? In-Reply-To: <410E6403.9030204@matroska.org> References: <410E6403.9030204@matroska.org> Message-ID: <410E6FF1.2030509@free.fr> Christian HJ Wiesner wrote: > it seems that its time to launch new matroska packs in the next couple > of weeks. There have been some improvements to matroska lately, namely > - TTA parser/decoder ( Toff ) > - new matroskademuxer ( Toff ) Something that would be great to fix is (from the todo page) : "MatroskaSplitter doesn't support partial file rendering (that mean MS IGraphBuilder::RenderFile function fail, it should return VFW_S_PARTIAL_RENDER instead : http://msdn.microsoft.com/archive/en-us/directx9_c/directx/htm/igraphbuilderrenderfile.asp ), for example when you have a file with subtitles, you need to have VSFilter installed even if you don't want to show the subtitles." This way the file will still play if you have 1 audio decoder, or 1 video decoder, and it will be easier for the user to see what's missing. > For the ffdshow build, there is a new stable release with many > improvements, but unfortunately including FFvfw, a working MPEG4 VCM and > dshow codec. For you as a reminder, we decided some weeks ago that we > will not distribute such a codec with the pack, because we fear problems > with license/copyright infringement from the holders of the MPEG4 patents. You can disable the encoders available in libavcodec.dll when you compile it, but the problem is the GUI stuff, ffdshow just check for the presence of libavcodec.dll to show encoders as available. So what would be great is that ffdshow do some more thorough checking to show only the available encoder/decoder inside libavcodec.dll , that would make the thing a lot more cleaner for the user. Also there is no file version number in ffdshow dlls, that would be better to have some to avoid update problem, and also to have a lite flag or something. > For the Wavpack parser/decoder, somebody needs to make one first before > we could inlcude it :D ! Anybody volunteering ? Toff :-) ?? We should probably finish the CDA-in-MKA stuff before. That's higher priority in my opinion to one more lossless codec even if it's a great one :) Regards, Toff From steve.lhomme at free.fr Mon Aug 2 18:58:02 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Mon, 02 Aug 2004 18:58:02 +0200 Subject: [Matroska-devel] New matroska packs - scope ? In-Reply-To: <410E6FF1.2030509@free.fr> References: <410E6403.9030204@matroska.org> <410E6FF1.2030509@free.fr> Message-ID: <410E729A.2070408@free.fr> Christophe PARIS a ?crit : > Something that would be great to fix is (from the todo page) : > "MatroskaSplitter doesn't support partial file rendering (that mean MS > IGraphBuilder::RenderFile function fail, it should return > VFW_S_PARTIAL_RENDER instead : > http://msdn.microsoft.com/archive/en-us/directx9_c/directx/htm/igraphbuilderrenderfile.asp > ), for example when you have a file with subtitles, you need to have > VSFilter installed even if you don't want to show the subtitles." > This way the file will still play if you have 1 audio decoder, or 1 > video decoder, and it will be easier for the user to see what's missing. Yes indeed ! Do you know how to fix that ? >> For the ffdshow build, there is a new stable release with many >> improvements, but unfortunately including FFvfw, a working MPEG4 VCM >> and dshow codec. For you as a reminder, we decided some weeks ago that >> we will not distribute such a codec with the pack, because we fear >> problems with license/copyright infringement from the holders of the >> MPEG4 patents. > > > You can disable the encoders available in libavcodec.dll when you > compile it, but the problem is the GUI stuff, ffdshow just check for the > presence of libavcodec.dll to show encoders as available. > So what would be great is that ffdshow do some more thorough checking to > show only the available encoder/decoder inside libavcodec.dll , that > would make the thing a lot more cleaner for the user. > Also there is no file version number in ffdshow dlls, that would be > better to have some to avoid update problem, and also to have a lite > flag or something. The FFDShow we distribute now doesn't include encoders ? Otherwise we should not care about this problem. And if adding the encoders are not too big, we should just put it in... I agree they should allow the option, and especially split them in different files. >> For the Wavpack parser/decoder, somebody needs to make one first >> before we could inlcude it :D ! Anybody volunteering ? Toff :-) ?? > > > We should probably finish the CDA-in-MKA stuff before. That's higher > priority in my opinion to one more lossless codec even if it's a great > one :) I agree too. About TTA, what is missing to have it working as the default codec in CD-in-MKA ? From chris at matroska.org Tue Aug 3 11:43:05 2004 From: chris at matroska.org (Christian HJ Wiesner) Date: Tue, 03 Aug 2004 11:43:05 +0200 Subject: [Matroska-devel] New matroska packs - scope ? In-Reply-To: <20040802163122.GO8684@bunkus.org> References: <410E6403.9030204@matroska.org> <410E6663.8090706@free.fr> <20040802163122.GO8684@bunkus.org> Message-ID: <410F5E29.7010407@matroska.org> Moritz Bunkus wrote: >>I hope someone would just install the big ffdshow and just keep the >>files we need (unless it's just one big file/filter) that we can add to >>the pack... >> >> >I'm actually thinking we should just include ffdshow no matter >what. There have been XviD binaries for ages now, and I sincerely doubt >that Koepi is paying licenses... Mosu > > The point is, maybe Koepi is already on the watch list of the MPAA and they just wait until he is earning more money, so they can take it from him for the loss of revenues he was causing them :D .... and, do we want to take the same risk ? Sorry, but i am a responsible family man, i at least had to ask my wife how she feels about that. After all, this is not a torrent / tracker, with a lot of room for legal interpretation of who is doing what and it this is again current laws or not, but a very straight forward thing : We will distribute a binary MPEG4 encoder from our webspace, and without paying license fees to the patent holder ! Christian From nleguen at pepper-prod.com Tue Aug 3 12:43:41 2004 From: nleguen at pepper-prod.com (Nicolas Le Guen) Date: Tue, 03 Aug 2004 12:43:41 +0200 Subject: [Matroska-devel] New matroska packs - scope ? In-Reply-To: <410F5E29.7010407@matroska.org> References: <410E6403.9030204@matroska.org> <410E6663.8090706@free.fr> <20040802163122.GO8684@bunkus.org> <410F5E29.7010407@matroska.org> Message-ID: <410F6C5D.9030309@pepper-prod.com> MatroskaProp also need to be updated before to be included the next Matroska pack. Here are the actuals bugs which need to be fixed: - the "delete" button for the tags doesn't work - you can't add a new tag if a current tag exists with the same name: it won't add a new tag, but will update the existing one. - a tag can't have an EditonUID target... and that is now possible A usefull improvement would be, by default, not to let the user to create tags with any name, but to let him pick the tag name from a list. This would avoid "exotic" tags. About the directshow filters, TTA filters need to be included to the pack. I also believe, IMHO, that we should not provide any patented encoder with the matroska pack but we should warn the user about this (and may be give him the websites where he could find the non provided patented encoders). From chris at matroska.org Tue Aug 3 16:08:29 2004 From: chris at matroska.org (Christian HJ Wiesner) Date: Tue, 03 Aug 2004 16:08:29 +0200 Subject: [Matroska-devel] Using Portaudio for a Gstreamer audio sink ? Message-ID: <410F9C5D.1020202@matroska.org> To.: Portaudio List Cc.: Gstreamer-devel, matroska-devel Hi All, we finally succeeded to port Gstreamer to Windows, and natively ( not using mingw ), all the necessary mods are in the Gstreamer CVS already. Steve 'robux4' Lhomme, one of matroska's core developers, has gstreamer itself as well as about 60 plugins compiling with MSVC7. Not all plugins were tested so far, but generally its looking pretty good. Compiled Binaries available from here : http://mukoli.free.fr/gstreamer/ Our next goal is now to have working output sinks for video and audio, so that some devs could probably look into getting gst-player to work on Windows. Portaudio seems to be a very nice basement to stand on, also because we plan to port Gstreamer to other platforms in the future, like Mac OSX. Do you guys feel Portaudio could be used for an audio output sink for Gstreamer ? If we start this, could we expect to get some support from your side maybe ? Thanks for a short reply ChristianHJW matroska project admin http://www.matroska.org From Liisachan at faireal.net Thu Aug 5 04:50:29 2004 From: Liisachan at faireal.net (Liisachan) Date: Thu, 05 Aug 2004 11:50:29 +0900 Subject: [Matroska-devel] MatroskaSplitter Vorbis Bug/Demo Message-ID: <20040805115029Wt=4w+@faireal.net> If MKV has an Ogg Vorbis track, Video rendering rate is not constant on Windows, but irregular, altho the global FPS is correct. The difference (irregularity) can be easily observed in this demo: http://park14.wakwak.com/~flower/20040805.zip Same video and same audio (in Vorbis or in MP3) OK -> 20040805 xvid+mp3.mkv OK -> 20040805 xvid+mp3.ogm No Good -> 20040805 xvid+vorbis.mkv OK -> 20040805 xvid+vorbis.ogm Probably this is a problem of splitter, because the same thing happen when muxed with MMG, and when muxed with VDM too. I tried older Splitters, but the problem is not fixed. This happens when the audio is Vorbis. If the audio is in MP3, the same video in MKV plays fine. (Rough Concept) This is what you want to see: +...+...+...+...+...+...+... (+) means the next (new) frame. 7 frames in this unit. However, what you actually see is something like this: +...+......+.+..++......+... 7 frames in the unit anyway, so global fps is correct, but the rendering timing is not constant... Regards Liisachan From alexander.noe at s2001.tu-chemnitz.de Thu Aug 5 08:03:54 2004 From: alexander.noe at s2001.tu-chemnitz.de (=?UTF-8?B?QWxleGFuZGVyIE5vw6k=?=) Date: Thu, 05 Aug 2004 08:03:54 +0200 Subject: [Matroska-devel] MatroskaSplitter Vorbis Bug/Demo In-Reply-To: <20040805115029Wt=4w+@faireal.net> References: <20040805115029Wt=4w+@faireal.net> Message-ID: <4111CDCA.4080605@hrz.tu-chemnitz.de> Liisachan wrote: > Probably this is a problem of splitter, > because the same thing happen when muxed with MMG, > and when muxed with VDM too. They are both using libmatroska. What happens when using avi-mux gui? Alex From chris at matroska.org Thu Aug 5 08:21:32 2004 From: chris at matroska.org (Christian HJ Wiesner) Date: Thu, 05 Aug 2004 08:21:32 +0200 Subject: [Matroska-devel] MatroskaSplitter Vorbis Bug/Demo In-Reply-To: <20040805115029Wt=4w+@faireal.net> References: <20040805115029Wt=4w+@faireal.net> Message-ID: <4111D1EC.3070406@matroska.org> Liisachan, are you sure that CoreVorbis is used for the Vorbis decoding ? Sounds like an old problem when OggDS is used for Vorbis decoding, instead of CoreVorbis. Christian Liisachan wrote: >If MKV has an Ogg Vorbis track, >Video rendering rate is not constant on Windows, >but irregular, altho the global FPS is correct. > From Liisachan at faireal.net Thu Aug 5 08:34:47 2004 From: Liisachan at faireal.net (Liisachan) Date: Thu, 05 Aug 2004 15:34:47 +0900 Subject: [Matroska-devel] MatroskaSplitter Vorbis Bug/Demo In-Reply-To: <4111D1EC.3070406@matroska.org> References: <20040805115029Wt=4w+@faireal.net> <4111D1EC.3070406@matroska.org> Message-ID: <200408051534473cgiVe@faireal.net> Christian HJ Wiesner wrote: > Liisachan, > > are you sure that CoreVorbis is used for the Vorbis decoding ? Sounds > like an old problem when OggDS is used for Vorbis decoding, instead of > CoreVorbis. AAAAAAhhhh, no, but I now know the reason, thax for the hint. RadLight got the control of Vorbis before I knew. I uninstalled RadLight, and the problem has gone. Apparently what was wrong was RadLight's Vorbis Decoder. (No wonder, it is bata, after all) and nothing to do with Matroska. Everythig is OK now Sorry for the mess Liisachan > > Christian > > Liisachan wrote: > > >If MKV has an Ogg Vorbis track, > >Video rendering rate is not constant on Windows, > >but irregular, altho the global FPS is correct. > > > From steve.lhomme at free.fr Thu Aug 5 09:41:22 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Thu, 05 Aug 2004 09:41:22 +0200 Subject: [Matroska-devel] MatroskaSplitter Vorbis Bug/Demo In-Reply-To: <200408051534473cgiVe@faireal.net> References: <20040805115029Wt=4w+@faireal.net> <4111D1EC.3070406@matroska.org> <200408051534473cgiVe@faireal.net> Message-ID: <4111E4A2.70100@free.fr> Liisachan a ?crit : > I uninstalled RadLight, and the problem has gone. :) (out of context it's even better) From steve.lhomme at free.fr Fri Aug 6 09:38:58 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Fri, 06 Aug 2004 09:38:58 +0200 Subject: [Matroska-devel] Re: tags names In-Reply-To: <20040806073053.GH9421@bunkus.org> References: <4112C7FB.5070508@matroska.org> <20040806073053.GH9421@bunkus.org> Message-ID: <41133592.4050508@free.fr> Moritz Bunkus a ?crit : > Hi, > > >>Please find joined a patch about tags names. So we'll use 100% Matroska >>specs compatible tags. (e.g. ARTIST is now LEAD_PERFORMER) :-) > > > Where's the patch? Anyway. LEAD_PERFORMER is a single person. So where's > the band? I wouldn't chose 'Metallica' as the LEAD_PERFORMER... It would > be BAND. But how should mkvmerge decide which of those to use? > > In this case I think that Matroska tags are broken... Or at least > unusable for automatic handling. Mosu, The tags are indeed bad in the current state. But since there are applications already writing them, we can't change them anymore. So we'll have to deal with these bad news for the rest of our lives... ProDoc has a good comparison of tag name "translations", and ARTIST commonly found is LEAD_PERFORMER in Matroska. An application should display "artist" in whatever language is used, not LEAD_PERFORMER... We could consider the current tags as "beta" and clean them before "freezing" them. Before freezing we could ask for comments in various places (not very succesful in the past, but you never know). After all tags are only used in MKA (and one tag for video that won't change) which so far was experimental. Not much people could blame us (and they could still use foobar to change tag names)... What do you (all) think ? As was done with the format spec, we could introduce a "fix" HTML class for tags we know won't change, to show a difference when displaying them. From agebosma at home.nl Fri Aug 6 10:54:19 2004 From: agebosma at home.nl (Age Bosma) Date: Fri, 06 Aug 2004 10:54:19 +0200 Subject: [Matroska-devel] Re: tags names In-Reply-To: <41133592.4050508@free.fr> References: <4112C7FB.5070508@matroska.org> <20040806073053.GH9421@bunkus.org> <41133592.4050508@free.fr> Message-ID: <4113473B.6080106@home.nl> Steve Lhomme wrote: > We could consider the current tags as "beta" and clean them before > "freezing" them. Before freezing we could ask for comments in various > places (not very succesful in the past, but you never know). After all > tags are only used in MKA (and one tag for video that won't change) > which so far was experimental. Not much people could blame us (and they > could still use foobar to change tag names)... > I completely agree, since there are more problems like this I pointed out before I think now would still be a good time to make some changes. Especially because the current specs aren't final anyway. Eventhough some application already support the current tag set I think this is still relatively small amount, too small to cause major problems. If we change the current specs we could always notify the authors of some known application which implement the Matroska tag specs already about this. I was already working on a list of problems we have at the moment if it comes to tag names. I'll start adding some problematic tag names like this as well. I'll put it online asap. Prodoc From steve.lhomme at free.fr Fri Aug 6 12:01:42 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Fri, 06 Aug 2004 12:01:42 +0200 Subject: [Matroska-devel] Tags to change Message-ID: <41135706.5070106@free.fr> Hi, As you know, Matroska has defined various tags. These tags let you put meta information about the content of a Matroska file (audio or video) or some parts of it (using chapters). The basic idea is to be able to transmux from all known/common containers to Matroska without losing any information and being officially supported. Supporting official tags mean that such an application would be able to read/write at least the defined tags. But more important is that for a specific content (artist or title), it should use the defined element and not a custom one. That means such tags could be read by other "compliant" application. In the other hand Matroska allows and will still allow anyone to put custom tags (exotic tags) if they wish to (probably not in basic applications). Right now the tag definition is in a messy state and we plan to clean it, maybe changing some names and improving definitions. We are going to it from now. And anyone you know who would like to help to improve the list, the compatibility with other tag systems or the definitions is welcome. There is no definite date to freeze the tags spec (additions will always be possible but not changing existing tags). We'll freeze it, when it's ready... -- robUx4 on blog From zaheerabbas at merali.org Sat Aug 7 20:13:26 2004 From: zaheerabbas at merali.org (Zaheer Abbas Merali) Date: Sat, 07 Aug 2004 19:13:26 +0100 Subject: [Matroska-devel] Re: [gst-devel] Using Portaudio for a Gstreamer audio sink ? In-Reply-To: <410F9C5D.1020202@matroska.org> References: <410F9C5D.1020202@matroska.org> Message-ID: <1091902406.12834.4.camel@monterey> Hi Chris i) GStreamer is already compiling and running and being used on OS X with native audio source and sink based on Mac OS X's CoreAudio framework as well as a native video sink using cocoa's opengl wrapper. ii) Using Portaudio in my opinion is not a good idea, you would be better off using native windows APIs to create a windows audio sink and source. DirectX apis for sound do not look difficult at all. Take Care Zaheer Abbas Merali On Tue, 2004-08-03 at 16:08 +0200, Christian HJ Wiesner wrote: > To.: Portaudio List > Cc.: Gstreamer-devel, matroska-devel > > > Hi All, > > we finally succeeded to port Gstreamer to Windows, and natively ( not > using mingw ), all the necessary mods are in the Gstreamer CVS already. > Steve 'robux4' Lhomme, one of matroska's core developers, has gstreamer > itself as well as about 60 plugins compiling with MSVC7. Not all plugins > were tested so far, but generally its looking pretty good. Compiled > Binaries available from here : http://mukoli.free.fr/gstreamer/ > > Our next goal is now to have working output sinks for video and audio, > so that some devs could probably look into getting gst-player to work on > Windows. Portaudio seems to be a very nice basement to stand on, also > because we plan to port Gstreamer to other platforms in the future, like > Mac OSX. > > Do you guys feel Portaudio could be used for an audio output sink for > Gstreamer ? If we start this, could we expect to get some support from > your side maybe ? > > Thanks for a short reply > > ChristianHJW > matroska project admin > http://www.matroska.org > > > ------------------------------------------------------- > This SF.Net email is sponsored by OSTG. Have you noticed the changes on > Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now, > one more big change to announce. We are now OSTG- Open Source Technology > Group. Come see the changes on the new OSTG site. www.ostg.com > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: From dbarrett at quinthar.com Thu Aug 12 20:45:40 2004 From: dbarrett at quinthar.com (David Barrett) Date: Thu, 12 Aug 2004 12:45:40 -0600 Subject: [Matroska-devel] RE: [Theora-dev] Offer for cooperation on a menue system In-Reply-To: <40E5CCB5.8080606@matroska.org> Message-ID: <20040812185647.A512C440040@p15097576.pureserver.info> Hi, I'm certainly not qualified to speak on behalf of anyone, but I'm curious what sort of cooperation you had in mind. Are you suggesting that we standardize upon a menu system and create a set of tools for both Ogg and Matroska to share? Incidentally, you might get a better response from one of the Ogg lists, as this discussion is just on using the Theora video compression codec. -david > -----Original Message----- > From: theora-dev-bounces at xiph.org [mailto:theora-dev-bounces at xiph.org] On > Behalf Of ChristianHJW > Sent: Friday, July 02, 2004 3:00 PM > To: Discussion about the current and future development of Matroska; > theora-dev at xiph.org > Subject: [Theora-dev] Offer for cooperation on a menue system > > Hi Xiph guys, > > i dont know if this is a wise move, some of our members are against it, > but here i am : > > We offered our users a usable menue system in matroska long ago, but due > to higher priorities we never had the time to look at it. Amongst other > things we are looking at to improve our container and its value to our > users, menue have been brought back to our attention in this public poll > here : http://forum.doom9.org/showthread.php?s=&threadid=78011 > > Now, its not so problematic to define a nice menue system for a > container, but there really IS a problem to write a menue editor for > that, so that people can start to > > - convert DVD menues into the new format > - create their own menues > etc. > > and to make sure all players will support this new menue system, so i > thought it might be a good idea to contact you on this, and ask you if > you were prepared to cooperate with us on this issue. > > I know the communication between Xiph and our team has not always been > the best in the past, but maybe this cooperation could be a possibility > to forget what happened in the past, and make a new start ? After all, > Ogg and matroska do have completely different goals now, so there should > be room for both really. > > Thanks for a short answer > > Christian > matroska project admin > _______________________________________________ > Theora-dev mailing list > Theora-dev at xiph.org > http://lists.xiph.org/mailman/listinfo/theora-dev From kost at imn.htwk-leipzig.de Fri Aug 13 18:15:42 2004 From: kost at imn.htwk-leipzig.de (Stefan Kost) Date: Fri, 13 Aug 2004 18:15:42 +0200 Subject: [Matroska-devel] Re: [gst-devel] Call for ideas : Video and Audio sinks for Gstreamer on Windows In-Reply-To: <410D416A.3020700@matroska.org> References: <410B9314.1010406@matroska.org> <410D3A1C.4090607@Hartte.de> <410D416A.3020700@matroska.org> Message-ID: <411CE92E.8000308@imn.htwk-leipzig.de> IMHO it is absolutely fine to have platform dependent sins and sources. Thats what the gstreamer API is for (among other things ;-)) - decoupling the application from the platform. So on Linux we have Alsa-Sources/Sinks, on Windows e.g. DirectX onea and on the Mac CoreAudio, etc. The app just uses the sinks the user preferes Stefan Christian HJ Wiesner wrote: > Sebastian Hartte wrote: > >> Oh i almost forgot, >> is there some way of creating a wrapper element for DirectShow filters? >> Given the GUID of a filter it should be possible for >> an element to dynamically create all the pads (pins) and hold an >> instance of the filter internally. I suppose that could increase >> the use of gstreamer on windows dramatically since it could be used to >> play propietary file formats without some nasty >> hacked wrapper code. (Windows Media 8, 9, etc.) >> bye, Storm > > > This is certainly possible, but i expect it wouldnt be very easy to do, > and the goal must be that all plugins for gstreamer are usable on all > supported platforms, not just Windows, IMO. > > ChristianHJW > matroska project admin > http://www.matroska.org > > > ------------------------------------------------------- > This SF.Net email is sponsored by OSTG. Have you noticed the changes on > Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now, > one more big change to announce. We are now OSTG- Open Source Technology > Group. Come see the changes on the new OSTG site. www.ostg.com > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -- \|/ Stefan Kost <@ @> private business +-oOO-(_)-OOo------------------------------------------------------ - - - - - | __ Address Simildenstr. 5 HTWK Leipzig, Fb IMN, Postfach 301166 | /// 04277 Leipzig 04251 Leipzig | __ /// Germany Germany | \\\/// Phone +49341 2253538 +49341 30766101 | \__/ EMail st_kost_at_gmx.net kost_at_imn.htwk-leipzig.de | WWW www.sonicpulse.de www.imn.htwk-leipzig.de/~kost/about.html ===-=-=--=---=---------------------------------- - - - - - -------------- next part -------------- A non-text attachment was scrubbed... Name: kost.vcf Type: text/x-vcard Size: 345 bytes Desc: not available URL: From giles at xiph.org Fri Aug 13 20:06:55 2004 From: giles at xiph.org (Ralph Giles) Date: Fri, 13 Aug 2004 11:06:55 -0700 Subject: [Matroska-devel] Re: [Theora-dev] Offer for cooperation on a menue system In-Reply-To: <40E5CCB5.8080606@matroska.org> References: <40E5CCB5.8080606@matroska.org> Message-ID: <20040813180655.GB3742@ghostscript.com> On Fri, Jul 02, 2004 at 10:59:33PM +0200, ChristianHJW wrote: > We offered our users a usable menue system in matroska long ago, but due > to higher priorities we never had the time to look at it. Amongst other > things we are looking at to improve our container and its value to our > users, menue have been brought back to our attention in this public poll > here : http://forum.doom9.org/showthread.php?s=&threadid=78011 Sure, I'm happy to talk about it. What did you have in mind? I've thought about SMIL, or something custom with SVG (and possibly javascript) converging with CMML from annodex.net for stream references. > I know the communication between Xiph and our team has not always been > the best in the past, but maybe this cooperation could be a possibility > to forget what happened in the past, and make a new start ? After all, > Ogg and matroska do have completely different goals now, so there should > be room for both really. True enough. And I assure you, your message being stuck in the moderation queue for 5 weeks wasn't deliberate! -r From giles at xiph.org Fri Aug 13 20:00:02 2004 From: giles at xiph.org (Ralph Giles) Date: Fri, 13 Aug 2004 11:00:02 -0700 Subject: [Matroska-devel] Re: [Theora-dev] Offer for cooperation on a menue system In-Reply-To: <20040812184542.E9B9110418C@smtp3.oregonstate.edu> References: <40E5CCB5.8080606@matroska.org> <20040812184542.E9B9110418C@smtp3.oregonstate.edu> Message-ID: <20040813180002.GA3742@ghostscript.com> On Thu, Aug 12, 2004 at 12:45:40PM -0600, David Barrett wrote: > Incidentally, you might get a better response from one of the Ogg lists, as > this discussion is just on using the Theora video compression codec. Well, except there aren't any 'ogg' lists, only codec lists. The vorbis lists are by tradition the most general place, but theora-dev is the most appropriate place for this this, since it's only relevent to video. -r From mike at po.cs.msu.su Fri Aug 13 23:20:50 2004 From: mike at po.cs.msu.su (Mike Matsnev) Date: Sat, 14 Aug 2004 01:20:50 +0400 Subject: [Matroska-devel] Control tracks Message-ID: <20040813212050.GA67710@azog.po.cs.msu.su> Hi! As I almost finished the DShow splitter implementation, I'm ready to move to more interesting stuff like control tracks. So I'm asking for ideas about what control tracks should do and how. E.g. consider the case of several anime episodes in the same file with shared credits, how would the control track look in such file? /Mike From maihem at maihem.org Sat Aug 14 00:47:30 2004 From: maihem at maihem.org (Tristan Wibberley) Date: Fri, 13 Aug 2004 23:47:30 +0100 Subject: [Matroska-devel] Re: [Theora-dev] Offer for cooperation on a menue system In-Reply-To: <20040813180655.GB3742@ghostscript.com> References: <40E5CCB5.8080606@matroska.org> <20040813180655.GB3742@ghostscript.com> Message-ID: <1092437250.8618.14.camel@localhost> On Fri, 2004-08-13 at 19:06, Ralph Giles wrote: > On Fri, Jul 02, 2004 at 10:59:33PM +0200, ChristianHJW wrote: > > > We offered our users a usable menue system in matroska long ago, but due > > to higher priorities we never had the time to look at it. Amongst other > > things we are looking at to improve our container and its value to our > > users, menue have been brought back to our attention in this public poll > > here : http://forum.doom9.org/showthread.php?s=&threadid=78011 > > Sure, I'm happy to talk about it. What did you have in mind? > > I've thought about SMIL, or something custom with SVG (and possibly > javascript) converging with CMML from annodex.net for stream references. Accessibility is important, in some countries there are laws requiring that media be accessible wherever it makes sense (such as digital media). So I think the W3C approach is ideal, that way stylesheets can be provided for different media such as screenreaders. That would also allow menus to make sense for audio only files. Could it be possible for an interlaced ogg stream (terminology?) to provide all tracks on an album, with a menu for choosing a track, and a prepared playlist menu option - with braille, text-to-speech, screen and some sort of small display stylesheets? There's no reason for this to be for graphical displays only. You could even use it on a telephone system: "You are on hold, please choose your music from the following four options..." :) I don't know if that makes sense or even fits into Ogg/Matroska properly. Regards, Tristan Wibberley -- I have a little sig... From steve.lhomme at free.fr Sat Aug 14 11:27:47 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Sat, 14 Aug 2004 11:27:47 +0200 Subject: [Matroska-devel] Control tracks In-Reply-To: <20040813212050.GA67710@azog.po.cs.msu.su> References: <20040813212050.GA67710@azog.po.cs.msu.su> Message-ID: <411DDB13.9070808@free.fr> Mike Matsnev wrote: > Hi! > > As I almost finished the DShow splitter implementation, I'm ready to > move to more interesting stuff like control tracks. Cool. Well, there is some stuff to resolve like the VSFilter issue (no autoloading). Hopefully Gabest will officially integrate Toff's changes. It would be nice to have a place to put all kinds of "complex" files with different codec and/or chapters combinations to test it and other playback softwares. I think we should check with all playback software devs to know what kind of files are/were a problem. Then we can make a few test files out of that. That would save anyone's time trying to figure out if a software works or not as expected in all known cases... > So I'm asking for ideas about what control tracks should do and how. > E.g. consider the case of several anime episodes in the same file > with shared credits, how would the control track look in such > file? Ah, this is a very good+simple example ! So far a control track was designed with a few things in mind like change the chapter edition, jump to a location and not much out of that. Of course this may not be enough in your case. It is probably enough because at the end of each episode you can "jump to the credits and use Control Track X" (ie disable the current control track and use another one from the jump point). So each credits played would use another Control Track that would know where to jump afterwards (next episode). The same can be used for an intro too. But IMO it's not a clean way. It should not be needed to create more than one Control Track for such a simple case. So what we need here is to be able to jump to a point (start of the credit) and at the end jump to another location in the file, that depends on where we jumped from. What kind of possibilities is there to do that ? I can think of one : use variables in the Control Track that could be used whenever needed by the Control Track. I think that's what is used in DVD menus. In this case there could be different scenarii : - before jumping the control track sets a variable to the timecode to use for the next episode - before jumping the control track sets a variable to the chapter UID to use for the next episode - before jumping the control track sets a variable to the chapter UID where the jump comes from - before jumping the control track sets a variable to the timecode where the jump comes from IMO we shouldn't define strict rules for that, letting the Control Track devs do what they prefer. That means variable should not have a fixed meaning. But IMO they should have both a name and a value. Such variables could also be used for conditional statements : if(counter != 0) then loop this chapter otherwise jump to location X. And the Control Track should also have access to variables from the "player" like : chapter playing, edition selected, language selected, tracks playing, tracks enabled, etc. The name of such variables may be defined in a specification for everyone to use the same and have control track use these names safely. As you see, it implies almost a programing language and a common interface with the "rest of the world". So it requires a bit more brainstorming. BTW, as Mosu is working to build 1.0 with a fixed number of features, building files with control tracks may be added to mkvtoolnix only after 1.0 is done, or on another source branch, or kept hidden to the user. Or maybe the format of our Control Track will not be defined by that time ;) Any comment and/or suggestion is highly welcome ! From steve.lhomme at free.fr Sat Aug 14 11:32:41 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Sat, 14 Aug 2004 11:32:41 +0200 Subject: [Matroska-devel] Control tracks In-Reply-To: <20040813212050.GA67710@azog.po.cs.msu.su> References: <20040813212050.GA67710@azog.po.cs.msu.su> Message-ID: <411DDC39.5080006@free.fr> Another idea for making the system even more powerful : have the ability to hook the player. In other words, place a callback for the Control Track to be called whenever an action on the player occurs (pause pressed, next chapter pressed, new language selected, new track selected, etc). To achieve that only one callback is needed with : - a message ID - a cookie (interpretation depends on the ID) From paul at msn.com Sat Aug 14 17:49:15 2004 From: paul at msn.com (Paul Bryson) Date: Sat, 14 Aug 2004 10:49:15 -0500 Subject: [Matroska-devel] Re: Control tracks References: <20040813212050.GA67710@azog.po.cs.msu.su> <411DDC39.5080006@free.fr> Message-ID: "Steve Lhomme" wrote... > Another idea for making the system even more powerful : > have the ability to hook the player. I'm pretty sure that you want the player to handle everything from it. At least in DirectShow, wouldn't it be a little b0rked to have a filter controlling everything? Atamido From steve.lhomme at free.fr Sat Aug 14 19:11:56 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Sat, 14 Aug 2004 19:11:56 +0200 Subject: [Matroska-devel] Re: Control tracks In-Reply-To: References: <20040813212050.GA67710@azog.po.cs.msu.su> <411DDC39.5080006@free.fr> Message-ID: <411E47DC.5060706@free.fr> Paul Bryson wrote: > "Steve Lhomme" wrote... > >>Another idea for making the system even more powerful : >>have the ability to hook the player. > > > I'm pretty sure that you want the player to handle everything from it. At > least in DirectShow, wouldn't it be a little b0rked to have a filter controlling > everything? Right now the question is now how it will be implemented but what we should support and how it could be stored in Matroska. I was thinking about Flash this afternoon and it does all the things we want and (too) much more. For those who tried it, for each frame of a flash movie you can put some ActionScript that is a language that lets you do many things and handle all the aspects of a "movie" including having access to all elements and their properties. In our case we need something smaller, even though being able to program a Picture In Picture with diname (the name that was chosen for the home made Control Track) would be sexy ;) I think having a few commands, named variables and a way to handle the hooks, hotspots (like in DVDs) and conditional code would be far enough to handle most of what's needed to have the same basic functionalities of a DVD. I'll try to make a list of what's needed for each next week (if nobody starts one before I do)... Goldenear also told me if would soon publish a document of his ideas on a menu system. One problem I was thinking of is the hooks... What happens when you skip to another part of the movie and some new hooks were programmed in between ? You just can't know easily. So I think hooks have some limits that we should take care of... I think there is no other solution than hooking the skip function when you have other hooks programmed, to enable/disable/handle when a skip/seek is done. From steve.lhomme at free.fr Sun Aug 15 12:05:59 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Sun, 15 Aug 2004 12:05:59 +0200 Subject: [Matroska-devel] Control Track proposal draft Message-ID: <411F3587.5020702@free.fr> Well, it's almost a menu system proposal as it even includes hotspot handling... As said previously, we need some control commands, named variables, a way to handle the hooks and hotspots. The system is finally quite similar to the one of DVD but hopefully doesn't look so basic, to allow developer/authors creativity... I hope there is no patent covered in this field ! Here is a proposal of how it could be done. This is only a draft, it doesn't handle all the possible cases. Things should be changed/enhanced. 1) Design Model The Control Track is seen as a codec. It should have access to some "player" properties on demand: request the value of a "well known" named variable. And it should also be able to set the value of such a well known variable too. All "code" will have a timecode and a duration. Overlapping of code is allowed... Since the timecode in Matroska is not meant to have overlapping time, when a new Control code is introduced at a given time, the other codes that should remain should be "restated". This way it should be easier to cut a file and keep all commands that are meant to be in the remaining part. 2) Named Variables The named variable cover most of what is possible to do with the Control Track. Some can be read-only. Most would have a default value (if not all). As in Matroska, the type of value inside a named variable depends on the name. For example, a value could either have an integer type, string type or binary type (for now it would mostly be useful for Segment UIDs, or encryption keys). Each type being exclusive. This system is very similar to the MIBs in SNMP. In some case it would be useful to get/set a list of values. Like the like of tracks available for playback or the chapters that are before or after a given timecode. Some examples of named variables : - playback mode (integer - read/write) : stop, pause, play - timecode scale (integer - read/write) : to change the playback speed, but is not enough for audio because of the samplerate - current timecode (integer - read/write) : allow the jump function - current chapter (integer - write) : allow jump to a chapter - random number (integer - read) : allow a random number generation - random number min (integer - read/write) - random number max (integer - read/write) - segment UID playing (binary - read/write) : allow loading a new segment - chapter edition selected (integer - read/write) : change the edition (how to enable /disable some tracks ? a list should be read/write for that) The Control Track should be allowed to set custom named variables. Because of memory limits there could have in some players, it should be possible to know the max number of available named variables for each type : - custom max integer variables available (integer - read) 3) Player Hooks At any given time, the Control Track should be able to asked (not) to be notified when certain events occur. Like when the pause/play button is pressed, a new chapter is selected, the skip button is pressed, a named value has changed. The code to register a hook could be like this : The code to unregister the event : 4) Hotspots We should be able to set the shape and request a hook on it, and unset a hotspot... Will be covered later... 5) Control Commands The Control should be able to change the playback properties. That means setting some named values of the players. So these commands will be described in the name values. I can think of 3 basic commands that should cover all we need : - GetValue : get the value of a named variable - SetValue : set the value of a named variable - ValueIsSet : indicate wether a variable is set or not, can be useful when starting playback to detect if all variables needed by a movie are available from the player (otherwise you could skip to a location in a movie indicating the player can't play this movie). - RegisterEvent : indicate the Control Track request (not) to be notified when the given event occur. random num -> a read-only value integer random min, random max 6) Conditional Statements A few basic conditional code should be possible. At least we need if/else. We also need basic mathematical operations on integer (++,--,==) and an equal operator for strings and binary data. 7) Storing I think we should be using XML to write the Control Track data. We'll decide later if EBML will be prefered... From paul at msn.com Sun Aug 15 18:16:32 2004 From: paul at msn.com (Paul Bryson) Date: Sun, 15 Aug 2004 11:16:32 -0500 Subject: [Matroska-devel] Re: Re: Control tracks References: <20040813212050.GA67710@azog.po.cs.msu.su> <411DDC39.5080006@free.fr> <411E47DC.5060706@free.fr> Message-ID: "Steve Lhomme" wrote... > I was thinking about Flash this afternoon and it does all the things we want > and (too) much more. For those who tried it, for each frame of a flash movie > you can put some ActionScript that is a language that lets you do many things > and handle all the aspects of a "movie" including having access to all > elements and their properties. > > In our case we need something smaller, even though being able to program a > Picture In Picture with diname (the name that was chosen for the home made > Control Track) would be sexy ;) I am sure that SMIL also does everything that we need for this. The only problem is that no one in the group really knows anything about it. Atamido From steve.lhomme at free.fr Sun Aug 15 18:55:04 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Sun, 15 Aug 2004 18:55:04 +0200 Subject: [Matroska-devel] Control Track proposal draft In-Reply-To: <411F3587.5020702@free.fr> References: <411F3587.5020702@free.fr> Message-ID: <411F9568.2060406@free.fr> Steve Lhomme wrote: > In some case it would be useful to get/set a list of values. Like the > like of tracks available for playback or the chapters that are before or > after a given timecode. Like the _number_ of tracks... > Some examples of named variables : > - playback mode (integer - read/write) : stop, pause, play > - timecode scale (integer - read/write) : to change the playback speed, > but is not enough for audio because of the samplerate > - current timecode (integer - read/write) : allow the jump function > - current chapter (integer - write) : allow jump to a chapter The integer is a chapter UID. The chapter can be a hidden one, but not an disabled one. For this, the Control Track should have a way to enable/disable a chapter UID (or hide it, or a track UID). That leads to the list problem. I can think of a few systems : - something similar to the MIB (IIRC). You know the result is a list, you need the number of items and you can iterate through that list : GetNumberOfTracks(), GetNextTrack(), SelectTrack() and for each, you can read track parameters, using the UID given by GetNextTrack() - something like properties in SciTE. Where you would have something like : * track.number = 2 * track.0.enable = false * track.1.enable = true * track.0.UID = 1234 * track.1.UID = 4567 etc - when reading a named value could be return as an XML (or whatever format) content. For basic variables it would just be something like (the same could be used to the value). But for more complex systems if could be : This XML (could be written in EBML in the file) is my preferred choice. The drawback is that if you need just one element you will get the whole thing at once. But the messages are extensible, eg the return elements could contain more info depending on the player (the language could be given) and that wouldn't break anything. I think the MIB way is too complicated (too many calls for nothing). But the SciTE way could be another good alternative. As XML it's all based on strings but doesn't have the parsing complexity needed, and you can only retrieve the info you need. The same system could be used to set values. But as it's not hierarchical, it wouldn't fit to create conditional code and mathematical operations. > The Control Track should be allowed to set custom named variables. > Because of memory limits there could have in some players, it should be > possible to know the max number of available named variables for each > type : > - custom max integer variables available (integer - read) This could be used, in the example of Mike, to store the UID of the next chapter to jump to after the credits. The custom variable should have fixed named too IMO. Then it's up to the author/developper to deal with the meaning of the variables, like a processor register (that's how the DVD system works AFAIK). > The code to unregister the event : > > OK, this is ugly. Because from the "player" point of view, you just register the hook to something else. That means you have to call it whenever this event occurs. So it should be like this instead : > 4) Hotspots > > We should be able to set the shape and request a hook on it, and unset a > hotspot... Will be covered later... This one is tricky. First we should have a look at what a DVD permits and see how we can adapt it. IMO it should be scalable enough to allow Picture In Picture, ie define the content of each hotspot and be able to put a static picture or a moving picture. As I don't expect it to be supported anytime soon, it should just be scalable to that... But we should be able to create basic rectangles (X/Y position, width/height all in pixel coordinates in reference to the DisplayPixel values)with an alpha blending level and with a programmable hook. As for custom variables, on some systems there could be a max number of hotspots supported, so the hooks could have names associated to the hotspot "number" like EVENT_HOTSPOT_1_RELEASE, EVENT_HOTSPOT_2_PRESS, EVENT_HOTSPOT_3_SELECTED, etc... A Hotspot should also have localised names that could be rendered if there is no image (audio-only file) or for blind people. From jobbb at wanadoo.fr Sun Aug 15 19:49:44 2004 From: jobbb at wanadoo.fr (jobbb) Date: Sun, 15 Aug 2004 14:49:44 -0300 Subject: [Matroska-devel] how to create a matroska file? Message-ID: <000801c482f0$41e27aa0$761f0950@computer> jai le logiciel matroska install? sur mon pc mais je ne sais pas comment l'utiliser, comment cr?er un fichier matroska? -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexander.noe at s2001.tu-chemnitz.de Sun Aug 15 20:37:10 2004 From: alexander.noe at s2001.tu-chemnitz.de (=?UTF-8?B?QWxleGFuZGVyIE5vw6k=?=) Date: Sun, 15 Aug 2004 20:37:10 +0200 Subject: [Matroska-devel] Control tracks In-Reply-To: <411DDB13.9070808@free.fr> References: <20040813212050.GA67710@azog.po.cs.msu.su> <411DDB13.9070808@free.fr> Message-ID: <411FAD56.6040700@hrz.tu-chemnitz.de> Steve Lhomme wrote: > - before jumping the control track sets a variable to the timecode to > use for the next episode... You can't 'jump back' twice that way. There should be a stack. Alex From steve.lhomme at free.fr Wed Aug 18 13:19:26 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Wed, 18 Aug 2004 13:19:26 +0200 Subject: [Matroska-devel] IRC problems Message-ID: <41233B3E.2010005@free.fr> As we are experiencing repeated problems with the IRC server, I am connected on Freenode in #mkv... -- robUx4 on blog From rom1v at yahoo.fr Thu Aug 19 23:07:23 2004 From: rom1v at yahoo.fr (rom1v) Date: Thu, 19 Aug 2004 23:07:23 +0200 Subject: [Matroska-devel] matroska bug report Message-ID: <4125168B.9000004@yahoo.fr> look this picture... :) http://membres.lycos.fr/ftp242835074/matroska-bug-report.png From christophe.paris at free.fr Thu Aug 19 23:26:17 2004 From: christophe.paris at free.fr (Christophe PARIS) Date: Thu, 19 Aug 2004 23:26:17 +0200 Subject: [Matroska-devel] matroska bug report In-Reply-To: <4125168B.9000004@yahoo.fr> References: <4125168B.9000004@yahoo.fr> Message-ID: <41251AF9.9020000@free.fr> rom1v wrote: > look this picture... :) > > http://membres.lycos.fr/ftp242835074/matroska-bug-report.png That's pretty, but I need more information. Do a : mkvinfo -v filename.mka > filename.log Compress and upload filename.log From christophe.paris at free.fr Fri Aug 20 13:00:04 2004 From: christophe.paris at free.fr (Christophe PARIS) Date: Fri, 20 Aug 2004 13:00:04 +0200 Subject: [Matroska-devel] matroska bug report In-Reply-To: <41251AF9.9020000@free.fr> References: <4125168B.9000004@yahoo.fr> <41251AF9.9020000@free.fr> Message-ID: <4125D9B4.3020503@free.fr> Christophe PARIS wrote: > That's pretty, but I need more information. > Do a : > > mkvinfo -v filename.mka > filename.log > > Compress and upload filename.log rom sent me the log file, it's available here : http://www.matroska.org/~toff/rom_log.rar There is some strange timestamps for some frames. Example at the beginning (look the timecode for Block group 2,3,4) : |+ Cluster | + Cluster timecode: 0.000s | + Block group | + Block (track number 1, 1 frame(s), timecode 0.000s = 00:00:00.000000000) | + Frame with size 14 |+ Cluster | + Cluster timecode: 1.253s | + Block group | + Block (track number 1, 8 frame(s), timecode 1.253s = 00:00:01.252987914) | + Frame with size 14 | + Frame with size 14 | + Frame with size 14 | + Frame with size 14 | + Frame with size 14 | + Frame with size 14 | + Frame with size 14 | + Frame with size 14 | + Block group | + Block (track number 1, 3 frame(s), timecode 1.253s = 00:00:01.252987914) | + Frame with size 14 | + Frame with size 14 | + Frame with size 1995 | + Block group | + Block (track number 1, 1 frame(s), timecode 1.253s = 00:00:01.252987914) | + Frame with size 9152 | + Block group | + Block (track number 1, 1 frame(s), timecode 1.358s = 00:00:01.357991208) | + Frame with size 9061 There is the same problem at the end. He used foo_flac.dll (codec version 1.1.0) from foobar2k to encode his file. But say there is no differences with another FLAC 1.1.0 encoder (same md5 checksums)... Looks like some works for Mosu :> I've made another ripp this morning, and there is no problem. I'm gonna try that foo_flac.dll encoder to see if it has something to do with this. Regards, Toff From moritz at bunkus.org Fri Aug 20 14:30:05 2004 From: moritz at bunkus.org (Moritz Bunkus) Date: Fri, 20 Aug 2004 14:30:05 +0200 Subject: [Matroska-devel] matroska bug report In-Reply-To: <4125D9B4.3020503@free.fr> References: <4125168B.9000004@yahoo.fr> <41251AF9.9020000@free.fr> <4125D9B4.3020503@free.fr> Message-ID: <20040820123005.GA11558@bunkus.org> Hi, > | + Block (track number 1, 8 frame(s), timecode 1.253s = > | + Block (track number 1, 3 frame(s), timecode 1.253s = > | + Block (track number 1, 1 frame(s), timecode 1.253s = Looks like mkvmerge cannot extract the number of samples from those packets properly. I need the FLAC file, rom. Could you please upload at least 1MB of the file to my FTP server? The address is mosu.no-ip.com, username is 'upload', password 'only'. Thanks. Mosu -- If Darl McBride was in charge, he'd probably make marriage unconstitutional too, since clearly it de-emphasizes the commercial nature of normal human interaction, and probably is a major impediment to the commercial growth of prostitution. - Linus Torvalds From truong335566 at yahoo.com Fri Aug 20 12:18:32 2004 From: truong335566 at yahoo.com (truong nguyen) Date: Fri, 20 Aug 2004 03:18:32 -0700 (PDT) Subject: [Matroska-devel] hey Message-ID: <20040820101832.87525.qmail@web51701.mail.yahoo.com> i got a chinese movie(mkv file) and wonder if i could burn it to a disc.....when i try to convert mkv to avi it work fine but the subtitle just vanish and i dun understand jack..............so i was wondering if u could help me thanx alot --------------------------------- Do you Yahoo!? Win 1 of 4,000 free domain names from Yahoo! Enter now. -------------- next part -------------- An HTML attachment was scrubbed... URL: From chris at matroska.org Mon Aug 23 08:06:41 2004 From: chris at matroska.org (Christian HJ Wiesner) Date: Mon, 23 Aug 2004 08:06:41 +0200 Subject: [Matroska-devel] Re: Matroska website irregularity In-Reply-To: <4129452A.9020607@fineonline.com> References: <4129452A.9020607@fineonline.com> Message-ID: <41298971.7040500@matroska.org> Hi Omion, forwarding to matroska-devel ..... Reed Wilson wrote: > Chris - > In the Technical/tags page of the Matroska web site, TagBinary > says the following: > > The values of the Tag if it is binary. Note that this cannot be used > in the same Tag as TagString or TagInteger. > > I see the definition of TagString, but not TagInteger. Nor do I > see any actual tags that use the TagInteger type, even the ones like > PART_NUMBER. > Just thought I'd straighten that out. > > - Reed Wilson (Omion from hydrogenaudio and doom9) > From steve.lhomme at free.fr Mon Aug 23 09:35:59 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Mon, 23 Aug 2004 09:35:59 +0200 Subject: [Matroska-devel] Re: Matroska website irregularity In-Reply-To: <41298971.7040500@matroska.org> References: <4129452A.9020607@fineonline.com> <41298971.7040500@matroska.org> Message-ID: <41299E5F.2030001@free.fr> Yes, there used to be such a tag but it has been removed because it's easier for applications not to care if they have to use TagString or TagInteger. TagBinary is used in very special cases where the user wouldn't enter such a value manually. Christian HJ Wiesner a ?crit : > Hi Omion, > > forwarding to matroska-devel ..... > > Reed Wilson wrote: > >> Chris - >> In the Technical/tags page of the Matroska web site, TagBinary >> says the following: >> >> The values of the Tag if it is binary. Note that this cannot be used >> in the same Tag as TagString or TagInteger. >> >> I see the definition of TagString, but not TagInteger. Nor do I >> see any actual tags that use the TagInteger type, even the ones like >> PART_NUMBER. >> Just thought I'd straighten that out. >> >> - Reed Wilson (Omion from hydrogenaudio and doom9) From steve.lhomme at free.fr Thu Aug 26 11:12:16 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Thu, 26 Aug 2004 11:12:16 +0200 Subject: [Matroska-devel] Tags Message-ID: <412DA970.10606@free.fr> Hi Age, As the tag system is finally becoming stable, it would be nice to have comments from you on the latest version. We have moved the level thing from the tag names to the EBML level. That makes it more coherent for inner and outer content tagging. Now we just need some validation from experts like you :) There is an audio and a video example on the site covering some possible cases. We'll probably add another audio example that covers the VOLUME use (I already have an example in mind). Some tags that are not sure to be keep or kept in the current forms are displayed differently in the specs. Thanx From steve.lhomme at free.fr Fri Aug 27 12:00:18 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Fri, 27 Aug 2004 12:00:18 +0200 Subject: [Matroska-devel] foo_matroska Message-ID: <412F0632.1010300@free.fr> I was looking at the code of foo_matroska and what would need to be changed for the new tag system. - ALBUM has to be mapped to a specific TargetType (value 40 which is the default) - the ReplayGain info are track and album specific. So they have to be mapped to the specific TargetType - TRACKNUMBER is the PART_NUMBER of the TRACK TargetType (value 30) etc... - DISCID is not defined in the specs, what is it ? -- robUx4 on blog From moritz at bunkus.org Fri Aug 27 12:23:54 2004 From: moritz at bunkus.org (Moritz Bunkus) Date: Fri, 27 Aug 2004 12:23:54 +0200 Subject: [Matroska-devel] Tags In-Reply-To: <412DA970.10606@free.fr> References: <412DA970.10606@free.fr> Message-ID: <20040827102354.GE21208@bunkus.org> Hi, I'm looking at the tag specs & examples at the moment, and there are some issues. In the "One file with all DVDs" example Tags Tag (about the season) Targets (no target means the whole content of the file, otherwise you can put all matching ChapterUIDs) TargetTypeValue = "40" TargetType = "SEASON" This should be 'TargetTypeValue = "50"', right? Same example, same tag: SimpleTag (note there is no TOTAL_NUMBER of seasons as the series is not stopped) TagName = "PART_NUMBER" TagString = "1" SimpleTag (the number of episodes) TagName = "TOTAL_NUMBER" TagString = "8" First, in the specs there is no "TOTAL_NUMBER" element, only a "TOTAL_PARTS" element. Second, the usage of PART_NUMBER and TOTAL_NUMBER is either wrong in the example or VERY bogus in the specs. The specs say: TOTAL_PARTS UTF-8 Total number of parts of the current level. (e.g. if TargetType is ALBUM, the total number of tracks of an audio CD) PART_NUMBER UTF-8 Number of the current part of the current level. (e.g. the track number of an audio CD) Ok, so the use of these two elements is correct if I understand it correctly. It's just a bit misleading. Maybe you should add the TargetType = "TRACK" to the PART_NUMBER specs? --------------------- The "basic" example is ok (easy enough ;)). --------------------- The rest looks fine, too. I haven't checked the chapter UIDs ;) >From what I can see the usage of TargetTypeValue is ok. Maybe we should drop TargetType again as it only confuses matters... Even if it IS informal, it might be present, and no application reading the tags will use it because TTV is the one to look for. (No, mtx 0.9.5 does not contain support for TargetType) Mosu -- If Darl McBride was in charge, he'd probably make marriage unconstitutional too, since clearly it de-emphasizes the commercial nature of normal human interaction, and probably is a major impediment to the commercial growth of prostitution. - Linus Torvalds From steve.lhomme at free.fr Fri Aug 27 12:51:16 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Fri, 27 Aug 2004 12:51:16 +0200 Subject: [Matroska-devel] Tags In-Reply-To: <20040827102354.GE21208@bunkus.org> References: <412DA970.10606@free.fr> <20040827102354.GE21208@bunkus.org> Message-ID: <412F1224.1040608@free.fr> Moritz Bunkus a ?crit : > Hi, > > I'm looking at the tag specs & examples at the moment, and there are > some issues. > > In the "One file with all DVDs" example > > Tags > Tag (about the season) > Targets (no target means the whole content of the file, otherwise > you can put all matching ChapterUIDs) > TargetTypeValue = "40" > TargetType = "SEASON" > > This should be 'TargetTypeValue = "50"', right? fixing > Same example, same tag: > > SimpleTag (note there is no TOTAL_NUMBER of seasons as the series > is not stopped) > TagName = "PART_NUMBER" > TagString = "1" > SimpleTag (the number of episodes) > TagName = "TOTAL_NUMBER" > TagString = "8" > > First, in the specs there is no "TOTAL_NUMBER" element, only a > "TOTAL_PARTS" element. Second, the usage of PART_NUMBER and TOTAL_NUMBER fixing > is either wrong in the example or VERY bogus in the specs. The specs > say: > > TOTAL_PARTS UTF-8 Total number of parts of the current > level. (e.g. if TargetType is ALBUM, the total number of tracks of an > audio CD) > > PART_NUMBER UTF-8 Number of the current part of the current > level. (e.g. the track number of an audio CD) > > Ok, so the use of these two elements is correct if I understand it > correctly. It's just a bit misleading. Maybe you should add the > TargetType = "TRACK" to the PART_NUMBER specs? Yup. I'll see if I can be more specific about the relation between TOTAL_PARTS, PART_NUMBER and TargetTypeValue. > The rest looks fine, too. I haven't checked the chapter UIDs ;) > >>From what I can see the usage of TargetTypeValue is ok. Maybe we should > drop TargetType again as it only confuses matters... Even if it IS > informal, it might be present, and no application reading the tags will > use it because TTV is the one to look for. It should be used to display the kind of element it is in a UI. For example in a video tagger value 40 can be a MOVIE or an EPISODE, or level 30 can be a TRACK or a CHAPTER. And it would be nice to know. The other alternative would be to have a SubValue with the Value to get this precision. -- robUx4 on blog From steve.lhomme at free.fr Sat Aug 28 23:36:29 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Sat, 28 Aug 2004 23:36:29 +0200 Subject: [Matroska-devel] Nested Tags ? Message-ID: <4130FADD.1070302@free.fr> night ;) * Goldenear has quit (Quit: Leaving) BTW, what you want can be achieved with chapters too late... Yes, having a movie in a movie is possible with Chapters. For example that Roger Rabbit thing (even though I don't think it can be considered as a movie in a movie). The chapter would be like : Chapter 123 (the movie) --Chapter 1 (part #1 that contains the little movie) --Chapter 10 (scene 1 of that little movie) --Chapter 11 (scene 1 of that little movie) --Chapter 12 (scene 1 of that little movie) --Chapter 2 (part #2 of the movie) --Chapter 3 (part #3 of the movie) In the tags you can target Chapter 1 and say it's a CHAPTER of the MOVIE. Then you can use the same target Chapter 1 and say it's a MOVIE. Then you can tag the scenes as CHAPTER if you want. And you actually have a CHAPTER inside a CHAPTER. It's the king of little nice things chapters can be used for. Now for a UI to display that... That's another pb. But at least a DB could handle these info without any pb. -- robUx4 on blog From steve.lhomme at free.fr Sun Aug 29 18:03:33 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Sun, 29 Aug 2004 18:03:33 +0200 Subject: [Matroska-devel] Nested Tags ? In-Reply-To: <4130FADD.1070302@free.fr> References: <4130FADD.1070302@free.fr> Message-ID: <4131FE55.6010701@free.fr> Well, Animatrix would be a much better example (watched that one in MKV ;). We could add it to the video examples, so that everyone is aware of the possibility. Steve Lhomme a ?crit : > night ;) > * Goldenear has quit (Quit: Leaving) > BTW, what you want can be achieved with chapters > too late... > > Yes, having a movie in a movie is possible with Chapters. For example > that Roger Rabbit thing (even though I don't think it can be considered > as a movie in a movie). > > The chapter would be like : > > Chapter 123 (the movie) > --Chapter 1 (part #1 that contains the little movie) > --Chapter 10 (scene 1 of that little movie) > --Chapter 11 (scene 1 of that little movie) > --Chapter 12 (scene 1 of that little movie) > --Chapter 2 (part #2 of the movie) > --Chapter 3 (part #3 of the movie) > > In the tags you can target Chapter 1 and say it's a CHAPTER of the MOVIE. > Then you can use the same target Chapter 1 and say it's a MOVIE. Then > you can tag the scenes as CHAPTER if you want. And you actually have a > CHAPTER inside a CHAPTER. > > It's the king of little nice things chapters can be used for. > > Now for a UI to display that... That's another pb. But at least a DB > could handle these info without any pb. > -- robUx4 on blog From steve.lhomme at free.fr Mon Aug 30 11:02:54 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Mon, 30 Aug 2004 11:02:54 +0200 Subject: [Matroska-devel] EBML improvements Message-ID: <4132ED3E.7070508@free.fr> I've been thinking for a while about how to add native support for elements that require a few bits. Especially on how to save space for the 1 bit flags we use in Matroska. I've been thinking about an EbmlBitfield, but then that would mean that each bit in the field need to have a separate definition and I didn't really like it. Another solution that I find better is the use of an EbmlFlag. The type would be interpreted like this : - if the element is set with a size of 0, the value is the opposite of the default value - if the element is set with a value, the value is either 0 (false) or whatever (true) - if the element is not set, the value is assumed to be the default if the element is mandatory (and all flags should be mandatory) So, it means that files previously written will always be compatible. But that you can avoid setting the value to save space. It won't be a big difference for Matroska, but it does for EBML in general. I think the changes in the existing parsers are very minimal. Any comment ? -- robUx4 on blog From moritz at bunkus.org Mon Aug 30 11:12:05 2004 From: moritz at bunkus.org (Moritz Bunkus) Date: Mon, 30 Aug 2004 11:12:05 +0200 Subject: [Matroska-devel] EBML improvements In-Reply-To: <4132ED3E.7070508@free.fr> References: <4132ED3E.7070508@free.fr> Message-ID: <20040830091205.GA25955@bunkus.org> Hi, > Another solution that I find better is the use of an EbmlFlag. The type > would be interpreted like this : > - if the element is set with a size of 0, the value is the opposite of > the default value Let's hope existing parsers can cope with 0 sized elements. Mosu -- If Darl McBride was in charge, he'd probably make marriage unconstitutional too, since clearly it de-emphasizes the commercial nature of normal human interaction, and probably is a major impediment to the commercial growth of prostitution. - Linus Torvalds From steve.lhomme at free.fr Mon Aug 30 11:18:52 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Mon, 30 Aug 2004 11:18:52 +0200 Subject: [Matroska-devel] EBML improvements In-Reply-To: <20040830091205.GA25955@bunkus.org> References: <4132ED3E.7070508@free.fr> <20040830091205.GA25955@bunkus.org> Message-ID: <4132F0FC.5030509@free.fr> Moritz Bunkus a ?crit : > Hi, > > >>Another solution that I find better is the use of an EbmlFlag. The type >>would be interpreted like this : >>- if the element is set with a size of 0, the value is the opposite of >>the default value > > > Let's hope existing parsers can cope with 0 sized elements. The specs clearly say that the size is always between 0 and something. Haali had the problem in his parser and fixed that. libebml can write 0 sized EbmlVoid. So it better be supported ! -- robUx4 on blog From moritz at bunkus.org Mon Aug 30 11:23:41 2004 From: moritz at bunkus.org (Moritz Bunkus) Date: Mon, 30 Aug 2004 11:23:41 +0200 Subject: [Matroska-devel] EBML improvements In-Reply-To: <4132F0FC.5030509@free.fr> References: <4132ED3E.7070508@free.fr> <20040830091205.GA25955@bunkus.org> <4132F0FC.5030509@free.fr> Message-ID: <20040830092341.GB25955@bunkus.org> Hi, > The specs clearly say that the size is always between 0 and something. :) Ok that would work. Of course it "only" saves one byte compared to an UInteger, but that's of course better than nothing ;) Especially for cases in which flags are used often. Mosu -- If Darl McBride was in charge, he'd probably make marriage unconstitutional too, since clearly it de-emphasizes the commercial nature of normal human interaction, and probably is a major impediment to the commercial growth of prostitution. - Linus Torvalds From steve.lhomme at free.fr Mon Aug 30 11:52:56 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Mon, 30 Aug 2004 11:52:56 +0200 Subject: [Matroska-devel] EBML improvements In-Reply-To: <20040830092341.GB25955@bunkus.org> References: <4132ED3E.7070508@free.fr> <20040830091205.GA25955@bunkus.org> <4132F0FC.5030509@free.fr> <20040830092341.GB25955@bunkus.org> Message-ID: <4132F8F8.402@free.fr> Moritz Bunkus a ?crit : > Hi, > > >>The specs clearly say that the size is always between 0 and something. > > > :) > > Ok that would work. Of course it "only" saves one byte compared to an > UInteger, but that's of course better than nothing ;) Especially for > cases in which flags are used often. Well, after talking on IRC, it seems that the size=0 should be generalized. It would mean that the element has the default value. Otherwise some elements that are not mandatory should never have a default value. And that change (addition, actually) would make a new EbmlFlag type useless. -- robUx4 on blog From steve.lhomme at free.fr Mon Aug 30 13:44:38 2004 From: steve.lhomme at free.fr (Steve Lhomme) Date: Mon, 30 Aug 2004 13:44:38 +0200 Subject: [Matroska-devel] EBML improvements In-Reply-To: <4132F8F8.402@free.fr> References: <4132ED3E.7070508@free.fr> <20040830091205.GA25955@bunkus.org> <4132F0FC.5030509@free.fr> <20040830092341.GB25955@bunkus.org> <4132F8F8.402@free.fr> Message-ID: <41331326.4090600@free.fr> Steve Lhomme a ?crit : > Moritz Bunkus a ?crit : > >> Hi, >> >> >>> The specs clearly say that the size is always between 0 and something. >> >> >> >> :) >> >> Ok that would work. Of course it "only" saves one byte compared to an >> UInteger, but that's of course better than nothing ;) Especially for >> cases in which flags are used often. > > > Well, after talking on IRC, it seems that the size=0 should be > generalized. It would mean that the element has the default value. > Otherwise some elements that are not mandatory should never have a > default value. > > And that change (addition, actually) would make a new EbmlFlag type > useless. Mh, this guy (me) is telling bullshit. Actually what I proposed for flags was the opposite. If you don't put data it's the _opposite_ of the default value. So the change should be one _or_ the other. It think that it's better to go the general way (ie not adding an EbmlFlag).