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