|
From: <wim...@ch...> - 2001-04-13 04:34:20
|
[07:10] chillywilly (bau...@d1...) joined #gstreamer. [07:19] Nick change: ajmitch -> aj_food [07:42] taaz (dlehn@66.37.66.32) left irc: Ping timeout for taaz[66.37.66.32] [07:42] taaz (dlehn@66.37.66.32) joined #gstreamer. [07:48] Nick change: aj_food -> ajmitch [08:06] ajmitch (me...@p4...) left irc: http://www.freedevelopers.net [09:48] Nick change: chillywilly -> cwStudy [09:48] Action: cwStudy is away: studying for a test [10:09] holger (holger@Q.convergence.de) joined #gstreamer. [10:51] cwStudy (bau...@d1...) left irc: nighty night [11:25] holger (holger@Q.convergence.de) got netsplit. [11:25] wtay-sleep (wi...@ca...) got netsplit. [11:26] wtay-sleep (wi...@ca...) returned to #gstreamer. [11:26] holger (holger@Q.convergence.de) returned to #gstreamer. [11:26] holger (holger@Q.convergence.de) got netsplit. [11:26] wtay-sleep (wi...@ca...) got netsplit. [11:26] wtay-sleep (wi...@ca...) returned to #gstreamer. [11:26] holger (holger@Q.convergence.de) returned to #gstreamer. [11:26] holger (holger@Q.convergence.de) got netsplit. [11:26] wtay-sleep (wi...@ca...) got netsplit. [11:26] wtay-sleep (wi...@ca...) returned to #gstreamer. [11:26] holger (holger@Q.convergence.de) returned to #gstreamer. [11:32] holger (holger@Q.convergence.de) got netsplit. [11:32] wtay-sleep (wi...@ca...) got netsplit. [11:32] wtay-sleep (wi...@ca...) returned to #gstreamer. [11:32] holger (holger@Q.convergence.de) returned to #gstreamer. [12:12] rdj (rd...@a3...) got netsplit. [12:12] taaz (dlehn@66.37.66.32) got netsplit. [12:12] holger (holger@Q.convergence.de) got netsplit. [12:12] wtay-sleep (wi...@ca...) got netsplit. [12:12] rdj (rd...@a3...) returned to #gstreamer. [12:12] taaz (dlehn@66.37.66.32) returned to #gstreamer. [12:12] holger (holger@Q.convergence.de) returned to #gstreamer. [12:12] wtay-sleep (wi...@ca...) returned to #gstreamer. [12:23] rdj (rd...@a3...) got netsplit. [12:23] taaz (dlehn@66.37.66.32) got netsplit. [12:23] holger (holger@Q.convergence.de) got netsplit. [12:23] wtay-sleep (wi...@ca...) got netsplit. [12:23] rdj (rd...@a3...) returned to #gstreamer. [12:23] taaz (dlehn@66.37.66.32) returned to #gstreamer. [12:23] holger (holger@Q.convergence.de) returned to #gstreamer. [12:23] wtay-sleep (wi...@ca...) returned to #gstreamer. [12:44] holger (holger@Q.convergence.de) left irc: Ping timeout for holger[Q.convergence.de] [12:45] holger__ (holger@Q.convergence.de) joined #gstreamer. [12:48] holger__ (holger@Q.convergence.de) left irc: Ping timeout for holger__[Q.convergence.de] [12:58] rdj (rd...@a3...) got netsplit. [12:58] taaz (dlehn@66.37.66.32) got netsplit. [12:58] wtay-sleep (wi...@ca...) got netsplit. [12:59] wtay-sleep (wi...@ca...) returned to #gstreamer. [12:59] taaz (dlehn@66.37.66.32) returned to #gstreamer. [12:59] rdj (rd...@a3...) returned to #gstreamer. [14:14] razzie (mr...@ho...) joined #gstreamer. [14:32] rdj (rd...@a3...) left irc: proud member of the anti movement... [14:32] sienap (no...@ho...) joined #gstreamer. [14:33] <sienap> Wieeeeeeeeeeeeeeeeh [14:42] taaz (dlehn@66.37.66.32) got netsplit. [14:43] taaz (dlehn@66.37.66.32) returned to #gstreamer. [15:48] sienap (no...@ho...) left irc: Ping timeout for sienap[hoogeveen1-40.kabel.dekooi.nl] [15:49] razzie (mr...@ho...) left irc: Ping timeout for razzie[hoogeveen1-40.kabel.dekooi.nl] [17:40] hadess (ha...@pc...) joined #gstreamer. [17:58] Cactus (ca...@po...) joined #gstreamer. [17:58] <Cactus> hi [17:58] <Cactus> <hadess> Cactus: i think ppl on #gstreamer would be pleased to see you [17:58] <hadess> pleased to see you here [17:58] dobey (do...@dr...) joined #gstreamer. [18:11] sienap (no...@ho...) joined #gstreamer. [18:11] <sienap> boe :) [18:12] <sienap> cactus of guikachu ? [18:12] <dobey> ack [18:12] <Cactus> sienap: yup [18:12] <sienap> hej hadess :) [18:12] <sienap> cactus he cool :) [18:12] <sienap> since when are you intrested in gstreamer ? [18:12] <hadess> hi sienap [18:12] <Cactus> sienap: I've sent a mail to the gstreamer list about possibly using GStreamer via the bonob-media interface [18:12] <sienap> aah btw guys.. a mate of my is making a nautilus viewer for gstreamer :) [18:12] <sienap> cactus aah cewl :) [18:12] <dobey> Cactus: huh? [18:12] <sienap> hej hadess ! [18:13] <Cactus> sienap: but right now I'm in the desing process for Bonobo/C++ so I'm basically away:) [18:13] <sienap> i am at hoogeveen right now :) mrrazz is also here [18:13] <Cactus> dobey: http://cactus.rulez.org/projects/bonobo-media/ [18:13] <sienap> cactus he :) [18:13] <sienap> wat is bonobo-media doing ? [18:13] <dobey> sigh [18:13] <dobey> does everyone automatically do something i mention? [18:14] <sienap> dobey hmm [18:14] <sienap> :) [18:14] <dobey> maybe i should just not say anything [18:14] <dobey> that probably won't help though [18:14] <sienap> hmm [18:14] <sienap> 'he [18:15] <sienap> mwha [18:16] <dobey> so it's a bonbocontrol for controlling media [18:16] Action: dobey kicks himself [18:17] <sienap> he [18:17] <sienap> pretty much kick arse ;) [18:17] <dobey> eh [18:41] <sienap> cactus [18:41] <sienap> still there ? [18:41] <Cactus> sienap: kinda [18:42] <Cactus> sienap: I will be really here in about half an hour or something like that [18:42] <Cactus> I just really need to get these design ideas about bonboo/c++ out of my head [18:42] ChiefHighwater (pa...@te...) joined #gstreamer. [18:42] <dobey> yes [18:42] <dobey> and the ones about bonobo and media too [18:42] <dobey> get rid of those [18:42] <Cactus> :) [18:44] <sienap> cactus he okie :) [18:44] <sienap> i was wondering [18:44] <sienap> how you can have a gst_main and a bonobo_main at once.. [18:47] <hadess> sienap: there is no gst_main [18:48] <sienap> mwha [18:49] <sienap> something like that :) [18:51] Nick change: wtay-sleep -> wtay [18:51] <wtay> yo [18:52] <hadess> wtay: ! [18:52] <hadess> madplay rocks [18:52] <sienap> WtAYYY [18:52] <sienap> i am in hoogeveen [18:52] <sienap> mrrazz is here as well :) [18:52] <wtay> sienap: I could read that from the logs :-) [18:52] <hadess> mpeglib from lame: borked [18:52] <hadess> libmad: rocking [18:53] <hadess> smpeg: crappy for mp3 decoding [18:53] <wtay> hadess: it does? [18:53] <sienap> wtay he :) [18:53] <hadess> wtay: it's as good as mpg123 and it's already a library =) [18:53] <sienap> however what was the name for the gstreamer_main; or something :) [18:53] <wtay> hadess: cool I'll check it out soon [18:54] <hadess> mpg123 uses less cpu though [18:54] <sienap> the xmms routines are FAST] [18:54] <sienap> however they use a LOT of ram.. [18:54] <wtay> hadess: hmm, madplay doesn't use floating point arith... [18:54] <hadess> maybe it'd be an idea to have libmad as a starter so that we can _use_ mp3 decoding [18:55] <wtay> yeah [18:56] <hadess> oh [18:56] <wtay> whoohoo: apt-get install libmad0 [18:56] <hadess> didn't know about that [18:56] <wtay> apt-get install libmad0-dev [18:56] <hadess> that explains why it works but is using more cpu... [18:58] <wtay> I thought it would be faster then... [18:59] <hadess> libmad should work better on arm cpus as well, that might interest omega [18:59] <sienap> hmm [18:59] <hadess> ppc's have a very good fpu [18:59] <wtay> yes, lots of CPU archs in the header file [19:02] <hadess> is that me or is the audio output inside the library as well ? [19:02] <wtay> hmm [19:02] <wtay> reading the source now... [19:06] <wtay> only madplay has the output modules.. [19:08] <hadess> cool [19:09] <wtay> slightly faster then mpg123 here (1% CPU vs 2% CPU) [19:10] <hadess> yeah, but not here [19:10] <hadess> but this one works at least [19:11] <hadess> mad: ~10%, mpg123 ~3% [19:12] <wtay> hmm [19:25] <Cactus> I'm heeeeere [19:26] <Cactus> so [19:26] <Cactus> what do you think about bonobo-media? [19:28] ChiefHighwater (pa...@te...) left irc: [19:29] <wtay> Cactus: very cool [19:29] <wtay> Can you help me implement it? [19:29] <Cactus> wtay: sure [19:29] <wtay> perfect [19:29] <Cactus> wtay: it's basically a question of subclassing the existing ::Stream skeleton implementation [19:30] <wtay> ok, I'm downloading the source code now... [19:30] <Cactus> be warned that it uses GOB [19:30] <wtay> hmm yeah [19:32] <wtay> is bonobo-media apt gettable? [19:32] <Cactus> nope [19:32] <Cactus> but GOB is:) [19:32] <wtay> yeah, got that one already [19:33] <Cactus> I would advise you to have a look at the vorbis stream provider, since it is mostly done (only volume setting is unimplemented) [19:33] <wtay> I'm very unfamiliar with gob.. [19:33] <Cactus> it only creates glue GtkObject code [19:34] <Cactus> the real stuff is still in plain C [19:34] <wtay> I assume the .c files are autogenerated.. [19:34] <Cactus> yes [19:35] <Cactus> oh, before you misunderstand the situation: [19:35] <Cactus> you certainly don't need to use GOB to create a bonobo-media stream provider [19:38] <wtay> no, but I think I kinda like gob so why not.. [19:39] <wtay> OAF - version >= 0.6.0... no [19:39] <wtay> *** Could not run OAF test program, checking why... [19:40] Nick change: Cactus -> CacTVs [19:41] <dobey> haha [19:41] <dobey> bah [19:41] <dobey> i guess i won't write a control [19:42] <sienap> mwha [19:42] <sienap> guess you can help writing it :) [19:42] <wtay> yes plaese [19:42] <wtay> I'm a complete dumbass with controls... [19:43] <sienap> dobey join in :) [19:43] Action: dobey goes back to work [19:43] <sienap> e [19:43] <sienap> he [19:49] CacTVs (ca...@po...) got netsplit. [19:49] hadess (ha...@pc...) got netsplit. [19:49] hadess (ha...@pc...) returned to #gstreamer. [19:49] CacTVs (ca...@po...) returned to #gstreamer. [19:50] CacTVs (ca...@po...) got netsplit. [19:50] hadess (ha...@pc...) got netsplit. [19:50] hadess (ha...@pc...) returned to #gstreamer. [19:50] CacTVs (ca...@po...) returned to #gstreamer. [19:51] CacTVs (ca...@po...) got netsplit. [19:51] CacTVs (ca...@po...) returned to #gstreamer. [19:51] <sienap> cactuss! [19:52] <wtay> restarting X... [19:52] wtay (wi...@ca...) left irc: Client Exiting [19:54] wtay (wi...@ca...) joined #gstreamer. [19:54] <wtay> hmm [19:55] dobey (do...@dr...) got netsplit. [19:55] <sienap> wtay! [19:55] dobey (do...@dr...) returned to #gstreamer. [19:55] <sienap> wtay look @ query [19:56] dobey (do...@dr...) got netsplit. [19:56] CacTVs (ca...@po...) got netsplit. [19:56] hadess (ha...@pc...) got netsplit. [19:56] taaz (dlehn@66.37.66.32) got netsplit. [19:56] taaz (dlehn@66.37.66.32) returned to #gstreamer. [19:56] hadess (ha...@pc...) returned to #gstreamer. [19:56] CacTVs (ca...@po...) returned to #gstreamer. [19:56] dobey (do...@dr...) returned to #gstreamer. [19:57] rdj (rd...@a3...) joined #gstreamer. [19:58] <hadess> welcome rdj [19:58] <rdj> thanks :P [20:06] <wtay> hi [20:09] <taaz> any plans for how to accept input from videosink? ie, mouse events and key events? that sort of thing is needed for dvd menus at least [20:11] <rdj> hadess: don't mean to push my luck, but do you happen to know any examples, docs, or whatever that can help me with what you adviced on #nautilus? [20:11] <rdj> I'm rather new to gstreamer [20:11] <hadess> let me check [20:12] <hadess> i know if seen it somewhere [20:12] <wtay> taaz: no idea yet... the new xvideosink uses plain X and I'm quite unconfortable with that... [20:12] CacTVs (ca...@po...) got netsplit. [20:12] <hadess> while (playing) gst_bin_iterate(GST_BIN(bin)); is one way (ie by hand) [20:13] <hadess> otherwise for creating threads and such, read the application developers manual on gstreamer.net [20:13] <hadess> it's got all the basics you need to know [20:13] <rdj> ok [20:13] <rdj> thanks [20:13] <hadess> np [20:13] CacTVs (ca...@po...) returned to #gstreamer. [20:15] CacTVs (ca...@po...) got netsplit. [20:15] CacTVs (ca...@po...) returned to #gstreamer. [20:15] Nick change: dobey -> dobey-dead [20:16] Action: wtay revives dobey [20:17] <dobey-dead> it's obvious i dunno anything so i'll just be dead [20:18] <wtay> or you could learn... [20:18] <dobey-dead> or people could learn to listen to me [20:19] <hadess> dobey-dead: that doesn't work with girls, THEY talk, YOU listen [20:19] <dobey-dead> hadess: i'm not talking about girls [20:19] <wtay> heh [20:19] <hadess> oh, sorry :P [20:20] Nick change: CacTVs -> Cactus [20:20] Cactus (ca...@po...) left irc: Tank, I need an exit [20:21] Cactus (ca...@po...) joined #gstreamer. [20:21] <Cactus> re [20:21] <hadess> wb [20:22] <Cactus> wtay: have you succeded in compiling bonoob-media? [20:22] <wtay> Cactus: I can't get anything useful with bonobo-media [20:22] <wtay> I compiled it, added /usr/local/share/oaf/ to the oaf path... [20:22] <wtay> what do I do next? [20:22] <Cactus> wtay: there is no real useful end-user application included in there except the media-player [20:23] <Cactus> wtay: use the media-player [20:23] <Cactus> I think it currenty expects a filename on the command line (i.e. not a moniker) [20:23] <wtay> ./media-player /opt/data/mp3/02.\ Pinokkio.mp3 [20:23] <wtay> ** WARNING **: Filename : '/opt/data/mp3/02. Pinokkio.mp3' [20:23] <Cactus> but it can be trivially changed to accept a moniker and then you get things like http for free [20:24] <Cactus> and a window pops up with the media player, right? [20:24] rdj (rd...@a3...) got netsplit. [20:24] rdj (rd...@a3...) returned to #gstreamer. [20:24] <wtay> oh right :) [20:24] <wtay> I didn't see that one... [20:24] taaz (dlehn@66.37.66.32) got netsplit. [20:24] <Cactus> :) [20:24] <Cactus> :))) [20:24] <wtay> oh cool, it plays [20:24] taaz (dlehn@66.37.66.32) returned to #gstreamer. [20:24] taaz (dlehn@66.37.66.32) got netsplit. [20:24] <hadess> neat [20:24] taaz (dlehn@66.37.66.32) returned to #gstreamer. [20:25] <wtay> so... [20:25] <Cactus> wtay: OK so here are some information about it [20:25] <wtay> we want to have video in there too [20:26] <Cactus> if you play back an MP3 file, [20:26] <Cactus> it is played back by the smpleg stream provider [20:26] <Cactus> and it doesn't implement Bonobo::Media::Video [20:26] <Cactus> hence no video [20:26] <wtay> based on the mime type? [20:26] <Cactus> yes [20:26] <Cactus> actually, [20:26] <Cactus> the media-player thing is not really written the way it should be [20:27] <wtay> -vfs? [20:27] <Cactus> I have no idea why it is written that way:) [20:27] <Cactus> no [20:27] <Cactus> it should just use the monikers [20:27] <Cactus> let me try that [20:31] <Cactus> but anyway [20:31] <Cactus> the media-player thingie is nothing but a shell around the media-player Bonobo control [20:32] <wtay> I see.. [20:32] <wtay> hmm [20:32] <Cactus> which is a control you can embed into your application if you want to do user-controllable playback (i.e. it's the same as the control in GStreamer) [20:32] <Cactus> however, [20:32] <Cactus> if you want to play back media content from your application _without_ user control or anything, [20:32] <Cactus> you can use the Bonboo::Media interfaces (that's the whole point) [20:34] <wtay> so we should add a new stream provider now... [20:34] <Cactus> yes [20:34] <Cactus> actually, [20:34] <Cactus> having seen what GStreamer can do, [20:35] <Cactus> I think a gstreamer stream provider can be the only provider one will ever need [20:35] <wtay> hopefully :-) [20:35] <wtay> anyway let's not break what works now [20:36] <wtay> I had bad experiences with the video components in different threads.. [20:36] <Cactus> were you locking the GDK mutex properly? [20:36] <wtay> no [20:37] <wtay> no way to do CORBA after doing a g_threads_init() [20:37] <wtay> the thing locks solid [20:37] <Cactus> hmm [20:37] <Cactus> hmmmmmmmmmmmm [20:37] <wtay> however it might work with the new videosink [20:37] <Cactus> have you tried ORBit/mt? [20:37] <wtay> no [20:38] <wtay> I basically have a new X connection for the videoelement so that would eliminate a few probs [20:38] <Cactus> BTW who was I talking with at GUADEC2001? [20:38] <wtay> me? [20:39] <wtay> when we sat down and I showed the gstplay.h file... [20:39] <Cactus> yes [20:39] <Cactus> OK:) [20:39] <hadess> wtay: where is the group photo ? [20:39] <Cactus> too bad there are no photos beside nicknames in xchat:) [20:39] <wtay> ouch :-) [20:40] <wtay> http://gstreamer.net/Gstreamer_team_at_Guadec.jpg [20:41] <hadess> Cactus: some day you rill regret what you said =) [20:41] sienap (no...@ho...) left irc: sienap has no reason [20:41] <wtay> he does now :-) [20:42] <wtay> Cactus: there's also support for persistent streams.. [20:43] <Cactus> wtay: what do you mean by that? [20:44] <Cactus> wtay: you could implement Bonobo::PersistStream to be loadable with xmlified GStreamer circuits [20:44] <wtay> PersistFile_load and friends [20:44] <wtay> cool [20:44] <dobey-dead> sigh [20:44] <dobey-dead> i thought PersistStream handled http [20:44] <Cactus> hey, I know these guys :))) [20:45] <Cactus> dobey-dead: that's not quite the way it works [20:45] <wtay> let's just ditch gstmediaplay in favor of bonobo-media :-) [20:45] <Cactus> dobey-dead: with PersistStream you get a Bonobo::Stream [20:45] <Cactus> dobey-dead: and it doesn't matter if it's from an HTTP server or a local file or some other Bonobo component [20:45] <wtay> Cactus: do we need a Bonobo::Stream src then? [20:46] <Cactus> wtay: the Moniker system sets that up to you [20:46] <wtay> I mean, how do you read from such a thing? [20:46] <Cactus> wtay: to implement Bonobo::PersistStream, you only need to implement to functions: [20:46] <Cactus> 1, loading from a Bonobo::Stream [20:46] <Cactus> 2, saving to a Bonobo::stream [20:46] <Cactus> you read it with its read() method:) (see the IDL for it in Bonobo_Storage.idl [20:46] <wtay> does it load the whole thing in memory first then? [20:47] Action: Cactus eats [20:47] <Cactus> wtay: no, you read it chunk by chunk [20:47] <wtay> perfect [20:48] <wtay> just a question: how official is bonobo-media? [20:51] Action: hadess thinks that a bonobo component for gforce would be possible then [20:51] <wtay> hadess: yeah :-) [20:51] <hadess> gforce in nautilus, gforce in gnumeric, gforce in soundbox =) [20:52] <dobey-dead> sigh [20:52] <dobey-dead> gforce in my but [20:52] <hadess> rdj is working on a multimedia component for nautilus, based on gstreamer [20:52] <wtay> and something to drive gforce too of course (hint: gstreamer) [20:52] <dobey-dead> t [20:52] <hadess> wtay: sure dude [20:52] <wtay> :) [20:53] <dobey-dead> it looks like my butt [20:53] <hadess> dobey-dead: you need new glasses dude, even tiger said it rocked [20:54] <dobey-dead> gforce is cool yeah [20:54] <dobey-dead> not in anything other than a window by itself or fullscreen though [20:55] <hadess> in a program, like it is in iTunes [20:55] <dobey-dead> that's what i don't like about all this new media shit [20:56] <dobey-dead> they have these wacky things in the same window as everything else [20:58] <hadess> http://hadess.net/files/shots/20-3-2001.2.jpg <- looks good to me [20:58] <dobey-dead> ugh [20:59] <dobey-dead> that is too distracting [20:59] <dobey-dead> gforce as an xscreensaver hack would rock [20:59] <hadess> of course it is, like all the vis plugins [20:59] <dobey-dead> no [20:59] <dobey-dead> i can barely read the song info [21:00] <hadess> it supposed to be moving you know [21:00] <wtay> Cactus: so what if we try to get a simple mp3 playing with gstreamer and bonobo-media? [21:04] Action: rdj will sectretely check cactus's bonobo-media code to see how he solved certain things :P [21:04] <rdj> oops, I blew my cover :P [21:04] <wtay> hehe [21:04] <dobey-dead> hrmm [21:06] <Cactus> wtay: do you want actual code or basic overview? [21:07] <Cactus> wtay: here's how it will work: [21:07] <wtay> you have something already? [21:07] <Cactus> no:) [21:07] <wtay> I'm now adding a new dir/changin makefiles. [21:08] <Cactus> let's say I want to play back media content that's supported by GStreamer [21:08] <Cactus> for example it's a mp3 file on an http server [21:08] <wtay> ok [21:08] <Cactus> so I resolve an http moniker to Bonobo::Media::Stream [21:08] <Cactus> this loads the gstreamer bonobo-media stream provider via OAF [21:09] <wtay> k [21:09] <Cactus> then queries it for a Bonobo::PersistStream iface [21:09] <Cactus> which it should of course support:) [21:09] <Cactus> so it passes a Bonobo::Stream (that's already filled with the http content) for it to load [21:09] <Cactus> gstreamer looks at the stream's mime type [21:10] <Cactus> it sees `oh, it's an mp3 file, not a serialized gstreamer pipe' and so loads the mp3 plugin, reads the stream chunk by chunk and passes it to the mp3 plugin [21:10] <wtay> ok, I'll be using the autoplugger for that [21:11] <Cactus> so then on the other side of happenings, the http moniker sees that the gstreamer component finished loading its data [21:11] <Cactus> wtay: sure [21:11] <Cactus> and thus the 1st application gets back the Bonobo::Media::Stream [21:12] <Cactus> then it QI's it for B::M::Audio to set the remote speaker [21:12] <Cactus> (b-m currently uses ESD speakers but I'd like to migrate it to aRTs as soon as it becomes the official GNOME audio platform) [21:13] <wtay> is the output going to be handled outside gst then? [21:13] <Cactus> then it may QI for B::M::Video as well, but since this is an mp3 file, this fails and the application sees `OK no video here' [21:13] <Cactus> wtay: kinda-ish:) [21:13] <Cactus> wtay: gstreamer is responsible to actually get the audio output there [21:13] <Cactus> wtay: b-m just tells it where it should deliver it [21:13] <Cactus> they complement each other wonderfully :)) [21:14] <wtay> hmm, ok this might not be as straighforward as I initially thought [21:14] <wtay> and the video widget is handled by gstreamer then? [21:15] <Cactus> video is done by gstreamer exporting a Bonobo::Control (via the B::M::Video interface) that has _nothing else_ but the actual video in it [21:15] <wtay> ok [21:15] <Cactus> again, gstreamer is responsible to get the video output to this control [21:15] <wtay> can we just do the audiosink handling with gstreamer for now? [21:15] <Cactus> sure [21:15] <Cactus> but I don't see why it would be difficult [21:15] <Cactus> it would be basically like this: [21:16] <Cactus> void handle_setting_the_remote_speaker (char *speaker) [21:16] <Cactus> { [21:16] <Cactus> my_esd_sink->speaker = speaker; [21:16] <Cactus> } [21:16] <wtay> hmm, the host name is provided by g-m? [21:17] <Cactus> `speaker' is an ESD speaker (i.e. host:port) [21:17] <wtay> ok, cool [21:17] <Cactus> this is the part I'd like to migrate to aRTs eventually [21:17] <wtay> we have an esdsink so we can still do esd output [21:17] <wtay> and an artsd plugin :-) [21:17] <Cactus> yes, I remember you showing me them [21:18] <wtay> in the future gstreamer will have tight control over audio/video output for synchronising stuff [21:18] <Cactus> but b-m has to stick to one or the other, because there needs to be an agreement on what format the speaker is passed and what you can write to it [21:18] <wtay> why does g-m manage the audio output? [21:18] <rdj> grmbl, why doesn't the gstplay.h from gstmediaplay just work in my component :P [21:19] <wtay> rdj: locks solid? [21:19] <rdj> it all seemed so simpel when I started it, now it might get complicated [21:19] <rdj> wtay: dunno what goes wrong, I assume it's the absence of a gst_main() function... [21:19] <wtay> rdj: hmm [21:19] <Cactus> my only problem with aRTs is that it wants to be so more than an audio server [21:20] <rdj> but I'm not doing anything with it yet... too tired to look at it now unfortunately... [21:20] <wtay> rdj: just call gtk_main and add an idle function with a gst_bin_iterate [21:20] <wtay> Cactus: hmm yeah [21:20] <wtay> Cactus: they are now starting video stuff [21:20] <rdj> wtay: hmmmmmmmmmmmmmmmm! [21:20] <rdj> :) [21:21] <wtay> rdj: plenty of examples with that :-) [21:21] <rdj> wtay: I call bonobo_main() (atleast I assume this is what the libnautilus lib calls for me) but I think the same applies [21:21] <rdj> wtay: yes :) [21:21] <wtay> rdj: or you can run the gstpipeline in another thread [21:22] <Cactus> rdj: I don't think libnautilus automagically starts any main loops [21:22] <rdj> Cactus: dunno, but how would my program start anything if it didn't :) [21:23] <rdj> return nautilus_view_standard_main (EXECUTABLE_NAME, VERSION, [21:23] <rdj> argc, argv, [21:23] <rdj> FACTORY_IID, VIEW_IID, [21:23] <rdj> nautilus_view_create_from_get_type_function, [21:23] <rdj> GET_TYPE_FUNCTION); [21:23] <rdj> that's my last line in main... I admit I don't understand much of bonobo yet, so I could be horribly wrong about everything [21:24] <rdj> I will check out what exactly happens as soon as I am fit enough to continue again, everything is one big blur right now [21:26] Action: Cactus goes to learn some physiology [21:26] <dobey-dead> sigh [21:26] Action: wtay is trying to create a gob object for bonobo-media... [21:29] <rdj> I guess all that I have to do is not use the nautilus standard main, create it myself and add the idle function like wtay said [21:32] <wtay> oh yes, a piece of cake :-) [21:32] <wtay> ..or not... <grin> [21:33] Action: hadess is doing voodoo magic in the rio500 internals [21:33] Action: dobey-dead is doing something [21:34] Action: wtay is trying to get the gstreamer.m4 file working... [21:35] Action: wtay is listening to iron maiden... [21:35] Action: dobey-dead is listening to cash money millionaires [21:51] Nick change: hadess -> hds-tv [22:46] ciagon (yo...@ds...) joined #gstreamer. [22:48] <wtay> yo [22:49] <ciagon> hey [22:55] <Cactus> I have some other ideas which you might find interesting [22:56] <wtay> yes? [22:56] <Cactus> 1, I think I should change `play' and `stop' to be one-way methods, and the stream provider should fire `started' and `stopped' events [22:56] <wtay> I have gob object that compiles :-) [22:56] <Cactus> this would make it possible for several controls to control the same stream, for example [22:57] <wtay> hmm [22:57] <Cactus> 2, It would be extra-neat if the control containing the video output (i.e. the one you get from B::M::Video) would also implement the Zoomable interface [22:57] <wtay> ahh [22:57] <wtay> cool [22:57] <Cactus> of course the media-player application would check if the video has the Zoomable interface and enable/disable zooming controls (for example in the View menu) accordingly [22:58] <wtay> yup [22:58] <wtay> can you help me a bit with understanding what I'm doing right now? [22:58] <Cactus> I don't know what you are doing right now [22:59] <Cactus> but if you tell me :) [22:59] <wtay> I'v got a bonobo-media-gstreamer.gob file now [22:59] <Cactus> sweet [22:59] <wtay> :I also have a -factory.c file... [22:59] <wtay> all this compiles into bonobo-media-gstreamer, right? [23:00] <wtay> the player now instantiated the gstreamer object when I open video/mpeg [23:00] <wtay> what happens then? [23:00] <wtay> what methods are called etc.. [23:00] <Cactus> when do you mean? [23:01] <wtay> for example: the main in the -factory, when is it called? [23:01] <Cactus> when the factory is started [23:01] <Cactus> i.e. the first time someone wants a bonbo-media-gstreamer object [23:02] <wtay> so, when media-player opens the file and loads the object? [23:02] <Cactus> yes [23:02] <wtay> and when is the "new" called from the gob file? [23:03] <Cactus> when a bonob-media-gstreamer object is requested [23:03] <Cactus> so the factory is only created once [23:03] <wtay> hmm [23:04] <Cactus> and it is responsible for creating multiple b-m-g instances [23:04] <wtay> that doesn't seem to happen then... [23:05] <wtay> how can I know what factory the media-player uses? [23:05] <wtay> hmm ps -ax shows: 13366 ? S 0:00 bonobo-media-gstreamer --oaf-activate-iid=OAFIID:Bonobo_Media_GStreamer_Factory --oaf-ior-fd=10 [23:05] <wtay> 14423 pts/1 S 0:00 media-player /opt/data/armageddon1.mpg [23:05] <Cactus> oaf should figure out the correct factory [23:06] <wtay> so it looks ok... [23:06] <Cactus> this looks OK [23:06] <wtay> I put a g_print in the factory main but it doesn't show... [23:06] <Cactus> why don't you put a `g_warning ("I am now in _new")' and things like that everywhere? [23:06] <Cactus> oh [23:06] <Cactus> well [23:06] <Cactus> maybe it's showing on another terminal [23:07] <Cactus> OAF output is directed to a single tty [23:07] <wtay> yeah, I have nautilus spewing out it's errors there :-) [23:07] <Cactus> run oaf-slay [23:07] <wtay> nautilus restarts... [23:15] <wtay> hmm [23:15] <wtay> locks and eats 100CPU when I call gst_init [23:18] Action: rdj has been stupid... it didn't even get to failing because of the main loop thing [23:18] <rdj> gst_init (&argc,&argv); [23:18] <rdj> must be something really screwed on my system [23:19] maYam (ma...@ca...) joined #gstreamer. [23:19] <maYam> heyhey [23:19] <wtay> yo [23:20] <maYam> yeay- i see dobey took my advice :D [23:23] <rdj> GThread-ERROR **: GThread system may only be initialized once. [23:23] <wtay> rdj: yeah :-) [23:23] <rdj> this is what I get now, when I do a gst_init... [23:23] <wtay> hmm [23:23] <rdj> wtay: who else is doing it? :P [23:24] <rdj> it's right in the beginning of main [23:24] <wtay> hmm [23:24] <wtay> nothing before that statement? [23:24] <rdj> nope [23:25] <rdj> first line in main... this is weird [23:25] <wtay> the main is called from some bonobo thing? [23:26] <rdj> normally, yes... now I just call it from a terminal [23:26] Nick change: hds-tv -> hadess [23:26] <dobey-dead> sigh [23:26] <rdj> s/call/start/ [23:26] <wtay> strange [23:26] <dobey-dead> hey hadess [23:26] Nick change: dobey-dead -> dobey [23:26] <hadess> yo dobey [23:27] <dobey> what was the url for that dvd player? [23:27] <dobey> and does itunes play dvd? [23:27] <rdj> hmmmm... [23:28] <wtay> rdj: ? [23:28] <rdj> no nothing... I was just thinkinh [23:28] <wtay> rdj: AFAICS gstreamer does the right thing [23:28] <rdj> wtay: I don't doubt it, but what am I doing wrong :) [23:29] <wtay> rdj: no idea... [23:29] <rdj> that explains my hmmmm, I don't either ;) [23:30] <wtay> maybe a shared lib that statically calls g_thread_init... [23:33] <dobey> damn [23:33] <dobey> how can i get YUV accel? [23:33] <wtay> dobey: where? [23:33] <dobey> wtay: in X/SDL i guess [23:33] <dobey> wtay: i'm trying to use vlc [23:34] <wtay> oh [23:34] hadess (ha...@pc...) got netsplit. [23:44] <rdj> wtay: it must be, gstreamer is working fine without them [23:45] hadess (ha...@pc...) got lost in the net-split. [23:45] Action: rdj needs an option in gst_init to skip the g_thread_init :P [23:45] <rdj> or, according to th glib manual: [23:46] <rdj> if (!g_thread_supported()) g_thread_init (NULL); [23:46] <wtay> indeed :-) [23:46] <rdj> which would be nicer then my first suggestion :P [23:47] <wtay> gstreamer has that [23:48] <rdj> I have 0.1.1, should I upgrade to CVS or does 0.1.1 have it too? [23:48] Action: rdj will check [23:48] <wtay> it has that since the beginning of time AFAIK [23:49] <wtay> hmm, bonobo-media briefly played audio from an video/mpeg stream before it crashed... [23:49] <rdj> hmmmm it does [23:49] <rdj> you we're right [23:49] <wtay> so it must be someone else misbehaving... [23:51] <rdj> this is weird [23:53] <wtay> whohoo! mp3 playing in bonobo-media with gstreamer [23:56] <ciagon> dows gstreamer have a quicktime parser? [23:57] <wtay> nope [23:59] <wtay> Cactus: ? [23:59] <Cactus> wtay: yup [23:59] <Cactus> wtay: nice [23:59] <Cactus> wtay: I'm hacking on media-player at the moment [23:59] <wtay> how do I add the video method to get the control? [00:00] --- Fri Apr 13 2001 [00:00] <Cactus> wtay: can you create a GtkWidget that is nothing but the rendered video? [00:00] <wtay> yup [00:01] <Cactus> OK you will need to sub-class B:M:Video [00:01] <Cactus> it is very easy to do with GOB [00:01] <Cactus> just sub-class it and override the virtual private Bonobo_Control get_video_control (self, CORBA_Environment *ev) method [00:01] <wtay> I now subclass B:M:Stream [00:02] <wtay> do I need another gob file where I subclass the current one? [00:02] <Cactus> yes [00:02] <wtay> oh [00:02] <wtay> ok [00:02] <Cactus> you will be aggregating them in one of them [00:03] <wtay> can I still access the private variables or do I need some sort of protected keyword? [00:03] <Cactus> the B:M:Video subclass should have a constructor that takes whatever info you need to create a GtkWidget [00:03] <Cactus> you don't need to access any private variables from B:M:Video [00:04] <wtay> from B:M:Stream you mean? [00:04] <Cactus> then you create first the widget, then the Bonobo::Control from the widget in the get_video_control implementation [00:04] <Cactus> nonono [00:04] <Cactus> this is an entirely separate class [00:04] <wtay> oh [00:04] <wtay> and who calls the constructor? [00:05] <Cactus> in the B:M:Stream constructor, you will do something like [00:05] <Cactus> BonoboMediaVideo my_video_impl = my_bonobo_media_video_impl_new (some_data); [00:05] <wtay> oh ok [00:05] <Cactus> bonobo_object_add_interface (BONOBO_OBJECT (self), BONOBO_OBJECT (my_video_impl); [00:05] <wtay> I see... [00:06] <wtay> easy [00:06] <dobey> sigh [00:07] <dobey> can i not watch dvds? [00:07] <wtay> dobey: tried xine? [00:07] Action: dobey pokes wtay with a mac [00:08] <dobey> input: opening dvd:/dev/dvd [00:08] <dobey> css error: ioctl_ReadCopyright failed, make sure DVD ioctls were compiled in [00:08] <dobey> css error: could not get copyright bit [00:08] <dobey> ? [00:13] maYam (ma...@ca...) left #gstreamer. [00:14] ciagon (yo...@ds...) left irc: Ping timeout for ciagon[dsl081-064-161.sfo1.dsl.speakeasy.net] [00:21] <rdj> wtay: found it [00:22] <rdj> libnautilus calls g_thread_init without checking [00:22] <wtay> naughty nautilus :-) [00:22] <dobey> haha [00:22] <dobey> nautilus basically runs esd inside itself [00:23] <rdj> dobey: whatever, as long as this bug is gone soon ;) [00:24] <dobey> rdj: heh, bug? it's a feature [00:24] <dobey> nautilus grabs the sound device [00:25] <rdj> oh... well it still works fine here, so I could care less :P [00:26] <dobey> oh, yeah... you're one of those galeon people [00:29] <wtay> BonoboControl *getVideoControl (BonoboMediaVideo *video, [00:29] <wtay> CORBA_Environment *ev) [00:29] <wtay> Cactus: is this right? [00:30] <wtay> Bonobo_Control get_video_control (BonoboMediaVideo *video, [00:30] <wtay> CORBA_Environment *ev) [00:30] <wtay> got [00:30] <wtay> it [00:32] <Cactus> you need to specify that this is overriding BonoboMediaVideo::get_video_control [00:32] <rdj> dobey: what is that supposed to mean [00:32] <wtay> override (Bonobo:Media:Video) [00:32] <wtay> [00:32] <rdj> never mind [00:33] <rdj> I could care less once again [00:33] <wtay> Cactus: and then, I have the widget, how do I create a Bonobo_Control? [00:33] <dobey> hah [00:34] <Cactus> you first create a BonoboControl* [00:34] <Cactus> via bonobo_control_new (widget) [00:34] <Cactus> then you get the Bonobo_Control from it [00:35] <wtay> sorry for my ignorance but how do you get the Bonobo_Control? [00:35] <Cactus> via bonobo_object_corba_objref () [00:35] <wtay> hmm [00:35] <dobey> la la [00:36] <wtay> what's the difference between those two? [00:37] <Cactus> bonobo_object_corba_objref (BonoboControl*) will give you a Bonobo_Control [00:37] <Cactus> Bonobo_Control is a client-side CORBA stub [00:37] <wtay> oh [00:37] <Cactus> BonoboControl* is a GtkObject that contains the implementation of the Bonobo::Control interface [00:37] Action: wtay grins [00:37] <wtay> well [00:38] <wtay> well, it is friday the 13the here :-) [00:38] <Cactus> eek [00:44] <wtay> ok, got something compiled... [00:46] <Cactus> can you check it in CVS and give me commit rights? (my sourceforge accoutn name is `cactus') [00:46] <wtay> hmm only omega can do that, I don't have permissions I think... [00:46] <wtay> can I send you a diff? [00:47] <Cactus> check it in CVS, I have read permission already [00:47] <Cactus> i mean anonymous access:) [00:47] <wtay> I added the code in the bonobo-media-0.1/ dir... [00:48] <Cactus> splendid [00:48] <Cactus> I'm just working on converting play/stop/seek oneway [00:48] <wtay> well I *have* to sleep now... [00:49] <wtay> ok [00:49] <wtay> video segfaults right away here [00:49] <wtay> audio plays fine [00:49] <Cactus> is it in a separate module? [00:49] <wtay> yes [00:50] <wtay> I had to adjust the Makefile in gstreamer a bit so that the headers files of gstplay would install [00:50] <wtay> anyway, lemme send you what I have now [00:51] <Cactus> could you put it up somewhere in a tarball? [00:51] <Cactus> (and in somewhat related news, I think I got the oneway stuff finished) [00:51] <wtay> cool [00:52] <wtay> I can upload to gstreamer.net... [00:52] <Cactus> I will commit it tomorrow (need to write ChangeLog entries and figure out .so versions [00:53] <wtay> gstreamer.net/gstreamer-stream-provider.tgz [00:54] sienap (to...@ho...) joined #gstreamer. [00:54] <sienap> Mwhaha.. man i had a laugh :) [00:54] <dobey> haha [00:54] <dobey> good [00:54] <sienap> we were walking outside mrrazz sees a pretty nice expensive car [00:54] <sienap> unzips his pants [00:54] <sienap> and pie over it.. [00:54] <sienap> mwha [00:54] <sienap> was pretty amusing [00:54] <rdj> sienap!!! [00:55] <sienap> RDJJJJJJ! [00:55] <sienap> mate ;) [00:55] <Cactus> wtay: thanks [00:55] <sienap> rdj mrraz is sick [00:55] <dobey> aaaaaaahhhhhhhh!!!!!!!! [00:55] <sienap> he pied over a car ! :) [00:55] <rdj> sienap: I know, he always has been :) [00:55] <sienap> man :) [00:55] <sienap> wtay you are awake ? [00:55] dobey (do...@dr...) left #gstreamer (eh). [00:55] <sienap> someone thought we broke into cars [00:55] <sienap> yesterday we had police behind us :) [00:55] <sienap> it is fun here :) [00:56] <rdj> hehe what the hell are you doing anyway [00:56] <rdj> party? [00:57] <rdj> #linux.nl, dutch is better :P [00:58] <sienap> mwha [00:58] <sienap> :) [00:58] <sienap> little meeting :) [00:58] <rdj> ah [00:58] <rdj> nice [00:58] <sienap> cmdr_sm was here yesterday as well :) [01:00] Action: rdj has to make a patch for nautilus now, brb [01:00] <sienap> he [01:00] <sienap> ok [01:00] <sienap> why ? [01:00] <sienap> what kind of patch. [01:00] <rdj> a small bug in the initialization of g_threads, which caused my app to crash [01:00] <sienap> he [01:00] <sienap> *G* [01:00] <sienap> :) [01:01] <Cactus> bye dudes [01:01] <sienap> does the plugin already work ? [01:01] <rdj> sienap: no, it crashed on gst_init() ;) [01:01] <rdj> later Cactus [01:01] <Cactus> wtay: I look forward to having a look at the gstreamer stream provider [01:01] <wtay> cya Cactus [01:01] Cactus (ca...@po...) left irc: Tank, I need an exit [01:01] <wtay> Cactus: yeah, please do and tell me where I screwed up :-) [01:02] <sienap> hej wtay!! [01:02] <wtay> yo [01:02] <sienap> he atleast ;) [01:02] <sienap> almost thought you were ignoring me :) [01:02] <wtay> I was away [01:02] <sienap> he [01:02] <rdj> sweet jezus [01:02] <sienap> what kind of stuff is cactus working on.. [01:02] <sienap> rdj mwha is he ? :) [01:02] <rdj> gnome lxr = useless, slowness is killing me [01:03] <sienap> mwha [01:03] <sienap> use bonsai [01:03] <wtay> sienap: bonobo wrapper for gstplay [01:03] <sienap> cuuuuuuuute :) [01:13] taaz (dlehn@66.37.66.32) got netsplit. [01:13] rdj (rd...@a3...) got netsplit. [01:13] sienap (to...@ho...) got netsplit. [01:14] taaz (dlehn@66.37.66.32) returned to #gstreamer. [01:14] sienap (to...@ho...) returned to #gstreamer. [01:14] rdj (rd...@a3...) returned to #gstreamer. [01:16] <sienap> wtaaaay [01:16] <sienap> :)( [01:16] <sienap> =] [01:16] <sienap> he [01:16] <sienap> that lilo dude is funny :) [01:21] <wtay> gotta sleep [01:21] <wtay> cya [01:21] Nick change: wtay -> wtay-sleeping [01:21] <sienap> cu later [01:21] <sienap> and let maYam in one piece >:) [01:22] <sienap> or come one piece with her >:) [01:22] <sienap> *ducks* [01:25] sienap (to...@ho...) left irc: sienap has no reason [03:35] ciagon (yo...@ds...) joined #gstreamer. [03:46] ajmitch (aj...@p4...) joined #gstreamer. [03:57] ciagon (yo...@ds...) left irc: Ping timeout for ciagon[dsl081-064-161.sfo1.dsl.speakeasy.net] [04:29] ajmitch (aj...@p4...) left irc: [x]chat [04:54] Topic changed on #gstreamer by ChanServ!s@ChanServ: visit doctor maYam here... |