IRC Logs
IRC <[email protected]>
| Newsgroups | gmane.comp.video.gstreamer.daily |
|---|---|
| Message-ID | <[email protected]> |
******************************************************************* [03:04] <LeRoutier> for 2 of those 4 files, even 'file' does find them beeing mpeg videos. mplayer play all of them well. so i don't know how it detects they are mpeg files [03:04] <LeRoutier> i keep all those "buggy files" i have somewhere [03:10] sub_pop ([email protected]) left irc: "Client exiting" [03:11] Action: ds-work notes that the 30 pipeline stages in Prescott will change a lot of optimizations [03:29] <Company> prescott? [03:29] <Company> LeRoutier: found the bug [03:30] <LeRoutier> k. good. but i suppose the one i have with mpg files is different. [03:30] <ds-work> Pentium V [03:32] <Company> LeRoutier: yes, mpg is different - you could recheckout and make sure all mp3s are identified though [03:32] <Company> Pentium V ? I think we all do 64bit now anyway [03:32] <LeRoutier> ok, doing so great media master [03:32] <ds-work> Company: intel doesn't know how [03:32] <ds-work> so they're stalling [03:35] Action: Company is wondering how many bugs in id3 header reading for typefind are still left [03:37] <Company> intel should have open sourced their ia64 compiler, so more people worked on optimizations [03:38] <LeRoutier> for the mpg gst-typefind bug, should i file a bug report and upload sample mpg files to my server ? [03:38] <jimmy_dean_> ds-work: how hard would it be to use any given LADSPA plugin within GStreamer? [03:38] <Company> it's probably video only or mpeg 2 [03:38] <Company> we only detect mpeg 1 systemstreams correctly atm i think [03:39] <LeRoutier> is video-only MPEG-ES and video+audio MPEG-PS ? [03:40] <ds-work> Company: probably, but the ia64 instruction set is _really_ obscure [03:40] <ds-work> jimmy_dean_: don't know [03:40] <jimmy_dean_> ds-work: it hasn't been done before? [03:41] <ds-work> jimmy_dean_: of course it's been done. but not by me [03:41] <jimmy_dean_> ds-work: do you know who then? [03:42] <ds-work> no [03:42] <jimmy_dean_> ds-work: ok, guess I'll ask around then [03:43] <ds-work> uh, why don't you just figure it out yourself? [03:43] <jimmy_dean_> ds-work: why reinvent the wheel? [03:45] <jimmy_dean_> ds-work: and I have been figuring things out...it's just that I'm sorta stuck so I need help from the experts in here [03:45] <LeRoutier> [03:46] <LeRoutier> Company, mp3 detection works for the 3 files where it didn't [03:48] ChrisHJW ([email protected]) joined #gstreamer. [04:17] <taaz> so i was just reading the float caps discussion on the ml [04:17] <taaz> is it a bad idea to consider something like container buffers? [04:18] <taaz> ie, instead of N pads for N channels, just 1 pad and pass some container object? [04:19] <taaz> restrict all sub buffers to same type and do std caps stuff except you also now have a count of sub buffers to match [04:19] Action: taaz has no idea if this is reasonable or not [04:20] <Company> the problem with that is that it is totally different than what we use atm [04:20] <taaz> might make sense if people want split video streams for RGB channels or so [04:21] <Company> ds had the idea of allowing to attach an int flag to buffers to differentiate buffer types [04:21] <Company> could be used for interleaved video, float audio, split rgb or whatever [04:21] <taaz> eww [04:22] <Company> at least that would work with fakesink [04:22] <taaz> subclass it [04:22] <taaz> method for default buffer does one thing, subclasses do another [04:22] <taaz> type codes are ugly for all but really low level datatype stuff [04:22] <taaz> which this is not [04:23] <Company> anyway, a buffer is 2 things: 1) the base unit that is passed in GStreamer and 2) a wrapper around a memory area [04:24] <Company> and i don't want to change these fundamentals just because someone thinks float is special without proving it [04:25] <Company> "premature optimization" [04:27] <taaz> this isn't optimization, it's cleaning up handling of multiple data objects that are closely related by, at a minimum, all having the same timestamp [04:28] <taaz> though they might not always have the same size. for instance Y'CbCr video in 422 vs other formats [04:28] <Company> put them one after another into the same data stream [04:28] <Company> use caps to define the exact format [04:28] <Company> problem solved [04:28] <taaz> that's lame [04:29] <taaz> and may be very non-optimal [04:29] <Company> but it doesn't break a fundamental concept... [04:31] <taaz> for insatnce, if you have memory mapped for each stream, the built in smartness of buffers would be tossed as you memcpy to a new buffer to combine data [04:32] <Company> i know [04:32] <Company> but do you want to sacrifice everything we have just for that "premature optimization"? [04:33] alley_cat ([email protected]) left irc: "May the Source be with you!" [04:39] <taaz> i don't really think this is optimization. it's improvements of the design to handle real world situations that are otherwise a pain to handle [04:40] <Company> i haven'T seen this as a real world problem yet [04:42] <Company> and it's not an improvement to the design if you make GstBuffer so general that you could just pass void * instead [04:44] <LeRoutier> ++. good night everyone [04:44] LeRoutier ([email protected]) left irc: "Leaving" [04:44] <taaz> any openminded people here want to discuss the idea? ;) [04:45] <Company> :p [04:46] <taaz> only 500 gst threads left to read... sigh [04:46] <Company> yeah, that's the disadvantage of discussing everything on the lists [04:46] <Company> the discussions wait for you [04:46] <Company> they don't on IRC [04:47] <Company> (unless you read gst-daily) [04:48] <Company> but really, how would you define a GstBuffer if even the data in it might be anything? [04:49] <taaz> hmm? [04:51] <taaz> i really don't know what i'm suggesting. ;) i'm just tossing ideas out for those of you that have time to code such things ;) [04:52] <Company> well, currently a buffer is a refcounted representation of a memory area [04:53] <Company> if you remove "representation of a memory area" you are left with "a buffer is a refcounted", and that's not very much :) [04:55] <taaz> i'm suggesting something along the lines of how gstpad is with real pads and ghost pads [04:55] <taaz> have a top level buffer that does most of the work and subclass for data buffers vs buffer sets [04:56] <taaz> restrict it to sensible things like all subbuffers have to have the same timestamp and duration [04:56] ajmitch ([email protected]) left #gstreamer ("Leaving"). [04:57] <Company> so a "buffer collection" [04:57] <Company> where would such a thing be useful apart from float? [04:57] <taaz> non-interleaved audio in general [04:57] <taaz> i dunno ;) [04:58] <taaz> RGB video frames i guess [04:58] <taaz> so you can use gstreamer to combine mars images ;) [04:59] <taaz> maybe it's a useless idea. it just seems nice and OO to me [05:05] sub_pop ([email protected]) joined #gstreamer. [05:05] <Company> using GObject as base class for GstBuffer seems nice and OO to me, too [05:05] <Company> but there's a lot of people that think it shouldn't be done ;) [05:06] thaytoo ([email protected]) left irc: "leaving" [05:10] harshy ([email protected]) left irc: Remote closed the connection [05:27] ct_ ([email protected]) left irc: "Client exiting" [05:31] Marsupilami23 ([email protected]) joined #gstreamer. [05:33] somex1 ([email protected]) joined #gstreamer. [05:55] <ds> Company: what ever happened with your idea to automatically propogate signals to parent bins? [05:57] thaytan ([email protected]) joined #gstreamer. [05:58] thaytan ([email protected]) left #gstreamer ("See y'all"). [06:06] mathrick|sleep ([email protected]) left irc: Remote closed the connection [06:11] hadley ([email protected]) joined #gstreamer. [06:18] ChriHJW ([email protected]) joined #gstreamer. [06:26] hallibaby ([email protected]) left irc: "Bye bye" [06:34] ChrisHJW_log ([email protected]) left irc: Connection timed out [06:35] ChrisHJW ([email protected]) left irc: Connection timed out [06:44] hadley ([email protected]) left irc: "Leaving" [07:15] herzi ([email protected]) left irc: "quitting..." [07:26] herzi ([email protected]) joined #gstreamer. [07:44] Nick change: bluejay -> bluejay|sleep [08:07] kmaraas ([email protected]) joined #gstreamer. [08:19] ChrisHJW_log ([email protected]) joined #gstreamer. [08:22] somex1 ([email protected]) left irc: "Download Gaim: http://gaim.sourceforge.net/" [08:27] ChriHJW ([email protected]) left irc: Read error: 104 (Connection reset by peer) [08:34] kmaraas ([email protected]) left irc: "Leaving" [09:15] rk ([email protected]) joined #gstreamer. [09:22] markov ([email protected]) joined #gstreamer. [09:52] walters ([email protected]) left irc: "out" [09:56] BBB ([email protected]) joined #gstreamer. [09:57] ChrisHJW ([email protected]) joined #gstreamer. [10:01] <BBB> Company: one thing I don't get yet - how do I signal new metadata? [10:01] <BBB> Company: I tried looking it up in mad, but couldn't find it [10:01] thomasvs ([email protected]) left irc: Remote closed the connection [10:02] <BBB> I can build metadata tables now, but cannot 'signal' them [10:02] <BBB> like g_object_notify (obj, "metadata"); [10:04] <ds> gst_element_tags_for_pad() or something [10:04] <ds> sinesrc has a very simple implementation [10:11] <BBB> sine? tags? [10:11] <BBB> er... [10:11] <BBB> what does it do? [10:11] <BBB> 'wavecoolness = [ 1, 5 ]'? [10:11] <BBB> j/k ;) [10:13] jeroen_ ([email protected]) joined #gstreamer. [10:14] <ds> iirc, it's about that dumb [10:14] <ds> description = "sine wave" [10:14] <BBB> that's very interesting metadata [10:14] Action: BBB will do the same for v4lsrc [10:15] <BBB> currently_showing = "something from your TV card!" [10:15] <ds> it potentially makes more sense from v4lsrc [10:15] <ds> er, maybe [10:15] <ds> I suppose it can't give the channel [10:16] <ds> just frequency [10:16] <ds> and it certainly can't describe what's on [10:16] <ds> btw, do you know if the vbi stuff works? [10:19] <BBB> no, not really [10:19] <BBB> all cards I work with don't have VBI [10:19] <BBB> I'll probably work on it later on, because we want to start logging VBI data here, too [10:19] <BBB> then I'll have to write stuff for that [10:19] <BBB> but for now: nothing [10:20] <BBB> (but VBI would be interesting, it'd provide metadata like 'what's playing' or subtitles or so) [10:20] <BBB> in holland, subtitles are always on teletext (vbi) page 888 [10:21] <ds> I also am vaguely interested in getting raw data (unsynced) from a card, just to amuse myself by writing hsync/vsync code [10:21] <ds> don't know if that's possible [10:23] dolphy ([email protected]) joined #gstreamer. [10:24] <BBB> ds: that's insane... that's what hardware+driver do [10:24] <BBB> it's fun for playing, but totally uninteresting [10:24] <ds> yeah, just for amusement [10:24] <BBB> if you want that, just write a driver [10:26] <dolphy> morning [10:27] <BBB> hi dolphy [10:27] <ds> I didn't even _start_ my project for the evening [10:27] <ds> oh well [10:27] <ds> sleep [10:28] <BBB> nite ;) [10:28] <dolphy> good night dave [10:29] <dolphy> BBB: so i ve managed to fix differently my issues with xvimagesink and colorbalance [10:30] <BBB> oh, very good [10:30] <dolphy> BBB: but now i have a big design issue with libgstplay :) [10:30] <BBB> explain! [10:30] <BBB> keep libgstplay a bit simple... you cna extend it later, but the most important thing is that it works [10:30] <dolphy> BBB: like everybody told me i managed to make that libgstplay uses a single video sink [10:31] <BBB> yay! [10:31] <dolphy> BBB: and the pipeline is as simple as possible [10:31] <dolphy> BBB: to save some CPU cylce [10:32] <dolphy> BBB: the only issue with it is that when you _connect_visualisation it just unplugs spider from the video_thread and add, link the visualization element to audio tee and video thread [10:32] <dolphy> BBB: when you disconnect viz it removes the element and put a new autoplugger [10:32] <dolphy> BBB: so connecting/disconnecting can only be done in READY state [10:32] <dolphy> BBB: but that's not the biggest thing [10:32] <BBB> why are you using new autopluggers? [10:33] <BBB> autoplugging should come *before* anything output related [10:33] <dolphy> BBB: because gst_element_unlink (autoplugger, video_thread) does not work [10:33] <dolphy> BBB: they keep being connected [10:33] <dolphy> BBB: and then i can't link visualization to video_thread [10:33] <BBB> probably because it's a bin/ghostpad [10:34] <BBB> uhm [10:34] <BBB> did you try to use an identity (nice hack) or something similar? [10:35] <BBB> you have spider->videosink and spider->tee->goom->videosink tee0.->audiosink, right? [10:35] <dolphy> BBB: yup [10:35] markov ([email protected]) left irc: "leaving" [10:35] <BBB> make that spider->identity->[videosinkbin] [10:35] <BBB> you can unlink the identity [10:35] <BBB> that'll work [10:36] <BBB> slight hack for the time being [10:36] <dolphy> hmmm well [10:36] <dolphy> but then when connecting vis identity will be unconnected [10:36] <BBB> or, better yet, check the logs on why it doesn't unlink [10:36] <BBB> there must be a reason [10:36] <dolphy> http://getcontrol.sourceforge.net/files/gstplay_pipeline.png [10:36] <dolphy> this is the pipeline [10:36] <dolphy> i found another hack for that [10:36] <BBB> yes [10:37] <BBB> but you were gonna use switch for this, right? [10:37] <BBB> so I don't see the issue in the first place [10:37] <dolphy> gst_pad_unlink (gst_element_get_pad (video_thread, "sink"), gst_pad_get_peer (video_queue_pad)); [10:37] <dolphy> that disconnects spider [10:37] <dolphy> bit hackish [10:38] <dolphy> well that's not THE issue :) [10:38] <dolphy> xine is forcing you to enable vis before playback too [10:38] <dolphy> so not a big deal here [10:38] <dolphy> my design issue is that when you connect visualization you will have goom [10:38] <dolphy> not matter if you play an avi or a mp3 [10:39] <dolphy> as we have no way to know if a media contains video [10:39] <dolphy> i ve been thinking about that all night long [10:39] <dolphy> can't find a trick [10:39] <dolphy> the first libgstplay pipeline was handling that with 2 video sinks [10:39] <dolphy> and waiting for have_xid signals to know if there was video or not [10:40] thomasvs ([email protected]) joined #gstreamer. [10:41] <dolphy> BBB: ? [10:41] sack ([email protected]) joined #gstreamer. [10:41] <BBB> my boss came in ;) [10:42] <BBB> for video vs. viz, *use switch* [10:42] <BBB> I said that before, and I'll say it again [10:42] <BBB> *use switch* [10:43] <dolphy> you can't do that dude [10:43] <BBB> sure you can [10:43] <dolphy> having vis connected all the time to switch is the dirtiest thing on earth [10:43] <dolphy> even my Pentium 4 3Ghz HT is 100% busy with that [10:44] <BBB> hm.... [10:44] <BBB> ok, right, so you need to pause/ready one of the two [10:44] <BBB> add an iedntity between spider and queue [10:44] <BBB> and see what happens then [10:44] <dolphy> if i disconnect tee from visualization element my pipeline is not accepting state changes anymore [10:45] <dolphy> i ve been trying many pipelines [10:45] <dolphy> i can't keep non playing elements inside [10:45] <dolphy> too much issues [10:45] <BBB> I remove them too [10:45] <dolphy> so vis has to be out when video playback is needed [10:45] <BBB> but that's what your pipeline or thread-derived gstplay object should take care of [10:46] <dolphy> well yeah but there's no nice gstreamerish way of doing that [10:46] <dolphy> switch is useless [10:46] <dolphy> because anyway you have to do relinking [10:47] <dolphy> and adding removing elements [10:47] <dolphy> my problem is that if people connect visualization normally spider won't be able to throw out video [10:47] <dolphy> xine does it very nicely [10:48] <dolphy> you just xine_open (); [10:48] <dolphy> and then something like xine_media_has_video (); [10:48] <dolphy> and then put your post processing goom plugin [10:48] <dolphy> and play [10:49] <dolphy> being stuck with "get infos while playing only" makes things really hard for visualization on audio only streams with smooth pipeline [10:49] <jeroen_> i want to try some video pipelines here on my ppc. I have an MPG, divx AVI and xvid AVI. how can i play these with gst-launch? [10:49] <dolphy> jeroen_: they might all segfault :) [10:49] <jeroen_> dolphy: well, gst-player segfaulted on the mpg :) (Illegal instruction) [10:49] <jeroen_> dolphy: i know, but i want to try them anyway :) [10:50] <dolphy> jeroen_: yup on ppc both avi an mpeg are really REALLY buggy [10:50] <jeroen_> so gst-player is a dud (segfaults on all 3 videos :) [10:50] <dolphy> jeroen_: well try filesrc location="file.avi" ! spider ! ffcolorspace ! ximagesink [10:50] <jeroen_> dolphy: isn't ffmpeg ok on ppc? [10:50] <dolphy> and you will see [10:50] <dolphy> jeroen_: it's not ffmpeg s fault [10:51] <dolphy> jeroen_: avidemux is guilty [10:51] <jeroen_> aha [10:51] <jeroen_> dolphy: segfaults [10:51] <dolphy> yeah and if you get a backtrace [10:51] <dolphy> you will see it's in avidemux [10:51] <jeroen_> ok [10:51] <jeroen_> so it's a known bug [10:51] <thomasvs> BBB: fix avidemux please :) [10:51] <thomasvs> jeroen_: well, yeah, but people forget about them [10:52] <dolphy> and don't ask me why it works in gst-totem :) [10:52] <dolphy> that's magic :) [10:52] <thomasvs> jeroen_: so PLEASE post a backtrace, and I'll get on BBB's ass to fix it :) [10:52] <jeroen_> heh [10:52] <jeroen_> thomasvs: ok :) [10:52] <thomasvs> dolphy: because you have totem compiled with the xine backend [10:52] Action: thomasvs ducks [10:52] Action: dolphy kicks thomasvs [10:52] <jeroen_> Program received signal SIGSEGV, Segmentation fault. [10:52] <jeroen_> [Switching to Thread 1208112576 (LWP 23578)] [10:52] <jeroen_> gst_avi_demux_stream_avih (avi=0x102b2bf0, flags=0xbfffec2c, [10:52] <jeroen_> streams=0xbfffec30) at gstavidemux.c:728 [10:52] <jeroen_> 728 avih->us_frame = GUINT32_FROM_LE (avih->us_frame); [10:52] <thomasvs> aha [10:53] <thomasvs> print avih->us_frame [10:53] <jeroen_> print avih->us_frame [10:53] <jeroen_> $1 = 3970039808 [10:53] <thomasvs> hm [10:53] <thomasvs> why would that segfault ? [10:53] <jeroen_> bt full [10:53] <jeroen_> #0 gst_avi_demux_stream_avih (avi=0x102b2bf0, flags=0xbfffec2c, [10:53] <jeroen_> streams=0xbfffec30) at gstavidemux.c:728 [10:53] <jeroen_> tag = 1751742049 [10:53] <jeroen_> buf = (GstBuffer *) 0x1002b048 [10:53] <jeroen_> avih = (gst_riff_avih *) 0x4825b020 [10:53] <jeroen_> thomasvs: no idea :) [10:54] <thomasvs> BBB: wake up ! [10:54] <thomasvs> jeroen_: let's check the def of GUINT32_FROM_LE [10:54] Rotty ([email protected]) joined #gstreamer. [10:54] markov ([email protected]) joined #gstreamer. [10:55] <thomasvs> #define GUINT32_FROM_LE(val) (GUINT32_TO_LE (val)) [10:55] <thomasvs> in glib.h [10:55] <thomasvs> #define GINT16_TO_LE(val) ((gint16) (val)) [10:55] <thomasvs> in glibconfig.h [10:55] <thomasvs> but glibconfig.h is platform-specific [10:55] <thomasvs> #define GUINT32_TO_LE(val) ((guint32) (val)) [10:56] <thomasvs> jeroen_: what do you have in glibconfig.h for GUINT32_TO_LE on powerpc ? [10:56] <thomasvs> dolphy: do you have a backtrace in the same location ? [10:56] <jeroen_> thomasvs: where's glibconfig.h? [10:56] <thomasvs> jeroen_: here it's in /usr/lib/glib-2.0/include [10:56] <thomasvs> jeroen_: it's there because it is generated for the platform, so they consider it more a lib [10:56] <dolphy> thomasvs: exactly [10:57] <dolphy> thomasvs: i have exactly the same bt than jeroen [10:57] <thomasvs> dolphy: so I can come debug this on your pc then ? [10:57] <dolphy> thomasvs: well yeah and you will configure the cups printer at the same time :) [10:57] <dolphy> thomasvs: managed to get cupsd and gnome-cups-manager to run [10:57] <jeroen_> thomasvs: #define GUINT32_TO_LE(val) (GUINT32_SWAP_LE_BE (val)) [10:58] <thomasvs> jeroen_: ok, let me check on dolphy's computer for a bit [11:02] Nick change: swenzzzz -> swentel [11:06] Company ([email protected]) left irc: Remote closed the connection [11:09] <BBB> how should I know? [11:09] <BBB> jeroen_: print *avih? [11:10] <BBB> I really don't know, code looks vali to me [11:10] sublett ([email protected]) joined #gstreamer. [11:10] <jeroen_> (gdb) print *avih [11:10] <jeroen_> $2 = {us_frame = 3970039808, max_bps = 0, pad_gran = 0, flags = 268500992, [11:10] <jeroen_> tot_frames = 234356736, init_frames = 0, streams = 33554432, bufsize = 0, [11:10] <jeroen_> width = 2147614720, height = 1610678272, scale = 0, rate = 0, start = 0, [11:10] <jeroen_> length = 0} [11:15] <thomasvs> jeroen_: I'll write a simple test app to check the bug [11:16] <jeroen_> ok [11:17] <dolphy> ppc users do not have optimized macros in glib [11:18] <BBB> but the macro is allright, no? [11:18] <BBB> I mean, what could possibly go wrong? [11:19] <BBB> give me a way to reproduce it locally and I'll fix it [11:20] jdahlin ([email protected]) left irc: "Leaving" [11:21] <thomasvs> dolphy,jeroen: http://thomas.apestaart.org/download/tmp/test.c [11:21] <thomasvs> compile it with the line in the comment [11:21] <thomasvs> then tell me what happens when you run it [11:21] <jeroen_> ok [11:22] <thomasvs> it's mesmerizing that we have TWO core ppc hackers and neither of them runs into this bug [11:22] Action: thomasvs wonders if they ever try to play an avi file [11:23] <jeroen_> thomasvs: Source 3970039808d, dest 41708d [11:23] <thomasvs> jeroen_: but it works fine ? [11:23] <jeroen_> thomasvs: yep, doesn't segfault if that's what you mean :) [11:23] Action: thomasvs needs a decent powerppc machine soon [11:24] <thomasvs> BBB: who put in the big-endian-specific code in avidemux ? [11:24] <BBB> where? [11:24] <thomasvs> #if (G_BYTE_ORDER == G_BIG_ENDIAN) [11:24] <thomasvs> avih->us_frame = GUINT32_FROM_LE (avih->us_frame); [11:24] <thomasvs> 730 [11:24] <thomasvs> jeroen_: can you print buf ? [11:24] <dolphy> Source 3970039808d, dest 41708d [11:25] <thomasvs> maybe it's an event :) [11:25] <BBB> me, so we skip that block on LE, because they're all no-ops on LE anyway [11:25] <thomasvs> BBB: so what good does it do if they're noops ? [11:25] <thomasvs> to skip them I mean ? [11:25] <BBB> skip a lot of mov ebx, ebx; mov ebx, ebx [11:25] <dolphy> they are noop on LE [11:26] <jeroen_> thomasvs: (gdb) print *buf [11:26] <jeroen_> $4 = {data_type = {type = 268587720, refcount = {counter = 1, lock = 0x0}, [11:26] <jeroen_> flags = 258, free = 0xfee9ea0 <_gst_buffer_sub_free>, [11:26] <jeroen_> copy = 0xfeea100 <gst_buffer_default_copy>, _gst_reserved = {0x0, 0x0, [11:26] <jeroen_> 0x0, 0x0}}, data = 0x4825b020 "ì¢", size = 56, maxsize = 56, [11:26] <jeroen_> timestamp = 18446744073709551615, duration = 18446744073709551615, [11:26] <jeroen_> offset = 32, offset_end = 18446744073709551615, free_data = 0, [11:26] <jeroen_> buffer_private = 0x1002b138, _gst_reserved = {0x0, 0x0, 0x0, 0x0}} [11:26] <BBB> they don't do shit, but they do take CPU time [11:26] <BBB> so whyt not just skip them? [11:26] <thomasvs> doesn't the compiler evaluate them to noops ? [11:26] <BBB> no [11:26] <thomasvs> well, that's a compiler bug :) [11:26] <BBB> I guess that depends on the compiler, btw [11:27] <BBB> anyway, does it matter? [11:27] <BBB> we have bigger bugs then 'compiler doesn't ignore no-op code' [11:27] <thomasvs> yes, this one [11:27] <BBB> like 'avidemux crashes on BE' [11:27] <thomasvs> and I'm wondering if it would segfault on le as well if the macros were enabled [11:27] Action: BBB tries [11:28] <BBB> still runs fine here [11:28] Action: thomasvs wonders why there are #defines in the middle of the struct typedef [11:29] <thomasvs> dolphy: what's your gst-launch line that gives that problem ? [11:29] <BBB> so you see which defines belong where [11:29] <BBB> ../../../gstreamer/tools/gst-launch filesrc location=/media/clips/System\ Of\ A\ Down\ -\ Live\ at\ Lowlands\ 2001.avi ! avidemux [11:29] <BBB> runs fine [11:29] <dolphy> thomasvs: filesrc ! spider ! ffcolorspace ! ximagesink [11:30] <BBB> Error decoding divx frame: Invalid format (2) [11:30] <BBB> crap [11:30] <thomasvs> damnit, works fine here too [11:30] <BBB> I truely hate stuff [11:30] <thomasvs> dolphy: ok, get me a ppc machine :) [11:30] <BBB> and me [11:30] <BBB> ;) [11:30] <thomasvs> jeroen_: is the bug in bugzilla ? [11:31] teuf ([email protected]) joined #gstreamer. [11:31] <jeroen_> thomasvs: no, i'll file it [11:31] <jeroen_> thomasvs: i can recommend a powerbook 17" (rev 2) with an ATI card :D [11:31] <BBB> can you please try to edbug this jeroen? [11:32] <jeroen_> BBB: edbug? [11:32] <jeroen_> debug you mean [11:32] <BBB> debug [11:32] <BBB> as in: find out what statement makes it crash [11:32] <jeroen_> BBB: how? i've already got gdb running [11:32] <thomasvs> BBB: line 730 [11:32] <thomasvs> the macro [11:32] <dolphy> thomasvs: well use an ssh account on mine [11:32] <BBB> how is GUINT32_FROM_LE() implemented? [11:32] <BBB> what does it do? [11:32] <jeroen_> BBB: it segfaults at gstavidemux.c:728 [11:32] <thomasvs> BBB: I just manually put in each statement from that macro [11:32] <BBB> fill in a manual byteswap, does that work? [11:32] <thomasvs> BBB: and it doesn't segfault [11:32] <thomasvs> dolphy: sure, give me one [11:32] <BBB> then the macro is bugged [11:33] <BBB> file a glib bug ;)_ [11:33] <thomasvs> BBB: the macro looks fine, I did it by hand [11:33] <jeroen_> lemme upload my glibconfig.h [11:33] <BBB> please [11:33] <thomasvs> BBB: also, the test app I put online calls the macro on the same value [11:33] <thomasvs> BBB: works on both their machines [11:33] <BBB> are the macros optimized on PPC? [11:33] <BBB> maybe our values aren't aligned? [11:33] <BBB> (our ints) [11:34] <jeroen_> http://www.xs4all.nl/~jeroen/glibconfig.h [11:34] <BBB> jeroen_: what's the memory address of avih? [11:34] <thomasvs> BBB: no, looks like generic gcc fallback for the macros [11:34] <thomasvs> BBB: hm, not aligned, could be [11:34] <jeroen_> BBB: avih = (gst_riff_avih *) 0x4825b020 [11:34] <BBB> that's aligned [11:34] <BBB> but not 64byte [11:34] <BBB> hm... [11:34] Action: BBB thinks [11:35] <BBB> and glib/gmacros.h? [11:36] <BBB> actually [11:36] <BBB> gtypes.h [11:37] <jeroen_> BBB: one sec [11:38] <jeroen_> BBB: http://www.xs4all.nl/~jeroen/gtypes.h [11:38] <BBB> ty [11:39] <BBB> hm, nothing optimized [11:39] <BBB> odd... [11:40] <thomasvs> there's got to be a reason for this [11:40] <BBB> well, yes [11:40] Action: thomasvs waits for the account on dolphy's machine [11:40] <BBB> jeroen_: tried valgrind? anything weird happening before this? [11:40] <jeroen_> BBB: valgring is x86 only afaik [11:40] <BBB> jeroen_: does filesrc ! avidemux (without anything attached to avidemux) crash too? [11:40] <jeroen_> valgrind even [11:40] <BBB> oh, yes [11:40] <BBB> grmbl [11:41] <jeroen_> BBB: yep, tried that already [11:41] <dolphy> thomasvs: i m copying gstreamer source code in your account [11:42] <jeroen_> how do i playback an mpg? filesrc ! mpegdemux ...? [11:43] <BBB> try that first [11:43] <BBB> later, add .video_00 ! mpeg2dec ! colorspace ! ximagesink [11:43] <jeroen_> BBB: that seems to run fine (doesn't do anything) [11:44] <BBB> (ohm, and ffcolorspace and mpeg2dec don't like each other, that's known [11:44] <BBB> ok... [11:44] <BBB> then again, mpeg is BE so that's not weird [11:44] <jeroen_> BBB: don't have mpeg2dec here. isn't there an ffmpeg decoder i can use? [11:44] <BBB> ffdec_mpeg1video [11:44] <BBB> if it works [11:44] <BBB> I haven't tried it for a while [11:44] <BBB> mpeg2dec works fine here [11:45] <jeroen_> no element by that name either [11:45] <BBB> hm... [11:45] <BBB> allrighty [11:45] <BBB> no wonder you can't playback mpeg ;) [11:45] <jeroen_> no, stupid typo [11:46] <jeroen_> gst-launch-0.7 filesrc location="Desktop/american.idol.s03e01.vcd-ffn.mpg" ! mpegdemux .video_00 ! ffdec_mpeg1video ! ffcolorspace ! xvimagesink [11:46] <jeroen_> that works [11:46] <jeroen_> though the video seems to stutter a bit [11:46] <BBB> gst-launch filesrc location=/media/clips/Muse\ \(live\@HMH\)\ -\ New\ Born.mpg ! mpegdemux .video_00 ! mpeg2dec ! ffcolorspace ! ximagesink [11:46] <BBB> works here too [11:46] <jeroen_> shouldn't i put a queue element in the pipeline somewhere? [11:46] <BBB> :) [11:46] <BBB> seems someone fixed it [11:46] <BBB> nah [11:47] <BBB> only if you start using audio too [11:47] <jeroen_> ok [11:47] <BBB> gst-launch filesrc location=/media/clips/Muse\ \(live\@HMH\)\ -\ New\ Born.mpg ! mpegdemux .video_00 ! { queue ! mpeg2dec ! ffcolorspace ! ximagesink } mpegdemux0.audio_00 ! { queue ! mad ! osssink } [11:47] <BBB> that [11:47] Action: jeroen_ tries :) [11:48] <BBB> gst-launch filesrc location=/media/clips/Muse\ \(live\@HMH\)\ -\ New\ Born.mpg ! spider name=auto ! { queue ! ffcolorspace ! ximagesink } auto. ! { queue ! osssink } [11:48] <BBB> that doesn't ;) [11:48] <jeroen_> gst-launch-0.7 filesrc location="Desktop/american.idol.s03e01.vcd-ffn.mpg" ! mpegdemux .video_00 ! { queue ! ffdec_mpeg1video ! ffcolorspace ! xvimagesink } mpegdemux0.audio_00 ! { queue ! mad ! alsasink device=hw:0 } [11:48] <jeroen_> that does :) [11:48] <jeroen_> still the video doesn't seem smooth [11:48] <jeroen_> but the sound is [11:49] <jeroen_> this is cool :) [11:49] <BBB> well, it'd be cool if it worked autoplugged in 0.8.0 ;) [11:50] <jeroen_> heh [11:50] Action: BBB will work on divxdec too... [11:50] <jeroen_> BBB: if i substitue ffcolorspace with colorspace it no longer works (no video appears) [11:51] <jeroen_> no window even [11:51] markov ([email protected]) left irc: "bbl" [11:53] <thomasvs> muhaha [11:53] Action: thomasvs heats up dolphy's feeble powerpc [11:53] <jeroen_> heh [11:53] <jeroen_> what kind of ppc does he have? [11:53] <thomasvs> a 15inch powerbook I think [11:54] <jeroen_> new model? or the old one [11:54] <BBB> ah, fixed that too [11:56] <BBB> dolphy: in for a nice bug? [11:56] <dolphy> BBB: yeah [11:57] <dolphy> BBB: but my machine is almost frozen by thomasvs :) [11:57] <BBB> dolphy: play a msmpeg4v3 file ("divx3") using spider (on a x86 ;) ) and why is the window size 16x16? ;) [11:57] <dolphy> BBB: sounds like bad caps nego [11:57] <thomasvs> autotools are REALLY slow on ppc [11:57] <dolphy> BBB: 16*16 is fixate defaults [11:57] <dolphy> thomasvs: everything is really slow on ppc [11:57] <BBB> gst-launch filesrc location=/media/clips/System\ Of\ A\ Down\ -\ Live\ at\ Lowlands\ 2001.avi ! spider .src_%d ! ffcolorspace ! ximagesink [11:57] <jeroen_> thomasvs: no they're not. probably just dolpy's powerbook ;) [11:57] <dolphy> thomasvs: i m really considering switching back to a dell [11:57] <thomasvs> I'm starting to think fixate is just a big hack to guess stuff so it connects [11:57] <BBB> dolphy: ok, so how do I fix that? [11:58] <thomasvs> not actually a way of getting the right caps from the stream :) [11:58] <dolphy> BBB: i guess spider does something wrong [11:58] <BBB> I don't like fixation either, it causes loads of bugs [11:58] <BBB> the idea is right, but it's implemented very badly [11:58] <jeroen_> dolphy: my pb 1.3GHz is very fast with kernel 2.6 [11:58] <BBB> other bugs pending for me to fix? [11:59] <dolphy> jeroen_: mine is only 1Ghz and i m running 2.4.23 [11:59] <jeroen_> dolphy: 2.6 helps a lot in my experience [11:59] <dolphy> jeroen_: and i don't feel it being fast [12:01] <dolphy> thomasvs: could you renice your compilation ? [12:02] Action: BBB will work on avi tags today [12:02] <BBB> even though it sucks a bit, I still don't fully get it [12:03] <thomasvs> dolphy: sure [12:03] <thomasvs> dolphy: done [12:03] <thomasvs> dolphy: sorry :) [12:04] <dolphy> jeroen_: you don't have too much troubles running 2.6 ? [12:04] <BBB> and riff-read.c needs updating for new fourcc tags [12:04] <jeroen_> dolphy: nope. 2.6.1-ben1 runs great here [12:05] <jeroen_> dolphy: it even works with my ipod (i can mount it via fireware with hfsplus) [12:05] <dolphy> jeroen_: interesting.. [12:05] <jeroen_> firewire even [12:05] <dolphy> jeroen_: and you ve seen a real improvement in speed [12:05] <jeroen_> yeah [12:06] <jeroen_> dolphy: see my post on ydl-general (iirc) on how to build a 2.6 kernel [12:07] <jeroen_> dolphy: http://lists.terrasoftsolutions.com/pipermail/yellowdog-general/2003-December/011098.html [12:07] <jeroen_> dolphy: you need a new dev package for the alsa devices to appear in /dev/snd/ [12:08] <jeroen_> dolphy: http://lists.terrasoftsolutions.com/pipermail/yellowdog-general/2004-January/011225.html [12:08] <jeroen_> that one is more up-to-date [12:08] <jeroen_> and complete [12:10] <dolphy> jeroen_: i m using debian :) [12:10] <dolphy> jeroen_: make pmac_defconfig works fine ? [12:11] <dolphy> jeroen_: i mean it works for most of them ? [12:11] <dolphy> jeroen_: including rivafb ? [12:11] sublett ([email protected]) left irc: "I like food, food is good!" [12:12] <BBB> anyone have an AVI with metadata for me? [12:12] <BBB> I lost mine [12:12] Shoragan ([email protected]) joined #gstreamer. [12:13] <jeroen_> dolphy: yep [12:14] <jeroen_> dolphy: you can always change the config with "make gconfig" (gtk2 config) [12:14] <jeroen_> BBB: dunno. i have lots of avis, but i have no idea if they have metadata [12:15] <dolphy> jeroen_: schweet [12:15] <BBB> jeroen_: grep INFO *.avi [12:15] <dolphy> jeroen_: i ll probably try that this week end [12:15] <dolphy> :) [12:15] <BBB> jeroen_: if they contain that, they contain metadata [12:16] <jeroen_> BBB: almost all match [12:16] <BBB> hexedit the files and see if they contain an INFO chunk [12:16] <jeroen_> lemme see if i have a small one (<100) that contains INFO :) [12:17] <BBB> with things like IART, INAM, etc. [12:17] <jeroen_> BBB: how do i do that? [12:17] <dolphy> jeroen_: drm trunk works with 2.6 ? [12:17] <dolphy> jeroen_: and MOL ? [12:17] <BBB> jeroen_: hexedit file [12:17] <BBB> or ghex2 file [12:17] <jeroen_> dolphy: don't know about mox (it causes a kernel oops here) [12:17] <jeroen_> dolphy: i'm running XFree86 4.4 rc2 (for my ATI Radeon 9600 mobile) [12:18] <jeroen_> dolphy: drm works fine afaik with that X version [12:18] <jeroen_> BBB: i have neither of those tools [12:19] <BBB> just send one, I'll assume it's ok [12:19] <BBB> ;) [12:19] <BBB> and I'm at work, so large files are ok [12:19] <jeroen_> BBB: i have hexedit now [12:19] <BBB> better yet! [12:21] <jeroen_> BBB: how do i get out of hexedit? [12:21] <BBB> ctrl-c [12:22] <jeroen_> BBB: i haven't found any INFO chunks so far (they're at the top of the file, right?) [12:23] <BBB> they're somewhere in between RIFF and 'movi' [12:23] <BBB> that could be a full 100kB or so [12:23] <BBB> depending on the muxing app [12:23] <jeroen_> aha [12:24] <BBB> virtualdub writes rather large headers [12:24] <BBB> (page-down) [12:24] <jeroen_> BBB: can i search for INFO with hexedit? [12:24] <BBB> er.. [12:24] <BBB> / is seek [12:24] <BBB> but I don't know the hex code for info [12:25] <jeroen_> BBB: ok, found one! [12:25] <jeroen_> with INAM [12:25] <BBB> 494E464F [12:25] <jeroen_> and IART [12:25] <BBB> that's perfect [12:25] <BBB> yup, that's it [12:25] <jeroen_> BBB: 238MB :) [12:25] <jeroen_> BBB: can i upload it somewhere? [12:25] <BBB> DCC it [12:25] <BBB> that's fine [12:26] <jeroen_> no idea if that will work, but i'll try [12:26] iain ([email protected]) joined #gstreamer. [12:27] <jeroen_> BBB: any luck? (i'm behind a firewall) [12:27] <BBB> nope, doesn't work [12:27] <jeroen_> BBB: one sec [12:28] <BBB> /dev/hda7 2.1G 1.7G 270M 87% /home [12:28] <BBB> hm [12:28] <dolphy> thomasvs: are you done with my ppc ? [12:30] <thomasvs> dolphy: no, debugging a doc build issue that you never mentioned to me :) [12:31] <dolphy> thomasvs: i did :) [12:31] <dolphy> thomasvs: remember the make output i sent you with the xml issues :) [12:31] <thomasvs> ah, well :) [12:31] <thomasvs> I'm fixing stuff [12:31] <thomasvs> I commited some things to gtk-doc just now [12:33] <BBB> is metadata in vorbis implemented? [12:33] mathrick ([email protected]) joined #gstreamer. [12:33] Company ([email protected]) joined #gstreamer. [12:33] Action: BBB will work on matroska tagging too, today [12:33] <mathrick> hi [12:34] <BBB> Company: I'm starting to understand tags... I simply build a list, gst_element_found_tags_for_pad(element, sinkpad, 0, taglist); and that's it? [12:34] <dolphy> BBB: we forgot my design issue with video / visualization .. [12:34] <Company> BBB: yeah [12:34] <BBB> cool [12:34] <BBB> ty [12:34] <BBB> I'll have AVI converted in a minute [12:34] <BBB> then I'll do matroska [12:34] <Company> that's why i allways said it's dead simple ;) [12:34] <BBB> yes, but I needed to know how to build a list and what the name of the function is to notify new tags [12:35] <BBB> now that I know, it's dead easy indeed [12:35] <BBB> ;() [12:35] <BBB> -( [12:35] <BBB> dolphy: add an identity... don't replace spider, that's a bad idea [12:35] Action: thomasvs kicks debian again [12:36] <dolphy> BBB: still i don't know if the media has video [12:36] <BBB> I really don't know how to check for that [12:36] <dolphy> BBB: and if i should plug or not the visualization element in [12:37] <BBB> I think you'll have to connec tthe video sink to spider...then, when playback (iteration) starts, check if there's a caps set on the pads... if not -> no video [12:37] <BBB> or so [12:37] <BBB> it doesn't have to be perfect the first time... just try something dirty if you have to [12:37] <BBB> if it works, we can always perfectize it [12:37] <dolphy> that's icky [12:37] <BBB> this isn't ABI or API [12:37] <BBB> this is implementation [12:38] <BBB> yes it is icky [12:38] <BBB> but just try it for now [12:38] Action: dolphy feels he will spend half of his weekend putting hacks and work arounds [12:38] <BBB> nah, it's not that bad [12:38] <BBB> and besides, I'm fixing up lots of sutff for next gnome [12:39] <BBB> we're really doing great stuff.. and sure, it won't be perfect in 0.8.0 [12:39] <BBB> that's why it's not called 1.0.0 [12:40] LeRoutier ([email protected]) joined #gstreamer. [12:41] <BBB> Company: and I don't need to implement metadaat changing for now, do I? [12:41] <LeRoutier> hello [12:41] <Company> BBB: no [12:43] <BBB> k, this will be easy :) [12:45] <BBB> Company: how do I expose metadata if I have multiple srcpads? [12:45] <BBB> or can I do it on my sinkpad? [12:46] <Company> in an ideal world you support metadata retrieval on decoding, metadata setting on encoding and metadata changing via seperate plugins - but you can only have one, too [12:46] <Company> BBB: you should call gst_element_found_tag to emit the signal and then construct an event yourself and push it down all the srcpads manually [12:47] <BBB> oh dude, this is cute [12:47] <BBB> broken avis play too [12:47] <BBB> until we arrive at the broken point [12:47] <BBB> where it nicely errors out with a 'failed read' [12:48] Action: BBB loves avidemux+rifflib [12:48] <Company> heh [12:48] <Company> it should instead try to resync at a later position :) [12:48] <BBB> I'll implement resyncing when I really feel that my life is clueless [12:48] <BBB> until then, I won't bother [12:49] <BBB> (not that I don't care, but the false negative chance is too high for me to really care) [12:49] <Company> or you'll find me do it when I want to preview halfdownloaded files from kazaa again [12:49] <BBB> I can preview [12:49] <BBB> that's what I'm doing now [12:49] <BBB> ;) [12:49] <BBB> the file is at 18% [12:49] <BBB> and I can play it back fine [12:50] <BBB> ;) [12:50] <thomasvs> BBB: do you get the failed read in dutch ? [12:50] pgoel ([email protected]) left irc: "Leaving" [12:50] <BBB> I'm not using i18n [12:50] <BBB> I don't even know how to enable it [12:50] <BBB> if you tell me how to, I'll try [12:50] <thomasvs> export LANG=nl_NL.utf8 [12:51] <thomasvs> then rerun [12:51] <thomasvs> (if you run installed) [12:51] <thomasvs> (if you don't run installed, then cd po; make install) [12:51] <BBB> ERROR: from element /pipeline0/avidemux0: Could not read from resource. [12:51] <BBB> oh, install [12:52] <BBB> I suppose I need latest CVS [12:52] <BBB> I didn't update since two days [12:52] <BBB> FOUT: van element /pipeline0/avidemux0: Kon niet lezen van bron. [12:52] <BBB> cute ;) [12:53] <thomasvs> ah, cool [12:53] <jeroen_> BBB: are you done already? [12:53] <BBB> jeroen_: no [12:53] <BBB> 21% [12:53] <thomasvs> Company: you're on ppc, no ? [12:53] <thomasvs> Company: maybe you want to take a stab at avidemux's ppc bug [12:53] <BBB> jeroen_: if you want, I can cut it off here and fix EOS on broken files :) [12:54] <jeroen_> BBB: no go ahead and download it :) [12:54] <BBB> ok [12:54] <BBB> ty [12:54] <jeroen_> BBB: just let me know when you're done [12:55] <BBB> k [12:59] <jeroen_> thomasvs: any luck with the ppc avidemux problem? [13:00] <Company> thomasvs: what bug? [13:01] <jeroen_> Company: avidemux crashes on ppc [13:01] <dolphy> thomasvs: you are still working on that ? [13:02] <thomasvs> dolphy: on the docs ? yes. this is a bug that needs to be fixed. [13:03] <Company> jeroen_: with every file? [13:03] <jeroen_> Company: yep [13:04] <jeroen_> Company: gstavidemux.c:728 [13:04] <jeroen_> 728 avih->us_frame = GUINT32_FROM_LE (avih->us_frame); [13:04] <jeroen_> that's where it segfaults [13:09] Action: Company blames BBB not extracting data properly [13:10] <jeroen_> Company: for the avidemux ppc bug? [13:10] <Company> yeah [13:10] <Company> he casts random data to a struct [13:10] <jeroen_> it works fine on x86 [13:10] <jeroen_> Company: you can fix it? [13:10] <Company> casting random data to a struct has that ability to sometimes work fine :) [13:11] <Company> ah, i know why it dies [13:11] <jeroen_> cool [13:11] <Company> the buffer is from filesrc and therefore is readonly [13:11] <dolphy> on ppc you need to copy struct manually [13:12] Action: Company fixes [13:14] <BBB> dammit [13:14] Action: BBB stupid [13:15] <Company> i'll commit it when i'm back home [13:15] <jeroen_> thanks [13:19] <thomasvs> Company: ugh - there's no way to make that the error is more explicit then ? [13:20] <thomasvs> Company: because when debugging I tried to first assign the result to a temp int, and it segfaulted there, not when assigning to the struct member [13:20] <BBB> interesting metadata [13:20] <BBB> Add Encoder: HUH? [13:20] <BBB> (process:25107): GStreamer-CRITICAL **: file gsttag.c: line 646 (gst_tag_list_add_valist): assertion `info != NULL' failed [13:20] <BBB> company? [13:20] <Company> thomasvs: what are you talking about? [13:20] <Company> BBB: unknown tag [13:21] <Company> (i think) [13:22] <BBB> ah, ok [13:22] Action: BBB doesn't understand why this movie contains only empty tags [13:23] <LeRoutier> hum, Uraeus did not create the 'bug' about midi doc in bugzilla. creating it now [13:24] <mathrick> LC_ALL=C ../intltool-merge ../po Gst-Player-Control.server.in Gst-Player-Control.server -o -u -c ../po/.intltool-merge-cache [13:24] <mathrick> The OrigTree module doesn't seem to be properly installed ../intltool-merge [13:24] <mathrick> while compiling gst-player [13:25] <LeRoutier> arf [13:25] <LeRoutier> mathrick inttool 0.28 bug [13:25] <mathrick> thomasvs: what file should I delete this time? :) [13:25] <mathrick> LeRoutier: hmm, should I upgrade or donwgrade? [13:25] <BBB> #define GST_TAG_ISRC "isrc"? [13:26] <BBB> ISRC = SOURCE [13:26] <mathrick> LeRoutier: compiled fine 2 days ago, I think i did apt-get dist-upgrade since then [13:26] <LeRoutier> mathrick: as you want. got it compiling gst-player ? [13:26] <mathrick> LeRoutier: hmm? what do you mean? [13:27] <LeRoutier> well, got 0.29 and last time i checked, gst-player compiled well [13:27] <LeRoutier> lets retry now [13:27] <mathrick> mathrick@megumi:~$ intltool-merge --version [13:27] <mathrick> intltool-merge (intltool) 0.29 [13:28] Action: Company watches an AVI on PPC [13:28] <LeRoutier> mathrick, hum, did you rerun autogen ? [13:29] <mathrick> LeRoutier: yep, even make distclean && ./autogen.sh [13:29] <LeRoutier> i read in intltool changelog that they got rid of OrigTree in 0.29 [13:30] <mathrick> LeRoutier: probably, that's what intltool is complaining about ;) [13:30] <LeRoutier> so, it seems some files were generated by 0.28 and are still there [13:30] <BBB> gst_tag_list_add (taglist, GST_TAG_MERGE_APPEND, [13:30] <BBB> type, G_TYPE_STRING, name, NULL); [13:30] <BBB> Company: that segfaults for me [13:30] <BBB> Company: why? [13:31] <mathrick> LeRoutier: ok, will checkout into clean dir [13:31] <LeRoutier> mathrick, lots of gnome packages had that OrigTree problem lately. i bugged for gdm and libgnomedb but there are far more [13:32] <thomasvs> mathrick: reautogen should fix it [13:32] Nick change: jeroen_ -> jeroenafk [13:32] <thomasvs> mathrick: you run make on a module using intltool 0.29 while it was autogen'd using 0.28 [13:32] <mathrick> thomasvs: it did not, checking out again [13:32] <thomasvs> mathrick: it should be a one time problem [13:33] <Company> BBB: because you're not the one that defines a tag format [13:34] <BBB> Company: should ENCODER (or APPLICATION) be added? [13:34] <BBB> Company: ugh... ok, so what do I do then? [13:34] <Company> BBB: it's gst_tag_list_add (taglist, GST_TAG_MERGE_APPEND, type, value_in_right_form, NULL) [13:34] <Company> BBB: you transform it into the correct format [13:34] <BBB> hm [13:34] <BBB> can't you add a utility function that does that for me? [13:34] <Company> BBB: and yes, encoder should be added [13:35] <Company> BBB: not really as I don't know how that data is encoded in your particular case [13:35] <Company> dates for example are encoded differently everywhere (vorbis uses iso, id3 uses year only, ...) [13:35] <mathrick> thomasvs: anyway, clean co did help [13:36] <BBB> Company: it's ASCII, and it's always a string [13:36] <BBB> ohwell [13:37] <BBB> I'll try something out [13:37] <Company> BBB: what format are ypou talking about btw? [13:37] <LeRoutier> new bug : http://bugzilla.gnome.org/show_bug.cgi?id=132288 (for .kar files info in gstreamer&midi doc [13:41] <thomasvs> BBB: can you make a test app that can step through a video file frame by frame ? [13:43] <BBB> no [13:44] <BBB> Company: 'format'? [13:44] <thomasvs> BBB: meaning, you don't want to, or it's impossible ? [13:44] <BBB> I can, but not today [13:44] <BBB> the app can stop the pipeline after each frame [13:44] <BBB> but anyway, not now... why do you need it? [13:45] <BBB> Company: how do I get the type of the tag? [13:46] <Company> BBB: there's some get_type function somewhere in gsttag.h [13:47] <Company> BBB: mad tag parsing uses it, so it must be there :) [13:48] sublett ([email protected]) joined #gstreamer. [13:49] <BBB> ok [13:49] <BBB> and do I give a GValue or a types variable to add_tag()? [13:50] <BBB> list_add(), that is [13:52] <Company> list_add works like set_property [13:52] <Company> there's list_add_values or sth for GValues [13:53] hallibaby ([email protected]) joined #gstreamer. [13:55] wheels ([email protected]) left irc: "using sirc version 2.211+KSIRC/1.3.9" [13:58] Company ([email protected]) left irc: Remote closed the connection [14:12] <BBB> comhow do I dump tags? [14:12] <BBB> gr [14:12] <teuf> BBB: gst-launch has an option to tell it to dump tags [14:12] <BBB> -t! [14:12] <BBB> aha [14:12] <BBB> FOUND TAG : found by element "avidemux0". [14:12] <BBB> application: HUH? [14:12] <BBB> whee! [14:13] <BBB> now I'm still wondering why the tags in this movie are so crappy [14:13] <dolphy> yeah there's a print_tag function [14:13] <BBB> but whatever [14:13] <dolphy> that i also copied in examples/gstplay/player.c [14:14] dolphy ([email protected]) left irc: "Network down, IP Packets delivered via UPS" [14:16] Nick change: jeroenafk -> jeroen_ [14:16] <jeroen_> BBB: hoe ver ben je met downloaden? [14:16] <BBB> done [14:16] <jeroen_> ok [14:16] Action: BBB is net terug van lunch... [14:18] <thomasvs> .libs/libgstrecelements_la-record.orecord.c: In function `gst_rec_class_init':record.c:210: warning: assignment from incompatible pointer typemake[4]: *** [libgstrecelements_la-record.lo] Error 1make[4]: Leaving directory `/home/monkeys/thomas/gst/build/gst-record/src/gst' [14:18] <thomasvs> BBB: fix it or I remove gst-rec from the autobuild :) [14:20] <LeRoutier> got several mpg files ta [14:20] <LeRoutier> argh [14:20] <LeRoutier> got several mpg files that makes gst-typefind explode. should i open a bug and upload them to my server ? [14:21] <BBB> thomasvs: yes yes yes will do [14:21] <BBB> LeRoutier: yes please [14:21] <LeRoutier> k, doing so. then, uploading this porn [14:21] <BBB> *g* [14:22] <LeRoutier> well, out of 5 sample mpg files, only one is porn. i suppose you'll find the bug even without this one :) [14:23] <iain> "I'm not watching porn, I'm trying to find a bug in GStreamer" [14:24] <thomasvs> iain: sounds like my job description [14:25] dolphy ([email protected]) joined #gstreamer. [14:26] <dolphy> jeroen_: k tries 2.6 [14:26] <dolphy> jeroen_: s/tries/tried [14:26] <dolphy> jeroen_: kernel oops :) [14:27] <mathrick> dolphy: any luck with 2.6? [14:28] <mathrick> dolphy: i tried yesterday, but it made my box explode ;) [14:29] <jeroen_> dolphy: with what? mol? [14:29] <dolphy> jeroen_: nope booting [14:29] <dolphy> jeroen_: the stack trace was showing some hfs calls [14:29] <jeroen_> dolphy: hmm, no such problems here [14:29] <dolphy> jeroen_: i should probably disable hfs [14:29] <jeroen_> dolphy: never had any problems like that [14:30] Uraeus ([email protected]) joined #gstreamer. [14:30] <Uraeus> ello [14:30] <LeRoutier> hello Uraeus [14:31] <mathrick> yo Uraeus [14:31] <BBB> hi christian [14:41] <BBB> thomasvs: can I just get the string out of the GError? or should I get the message somewhere else? [14:41] <thomasvs> BBB: error->message [14:41] <thomasvs> BBB: it's The Way [14:41] Action: thomasvs thwacks Uraeus for breaking the build with nas [14:42] <Uraeus> thomasvs: what did I forget to put in? [14:45] BBB_ ([email protected]) joined #gstreamer. [14:45] <dolphy> Uraeus: hey :) [14:45] BBB_ ([email protected]) left irc: Client Quit [14:45] <thomasvs> Uraeus: you put nas TWICE in DIST_SUBDIRS [14:45] <BBB> eh? [14:45] <BBB> what did I do? [14:46] alley_cat ([email protected]) joined #gstreamer. [14:47] <Uraeus> hi alley_cat [14:47] <BBB> thomasvs: gst-rec is fixed [14:47] <alley_cat> hi [14:47] <BBB> hi alley_cat [14:48] <Uraeus> alley_cat: think you need to nag ds-work a little to get some help with that last bug in the nas plugin from your mail [14:48] <Uraeus> alley_cat: since I guess it is a caps nego issue [14:49] <alley_cat> that's what i thought [14:49] <thomasvs> Uraeus: I'm going to try and finish the website too on monday [14:49] <thomasvs> Uraeus: so I can fix the apt repo again [14:50] <alley_cat> either that or it doesn't reinitialize the device correctly, but i'm still not really familiar with nas programming [14:50] <Uraeus> thomasvs: cool, I work on cleaning up some of the current pages there then [14:50] <thomasvs> Uraeus: I did move the CVSROOT a little [14:50] <Uraeus> thomasvs: really like the new, checking and its done setup :) [14:50] <thomasvs> Uraeus: so delete your dir first and do a clea ncheckout [14:50] <thomasvs> Uraeus: yeah, it makes us less lazy [14:50] <Uraeus> s/checking/check in/ [14:52] <Uraeus> argh /me really hates his hosting company; think I should find myself a new one [14:53] <thomasvs> Uraeus: hosting for what ? [14:53] <Uraeus> linuxrising and enterprisegnome [14:53] <thomasvs> Uraeus: host them on my server ? [14:53] <thomasvs> Uraeus: it'll be cheaper :) [14:54] <Uraeus> thomasvs: seriously? [14:54] <thomasvs> Uraeus: sure, why not ? [14:55] <thomasvs> Uraeus: do you have lots of traffic ? [14:55] <thomasvs> Uraeus: we just have a server with a few friends for all of our projects and related friends's projects [14:55] <Uraeus> thomasvs: no, but I am hoping to have lots of traffic on enterprisegnome when it gets rolling [14:55] <thomasvs> Uraeus: we just want to break even, not make a profit, so ... [14:56] <Uraeus> thomasvs: ok :) as long as I don't need a gpg key ;) [14:56] <thomasvs> Uraeus: send me a mail with what exactly you want to host, what services you need for it, and the traffic you think about getting [14:56] <thomasvs> Uraeus: dude, I wouldn't trust your gpg key if you had one, so no :) [14:57] <Uraeus> thomasvs: my gpg is very secure, it is secured using the 'security through obscurity' mantra :) [14:57] <Uraeus> thomasvs: I send you a mail [14:58] Action: thomasvs logs into uraeus's machine again to show him how well that security works [14:59] <Uraeus> heh :) [15:13] <BBB> enterprisegnome <- ? [15:13] <Uraeus> BBB: yeah, it is a news site featuring articles and interviews related to using GNOME in enterprise settings [15:15] <BBB> dell, ibm, hp, sun? [15:15] <Uraeus> BBB: I hope they sponsor me yes :) [15:15] <BBB> is it your site? [15:16] <Uraeus> yes [15:31] catapult ([email protected]) joined #gstreamer. [15:33] <iain> Uraeus: big enterprise situations or the cases like they have on enterprise.kde.org where theres one guy running KWord in a back office of his newsagents? [15:34] catapult ([email protected]) left irc: Client Quit [15:41] <Uraeus> iain: hopefully more serious than e.k.o :) [15:47] fudje ([email protected]) joined #gstreamer. [15:47] <fudje> Hi [15:53] <fudje> I'm trying to a pipelines problem out -- specifically I want to able to grab an mpeg2ts stream off from a udp multicast network; Unfortunately udpsrc appears to be pushing before mpegdemux is ready, ie. not waiting for mpegdemux to pull. Is this supposed to happen, and if so, what needs to go between them? [15:58] <thomasvs> fudje: hm, good question. but I odn't think udpsrc can push. [16:00] <thomasvs> fudje: it's a get-based element, which means the core will ask it for buffers when it needs them [16:00] <thomasvs> fudje: how do you think it is pushing ? ie, are you looking at debug output ? [16:00] <fudje> thomasvs: that's what I would have thought [16:01] <fudje> From the out put, I get: "internal error: push on pad mpegdemux0:sink but it has no chainhandler". Perhaps I'm interpreting it wrong? [16:01] <BBB> is there a very simply howto for popt available somewhere? [16:02] <thomasvs> fudje: what version of gst is this ? [16:03] <fudje> thomasvs: currently 0.7.2 [16:03] <thomasvs> BBB: why would mpegdemux not have a chainhandler ? [16:03] <thomasvs> BBB: if the question is, "how do I integrate popt with my gst app", it's in the manual [16:04] <fudje> thomasvs: it works with filesrc, gnomevfssrc, etc. [16:05] <thomasvs> fudje: reading the code, it really does mean that your mpegdemux doesn't seem to have a chain handler [16:06] <thomasvs> fudje: do you get the same with 7.3 / cvs ? [16:06] lilo ([email protected]) got netsplit. [16:08] <fudje> I haven't compiled 0.7.3 yet... The thing that interests me is that it *only* happens with udpsrc. I don't see how mpegdemux could possibly have a chainhandler with one source and not another :-/ [16:08] foser ([email protected]) joined #gstreamer. [16:09] ChrisHJW ([email protected]) left irc: [16:09] <thomasvs> fudje: I agree. it can only be because the link isn't set up correctly [16:10] <fudje> ...which is set up as in the videowall documentation... [16:10] <thomasvs> ah, then you need to ask Zeenix about it [16:10] <thomasvs> but I'm sure he did the videowall with 0.6.x, it might be some things aren't tested yet [16:12] lilo ([email protected]) got lost in the net-split. [16:13] <fudje> A basic gst -> udp -> gst video chain didn't work with 0.6 either.... It appears to be only multiplexed a/v pipelines that are't working, too. Audio works fine, and I'm not sure I have any way to test anything pure video stream... [16:13] <thomasvs> ah, I see [16:14] <thomasvs> that would make sense [16:14] <thomasvs> you should file a bug report then, becuase I thin kthat's not tested correctly [16:14] <fudje> The pipelines described in the videowall documentation *should* work? [16:16] <fudje> gnome bugzilla or bugs.freedesktop.org? [16:16] <thomasvs> fudje: gnome bugzilla [16:16] <thomasvs> fudje: I have never tested them, but Zeenix made them work, he wrote the doc [16:17] <thomasvs> fudje: so it is possible, yes, but I have no idea how it works [16:17] Nick change: LeRoutier -> LeRaway [16:17] KoRnouille ([email protected]) joined #gstreamer. [16:18] <fudje> thomasvs: in the mean time, I might examine the code.... I need to learn more about the gstreamer internals anyway. [16:19] <thomasvs> fudje: good idea. [16:19] <thomasvs> fudje: and try with only the video stream of an mpeg too [16:19] <thomasvs> so you don't use mpegdemux then [16:19] Company ([email protected]) joined #gstreamer. [16:21] <fudje> that appears to work.... [16:21] <thomasvs> fudje: okm then you're right - it's some sort of demuxing bug [16:34] <fudje> As for right now, I better get some sleep. 'Nite everyone. [16:34] fudje ([email protected]) left irc: "leaving" [16:42] <Company> thomasvs: have you already defined what the flags for tags mean? [16:44] <Company> thomasvs: and you should have added gst_tag_register_with_flags as we are in API freeze [16:44] <Company> at least I thought we were [16:45] <thomasvs> Company: yeah, for me it's on the separation between "describes audio regardless of physical format/describes audio properties of encoded stream/describes audio properties of raw stream" [16:45] <thomasvs> are we ? we didn't declare so yet on the ML or anything AFAIK [16:45] <thomasvs> but we should ecide on that soon yeah [16:45] <Company> we are in API freeze apart from the error changes [16:46] <thomasvs> ah [16:46] <Company> that's why we already use disable_deprecated everywherre [16:46] <thomasvs> well we should have a schedule online somewhere and mail the list about it regularly [16:46] <thomasvs> you want me to change that then ? [16:46] <thomasvs> it's not like gst_register_tag was used outside of core/plugins yet [16:46] <thomasvs> but I understand your concern [16:46] <KoRnouille> hello, I was wondering if swfdec is ready for gstreamer yet ? has it been included ? [16:47] <thomasvs> KoRnouille: it is [16:47] <thomasvs> KoRnouille: the swfdec author is a core gstreamer hacker [16:47] <thomasvs> Company: I really like the debugging system btw [16:47] <thomasvs> Company: that's some really nice work, thanks [16:47] <Company> thomasvs: i don't think it's necessary in this case [16:47] <Company> thomasvs: but just assume we're in API freeze next time [16:47] <KoRnouille> ok thomasvs... cool... I'll do an apt-get gstreamer-universe this evening and try it out [16:48] <thomasvs> KoRnouille: are you on fedora ? [16:48] <thomasvs> KoRnouille: if you are, it won't work yet, I hope to fix that next week [16:48] <KoRnouille> fedora ? [16:48] <KoRnouille> i don't know [16:48] <thomasvs> KoRnouille: send me a mail at thomas at apestaart dot org so you can be my test rat [16:48] <KoRnouille> what's that ? [16:48] <thomasvs> KoRnouille: what distro are you on ? [16:48] <KoRnouille> redhat 9 [16:48] <thomasvs> KoRnouille: ah, ok [16:48] <thomasvs> KoRnouille: fedora is the successor of redhat 9 [16:48] <KoRnouille> really ? [16:48] <thomasvs> KoRnouille: in any case, send me a mail, i need someone to test the rh9 repo when I updated it [16:48] <thomasvs> KoRnouille: yeah, really :) where have you been ? [16:49] <thomasvs> KoRnouille: check http://fedora.redhat.com/ [16:49] <KoRnouille> im not a linux guru [16:49] <KoRnouille> im new [16:49] <thomasvs> KoRnouille: ah, ok [16:49] <thomasvs> KoRnouille: cool, welcome :) [16:50] <KoRnouille> im super new to all that... so ill keep my redhat 9 for now... :) [16:50] <KoRnouille> i don't even know how a kernel compiles yet [16:50] <KoRnouille> ;) [16:51] <KoRnouille> for the apt-get stuff, would just doing the same way as it's described on the gstreamer website would be engought ? [16:51] <KoRnouille> or is gstreamer already in the default apt-get sources.list ? [16:52] <thomasvs> KoRnouille: it's not in the default [16:52] <thomasvs> KoRnouille: and, I have to fix the whole repo first [16:52] <thomasvs> KoRnouille: that's why it would be nice if you could help me test that next week [16:52] <KoRnouille> next week ? [16:52] <KoRnouille> alright [16:52] <KoRnouille> I'll get back there on monday ? [16:52] <KoRnouille> be prepared to be beta tested by a newby ;) [16:53] <thomasvs> KoRnouille: yeah [16:53] <thomasvs> KoRnouille: send me a mail so I remember ! :) [16:53] <KoRnouille> okay :) [16:53] <KoRnouille> i'll write it down on my palm :) (new from christmas) [16:53] <KoRnouille> ;) [16:54] Nick change: LeRaway -> LeRoutier [16:54] <KoRnouille> where are you from ? [16:54] <KoRnouille> im from france [16:54] <KoRnouille> it's 16:54 here [16:58] <thomasvs> belgium, but living in spain now [16:59] <swentel> lucky bastard:) [16:59] <thomasvs> swentel: nothing stopping you to come over :) [17:00] <swentel> on vacation yeah :) [17:00] <thomasvs> sell the house [17:00] <thomasvs> you know you want to [17:00] <swentel> nah:) I'm good where I am now :) [17:01] <swentel> btw, there's big change I'm coming end of february [17:01] <thomasvs> cool [17:01] <swentel> have to check the agenda for jangle, quite busy [17:01] <swentel> but that's a week that's not booked yet :) [17:02] <thomasvs> I'll book something over here then [17:02] <swentel> heh [17:04] <LeRoutier> thomasvs, is it well paid in spain compared to belgium ? [17:04] <swentel> anyway, food [17:04] <swentel> laters [17:04] Nick change: swentel -> swenfood [17:04] <thomasvs> LeRoutier: what, jobs ? [17:04] <LeRoutier> yep [17:04] <thomasvs> LeRoutier: about the same, given the difference in taxes, I'd guess [17:05] <LeRoutier> was astonished when i saw the diff between france and swiss [17:05] <teuf> LeRoutier: you can't really compare salaries between different countries [17:06] <LeRoutier> going from around 2000E a month to 5000E [17:06] <LeRoutier> teuf, well, working from france (home) for a swiss company [17:07] <teuf> LeRoutier: this is cheating ;) [17:07] <LeRoutier> nope, this is mixing avantages [17:10] <teuf> LeRoutier: how does that work for everything related to healthcare ? [17:12] <LeRoutier> well, got a multual [17:21] hadley ([email protected]) joined #gstreamer. [17:29] <Company> you know what? [17:29] <Company> that metadata discussion is totally pointless [17:29] <Company> because changing metadata should nevere be allowed wether it's streaminfo or whatever [17:29] LeRoutier ([email protected]) left irc: Read error: 104 (Connection reset by peer) [17:30] <thomasvs> Company: please, STOP focussing on the editability [17:30] <thomasvs> it's a strawman [17:30] <Company> for what? [17:30] <Company> grouping? [17:30] <thomasvs> no, we're talking about the TECHNICAL separation between the three categories [17:30] <thomasvs> editability is a side effect, not the separating line [17:30] <Company> ah [17:30] <thomasvs> the only person who keeps bringing it up is you [17:31] <thomasvs> look, it's dead simple [17:31] <thomasvs> A) a band plays a song, but I don't record it [17:31] <thomasvs> metadata is still valid, the band is there and the song has a name [17:31] <thomasvs> B) the band plays a song, and I record it as raw audio [17:31] LeRoutier ([email protected]) joined #gstreamer. [17:31] <thomasvs> only now can I say "the sampling rate is 44100 and Irecorded in stereo" [17:32] <thomasvs> C) the band plays a song, I record it, and encode it to mp3 [17:32] <thomasvs> only then can I say "the VBR of the encoded stream is 190 kbit/sec, and it's layer 3" [17:32] <thomasvs> three different ways of looking at the data of an mp3 file [17:32] <thomasvs> I cannot believe you don't see this distinction [17:32] <Company> it's artificial [17:33] <Company> if you don't record the song, there's no metadata - you need the song to even attach the metadata to it [17:33] <thomasvs> that's crap [17:33] <thomasvs> we're talking about how you see the difference [17:33] <thomasvs> metadata is a concept, not a property [17:33] <thomasvs> someone chose it [17:33] <mathrick> Company: what is artifical about distinction between shape of a rock and who you get it from? [17:33] <thomasvs> some person put it in [17:33] teuf ([email protected]) left #gstreamer ("Client exiting"). [17:33] <thomasvs> bitrate is done by the application [17:34] <Company> ok [17:34] <thomasvs> if you tell me today that you cannot know what artist is playing a song until you have a recorded and encoded version that you tagged with metadata, we can stop discussing completely [17:34] <Company> an app should report 44100/stereo because the song was recorded as such? [17:34] <mathrick> Company: yes, as a streaminfo [17:35] <Company> if the song is encoded to 22050/mono by the encoder after that, what then? [17:35] <Company> and what if the decoder of that format decodes to 48000/dolby surround? [17:35] <thomasvs> Company: no, there is no way to say at what rate it was recorded [17:35] <mathrick> Company: it depends on whether you want to get file streaminfo or raw audio stream you send to soundcard one [17:35] <thomasvs> Company: I don't see how that's relevant either [17:36] <Company> that's what you named B) [17:36] <thomasvs> Company: all I'm saying is that the decoder sets the sample rate [17:36] <Company> after you converted to c) all info of B) is lost [17:36] <thomasvs> Company: dude, you have to learn when someone is trying to explain something to you and uses examples to explain something, and when they are DEFINING something [17:36] <thomasvs> I am trying to get across to you that there is a difference between "the entity that is the music which you cannot grasp" and "the entity that is the encoded version on your computer" [17:37] <thomasvs> all you are doing is picking on every little detail of every analogy we make to make you understand that all other people here seem to understand WIHTOUT A PROBLEM [17:37] <Company> i know that you see a difference in the real world [17:37] <thomasvs> to answer your point in this case; [17:37] <Company> but we're not in the real world here [17:37] <thomasvs> in B), since you record to wav, encoded and decoded properties are pretty much the same [17:37] <Company> we're actually writing a computer program [17:38] <thomasvs> in C), vorbis has it encoded internally to 44100 rate, and decodes it as that, and that's what is important to the user [17:38] <thomasvs> no one is asking to keep the info of B) to C) [17:38] <thomasvs> otherwise yo uwouldn't even use gstreamer [17:38] <Company> yeah [17:38] <thomasvs> A) B) and C) serve to tell you what the difference is in concept and where I draw lines [17:39] <thomasvs> so, the only comments yo ushould give on A) B) and C) is "I don't understand the difference" [17:39] <thomasvs> not things like "but you loose info from B) to C)" [17:39] <Company> so the differentiation between B) and C) is hard, because you never know what the encoding/decoding does to stuff from B) [17:39] <thomasvs> nobody cares if we lose that info [17:39] <thomasvs> ok, let's take it from the top [17:39] <thomasvs> do you see hte line between A) on the one hand and B) and C) on the other hand ? [17:40] <Company> in the real world, yes [17:40] <thomasvs> ie, the difference between "properties of the imaginary entity called "music"", and "properties of the physical recording" ? [17:40] trow ([email protected]) joined #gstreamer. [17:40] <thomasvs> ok, and in the computer world ... [17:40] <thomasvs> ... we can see ... [17:40] <thomasvs> that, the metadata can stay the same whether or not the song is encoded in mp3 or flac, right ? [17:41] <thomasvs> ie, the metadata is conceptually separated from the encoding format we choose ? [17:41] <Company> no [17:41] <thomasvs> ok, why not ? [17:41] Action: mathrick larts Company [17:41] <Company> because there are formats for example that require the length to be a multiple of 1 second [17:41] <Company> if the song is 3:29.43 that's not possible [17:41] <thomasvs> Company: length is not metadata [17:42] <thomasvs> Company: do we agree that the title and artist are the same whether it's an mp3 or not ? [17:42] <Company> yes [17:42] <Company> length is metadata [17:42] <Company> according to your definition [17:42] <thomasvs> Company: no it's not [17:42] <Company> yes it is [17:42] <thomasvs> Company: if I record five seconds more silence, how long is it ? [17:42] <Company> because a piece of music has a length [17:42] <thomasvs> what's the length of a track that a band plays ? [17:42] <thomasvs> does it start at -90 dB ? [17:42] <thomasvs> -60 dB ? [17:43] <thomasvs> length is a property of the physical recording [17:43] <thomasvs> the ONLY time when length becomes metadata ... [17:43] <Company> so you're saying a piece of music does not have a length? [17:43] <thomasvs> ... is when id3v2 people say "well, it's soo hard to figure out length from a file, let's put it in id3" [17:43] <Company> in the real world? [17:43] <thomasvs> Company: no, I'm saying that it only has a length once the length is defined [17:43] <Company> same for artist [17:43] <thomasvs> Company: and that that length is certainly not the same metadata kind as is artist [17:44] <thomasvs> Company: if I go to a bjork concert tomorrow [17:44] <thomasvs> and I listen to one of her songs [17:44] <thomasvs> and she plays two in a row without stopping [17:44] <thomasvs> how long was the first song ? [17:44] <thomasvs> we don't know [17:44] <thomasvs> but who was playing it ? [17:44] <thomasvs> bjork [17:44] <Company> what's the name of the song? [17:44] <mathrick> Company: there are two [17:44] <Company> if it's two at once, the name is lost [17:44] <thomasvs> hyperballad/violently happy [17:44] <thomasvs> even if it's only one song [17:45] <thomasvs> when does the song start ? [17:45] <iain> oh oh, use GYBE as an example [17:45] <Company> so "hyperballad/violently happy" has a length, too [17:45] <thomasvs> when does it end ? [17:45] <thomasvs> when the audience stops clapping ? [17:45] <iain> all their songs run into one another and make 40 minute long pieces [17:45] <Company> iain: and how do they call that? [17:45] <thomasvs> Company: I think you are being overly complicated just to be complicated [17:45] <iain> Company: they generally dont :) [17:46] <Company> iain: proves my point :) [17:46] <thomasvs> if anyone in the channel thinks that artist and length of a track are the same sort of thing, please speak up [17:46] <Company> there is no clear distinction between a) and b) [17:46] <iain> thomasvs: but if she plays 2 songs run together then they become a medley [17:46] ChrisHJW ([email protected]) joined #gstreamer. [17:46] <iain> so it becomes one piece [17:47] <Company> you can look at it the simple way and just say "but it looks easy" though it is not [17:47] <thomasvs> Company: you're not discussing rationally, you're arguing for the sake of arguing [17:47] <LeRoutier> 2 sorts of metadata : pure informational and stream info which is replicated for people which can't figure out how to compute them. [17:47] <Company> no [17:47] <thomasvs> Company: but since I now realize that, it's fine by me [17:47] <Company> i'm really concerned this whole "flag" stuff is nothing but confusing [17:47] <thomasvs> Company: I thought you wanted a solution, but you just want to argue until the problem goes away [17:48] <thomasvs> Company: no you're not. what's confusing is that you don't see the difference between the two concepts [17:48] <Uraeus> http://www.linuxrising.com/files/firstencounters.png <- best port ever ;) [17:48] <thomasvs> Uraeus: cool, does it work ? [17:48] <Company> you'Re just saying "artist looks like what I call metadata while length does not and that's because encoders change length but not artist" [17:48] <thomasvs> Company: you still haven't answered the question to "when does the song start, when does it end, and how long is it" btw [17:48] <Uraeus> thomasvs: it works perfectly, only thing not supported is the music (but sound works) [17:48] <Company> thomasvs: ask the artist [17:49] <Company> thomasvs: that's what you do with the title, too [17:49] Nick change: LeRoutier -> LeRaway [17:49] <thomasvs> Company: each recording of a song can have different length [17:49] <thomasvs> even though it has the same title [17:49] <Company> yeah [17:49] <Company> or the artist might name it differently [17:49] <thomasvs> the only SENSIBLE notion of length of a track is "how long is this physical version of it" [17:49] <Company> you don't know until you asked her [17:50] <Company> this is especially true for names of remixes [17:50] <mathrick> Company: few simple questions: suppose you have raw record from live concert, and you have to master it on the CD, ok? [17:50] <Company> they are only "SENSIBLE" with an actual recording, too [17:50] <thomasvs> Company: let's put it this way. you keep on being confused about it, while all hte other people who understand perfectly well the distinction write apps. you're a lib guy anyway, so don't worry about the apps [17:50] <thomasvs> Company: people were playing music and naming songs long before recording was possible [17:50] <thomasvs> Company: songs didn't have a well'defined length then either [17:51] <thomasvs> it's the physical storing that defines the length [17:51] <thomasvs> or hte bitrate [17:51] <thomasvs> and so on [17:51] <mathrick> Company: now you cut it into 5 songs, each 5 minutes long, and label each one with title. Still here? [17:51] <Company> thomasvs: all i'm saying is that you want to group metadata according to your understanding of it - but you shouldn't put your app view into a lib [17:51] <thomasvs> Company: no, I'm grouping metadata according to what it is they describe [17:51] <Company> mathrick: yeah [17:51] <Company> thomasvs: what you think it is they describe [17:51] <mathrick> Company: but now your producer says 'we have to fit it in 20 minutes' [17:51] <thomasvs> Company: it's the same artist whether it's an mp3 or an ogg ! [17:52] <thomasvs> Company: because the artist is the artist of the concept behind the data, and it would be the same artist if it wasn't recorded ! [17:52] <mathrick> Company: so you cut minute of clapping from each track, and save them to title1-ver2, title2-ver2, etc. Ok? [17:52] <thomasvs> If bjork plays two songs in a row, what's the length ? we don't know ! but is it still bjork ! hell yeah ! [17:53] <Company> maybe it's bjork and the weirdo band [17:53] <thomasvs> Company: is there anybody in the whole room who doesn't understand it's still bjork regardless of how long it is ? [17:53] <Company> yyou should ask her [17:53] <thomasvs> Company: yes, one man ! his name is benjamin [17:53] <thomasvs> even if it's bjork and weirdo band, it's still the same for the two songs [17:53] Action: thomasvs can't believe he's arguing with a two year old [17:54] <thomasvs> I give up, you win [17:54] <thomasvs> I'll just keep the code as is, and you keep believing that length is the same as artist [17:54] <thomasvs> Bring it up again when you want to find a solution instead of a problem [17:54] <Company> i agree that there's a simple concept behind it - that just doesn't work on computers [17:54] <mathrick> Company: now, your mate audio engineer drops by your room, and asks you "Hey, give me first song from that concert. What was its title and length?" [17:55] <iain> what happens if its a song thats 4minutes 32 seconds long by a band called 4minutes 32 seconds? [17:55] <Uraeus> bjork's old band was called sugarcubes or something wheren't they? [17:55] <mathrick> Company: are you able to answer first question? [17:56] sub_pop ([email protected]) left irc: "Client exiting" [17:56] Action: BBB fixed 3/4 bugs [17:56] <Company> mathrick: there's two versions, one is called "title1-ver1" and is longer, the other is namedd "title2-ver2" and is longer [17:56] <Company> shorter even [17:56] <mathrick> Company: first one is about artist [17:57] Action: thomasvs sends a mail to beethoven asking him how long violin sonata 1 is, and whether we should change the title if someone plays it longer than that [17:57] <mathrick> Company: but yeah, you cannot answer second one w/o knowing which file does he want [17:57] <iain> Uraeus: yeah [17:57] <mathrick> Company: and it's title is title1 [17:58] <mathrick> Company: but file is named title1-ver1 [17:58] <Company> mathrick: yes, but the version is what you'd call metadata, too, wouldn't you? [17:58] <iain> thomasvs: it becomes a new version if its played longer [17:58] <mathrick> Company: probably, but he asked you about title, not version metadata [17:59] <thomasvs> iain: nope, because the partiture reads "allegro", not "play this in exactly 3 minutes 15 seconds and 3" [17:59] <Company> mathrick: well yeah, titles would still be the same [17:59] <mathrick> Company: song title doesn't change just beacuse you copied file into title1.backup [17:59] <iain> thomasvs: and for bands it can become "Radiohead-Airbag (live in Barcelona)" [17:59] <mathrick> Company: and that's the difference [17:59] <Company> mathrick: correct [17:59] <iain> thomasvs: then it is a new version based on who plays it [18:00] <thomasvs> iain: so what if Radiohead plays that song twice, on two different dates, with two different lengths ? [18:00] <Company> mathrick: but if someone else sings the song it's title doesn't change either [18:00] <iain> thomasvs: Beethoven's 3rd Symphony (London Philharmonic Orchestra, Conductor D Davis) [18:00] <mathrick> Company: of course [18:00] <thomasvs> iain: so, however way you look at it, the "length" of the track will be "whatever the person recording it decided to cut it at" [18:00] <iain> thomasvs: then its given its date and location [18:01] <thomasvs> iain: so, it's automatically a property of the way it is physically recorded [18:01] <thomasvs> iain: what if two different people record the same song on the same night ? [18:01] LeRaway ([email protected]) got netsplit. [18:01] Uraeus ([email protected]) got netsplit. [18:01] <iain> thomasvs: the length of the actual song will be the same, the length of the recording will be different [18:01] <Company> that explains why ID3 has a tag for the real length! ;p [18:01] <thomasvs> iain: so, define the length of the song vs the length of the recording [18:01] <thomasvs> iain: when did the song start and when did it end ? [18:02] <iain> thomasvs: the song started when the band started playing it and the song ended when the band ended it [18:02] <thomasvs> if phil is still drumming the end of airbag while ed is strumming the opening of lucky, where did it end ? [18:02] <iain> song->length = (song->end - song->start) [18:02] <iain> recording->length = (recording->end - recording->start) [18:02] Uraeus ([email protected]) returned to #gstreamer. [18:02] LeRaway ([email protected]) returned to #gstreamer. [18:02] <thomasvs> yeah, but song->end isn't defined [18:02] <thomasvs> is it when they touch the last string ? [18:02] <thomasvs> or when the last sound of that touched string has died ? [18:02] <Company> because it's not needed most of the time [18:02] <iain> then it becomes a medley [18:03] <thomasvs> it's just not defined [18:03] <Company> but you'?re right that there are 2 different lengths [18:03] <thomasvs> even more so [18:03] <thomasvs> the length of how it was played is OF NO IMPORTANCE in gstreamer [18:03] <iain> Airbag/Lucky (medley) [18:03] <Company> there's the length of the song that is mostly uninteresting and the length of the recording [18:03] <thomasvs> since it's not something it can know about [18:03] <thomasvs> the only thing gstreamer has to care about is the length of the physical recording [18:03] <thomasvs> but whether or not someone cut it at a different length, it's STILL a Radiohead song. [18:04] <iain> yey, thomasvs and Company are agreeing on something [18:04] <Company> yeah [18:04] <Company> and i suddenly see the point in including a length tag in ID3 [18:04] Action: iain should be a UN peace negotiator [18:04] <Company> wee, we should discuss this more often [18:04] <thomasvs> Company: ok, so, you agree that there are properties that only make sense given a specific encoding format ? [18:05] <thomasvs> Company: while there are also properties that make sense regardless of the specific encoding format ? [18:05] <KoRnouille> <thomasvs> belgium, but living in spain now [18:05] <KoRnouille> you speak french ? [18:05] <Company> thomasvs: hold on, that gave me some ideas, I need to think that through now first [18:05] <thomasvs> KoRnouille: yeah, I do. but not natively [18:05] <KoRnouille> aaah ok... [18:05] <KoRnouille> bonjour [18:05] <KoRnouille> :) [18:05] <thomasvs> Company: as long as you don't make even more contrived theoretical walls, that's fine [18:06] <thomasvs> ok, I need to get going for a weekend of snowboarding fun [18:06] <KoRnouille> !! [18:06] <KoRnouille> me 2 [18:06] <Company> thomasvs: I think what you really want is a grouping of tags [18:06] <KoRnouille> argh, i dream of doing snowboarding these days [18:06] <Company> thomasvs: kinda like the grouping of elements with their classes [18:07] <Company> so you can say "length" is really /recording/length or /encoding/length [18:07] yippi ([email protected]) joined #gstreamer. [18:07] <Company> where title is obviously /recording/title [18:07] <thomasvs> Company: that sounds fine, and basically is what the flags do [18:07] <thomasvs> Company: anyway, send a mail because I'm gone now [18:07] <mathrick> thomasvs: hf [18:08] <Company> if you had different artists for a file (video and audio) you could split that into /recording/video/artist and /recording/audio/artist [18:09] <Company> which would get you into trouble with defining /recording/artist but whatever... [18:09] <mathrick> Company: that may become a little bit too complex [18:09] <Company> mathrick: it's already complex enough ;) [18:10] <Company> but that's what you really want [18:10] <Company> you will probably even want to have more goupings than that [18:10] <Company> if you are one of those metadata nazis [18:11] <mathrick> Company: this can too easily lead into tags app would have really no clue about [18:11] <Company> mathrick: we're going there anyway [18:11] <mathrick> Company: but OTOH is appealing [18:11] dolphy ([email protected]) left irc: "Network down, IP Packets delivered via UPS" [18:12] <Company> mathrick: it looks like people may get to the point where they put every information people might want to have about a file into a tag [18:12] rk ([email protected]) left irc: "leaving" [18:13] <Company> but when this discussion started i wanted to say something completely differednt [18:14] <Company> i wanted to point out that changing tags of a file is something that shouldn't be needed [18:14] <Company> because there's always only one (1) correct tag [18:14] <Company> the only difference between metadata and streaminfo is that in one way changing tags doesn't lead to an undecodable file [18:15] <Company> because the decoder enforces correct streaminfo tags [18:16] <Company> and that my friends is the only reason for why we have to have tag editors [18:16] <Company> stupid mp3 decoders don't enforce correct artist tags [18:16] <mathrick> Company: not always only one. When you have band tagged "THE ALFEES", "The Alfees" and "Alfees", it's hard to say what is right [18:17] <Company> mathrick: ask the artist [18:17] <mathrick> Company: because it's Japanese band, and changes it's spelling wildly ;P [18:17] <Company> mathrick: in that case the only correct artist name is the japanese sign they use [18:17] <Company> mathrick: and since we use utf-8 to encode it, it shouldn't be a problem [18:18] <mathrick> Company: hah, but they use both spellings on equal [18:18] <iain> mathrick: in my experience with mp3's the band doesn't need to be japanese for its spelling to change [18:18] <mathrick> iain: true, but Japanese excel in that :) [18:19] <Company> and that's just because "artist" is a real world concept that's not enforced while bitrate is a computer concept that is enforced [18:19] <Company> weee [18:19] Shoragan ([email protected]) left irc: Remote closed the connection [18:19] <Company> it's now crystal clear to me :) [18:19] <mathrick> Company: yes, you got it [18:19] Action: mathrick congratulates Company :) [18:19] <Company> now on to the next question: how do we represent categories? [18:21] <mathrick> Company: 2 ways - encode them into tag names itself, or use gst_tag_query_categories() or something similar [18:21] dolphy ([email protected]) joined #gstreamer. [18:21] <Company> gst_tag_get_parent_tag ? [18:21] <Company> sounds stupid as parent tags couldn't have values attached to them [18:23] <Company> and you probably want categories translated [18:24] <mathrick> Company: maybe add tagfs to kernel? We should make it before 2.8 ;) [18:26] thomasvs ([email protected]) left irc: Read error: 113 (No route to host) [18:26] <Company> mathrick: they're already going to add it [18:26] <mathrick> Company: huh? [18:26] <Company> mathrick: we'Re going to do tagging in filesrc and filesink, i can tell you [18:26] <Company> mathrick: Reiser4 supports metadata [18:27] <mathrick> Company: ext2/3 too [18:27] <Company> so there you go :) [18:27] <mathrick> Company: but it doesn't solve you categorizing metadata issue :) [18:28] <Company> right [18:28] <Company> but i'm not gonna mail lkml now [18:28] <mathrick> Company: now, if we exported proper tags filesystem, where categories are dirs, and tags are files, we're done ;) [18:28] <Company> should be doable [18:29] dolphy ([email protected]) left irc: "Network down, IP Packets delivered via UPS" [18:29] <mathrick> Company: or we may alternatively write SQL engine for that :) [18:29] <mathrick> Company: and next step is to add gstlisp ;) [18:30] <Company> there is gstlisp already [18:30] <mathrick> Company: hmm? [18:30] <Company> well, at least bindings ;) [18:30] <Company> but writing a lisp engine with gst sounds cool [18:30] dolphy ([email protected]) joined #gstreamer. [18:30] <mathrick> Company: no, I think of something like alsalisp :) [18:31] edmack ([email protected]) joined #gstreamer. [18:31] Action: mathrick still can't believe that alsa really includes lisp engine [18:31] <Company> they do? [18:32] <Company> i wonder how long it'll take until they do pipelines [18:32] <mathrick> Company: apparently they do in 1.0 [18:33] <mathrick> Company: and only thing noone invented yet is transparent sw mixing. *sigh* [18:34] sublett ([email protected]) left irc: "I like food, food is good!" [18:34] hadley ([email protected]) left irc: Read error: 54 (Connection reset by peer) [18:34] dolphy ([email protected]) left irc: Client Quit [18:36] <Company> wee [18:36] <Company> id3 has a TOWN frame [18:36] <mathrick> Company: what the hell is that useful for? [18:36] <Company> TrackOWNer :p [18:37] <Company> The 'Original filename' frame contains the preferred filename for the [18:37] <Company> file, since some media doesn't allow the desired length of the [18:37] <Company> filename. The filename is case sensitive and includes its suffix. [18:37] dolphy ([email protected]) joined #gstreamer. [18:37] <Company> they're even anti-MS [18:38] hallibaby_ ([email protected]) joined #gstreamer. [18:38] <Company> and they have sorting strings... [18:38] <jeroen_> Company: have you committed the avidemux fix yet? [18:39] markov ([email protected]) joined #gstreamer. [18:39] dolphy ([email protected]) left irc: Client Quit [18:43] lilo ([email protected]) joined #gstreamer. [18:43] dolphy ([email protected]) joined #gstreamer. [18:44] Nick change: swenfood -> swente [18:44] iain ([email protected]) left irc: Read error: 110 (Connection timed out) [18:44] thomasvs ([email protected]) joined #gstreamer. [18:44] <Company> jeroen_: oops - now it's in [18:46] Nick change: swente -> swentel [18:48] sub_pop ([email protected]) joined #gstreamer. [18:55] hallibaby ([email protected]) left irc: Read error: 110 (Connection timed out) [18:55] <jeroen_> Company: thanks [18:56] edmack ([email protected]) left irc: Connection reset by peer [18:58] BBB ([email protected]) left irc: "Client exiting" [18:59] dolphy ([email protected]) left irc: "Network down, IP Packets delivered via UPS" [19:02] somex1 ([email protected]) joined #gstreamer. [19:14] hallibaby_ ([email protected]) left irc: "Bye bye" [19:14] ncm ([email protected]) joined #gstreamer. [19:17] KoRnouille ([email protected]) left irc: "Leaving" [19:19] <ncm> I'm new to both #gstreamer and IRC itself. Thanks to thomasvs for replying to my e-mail; apologies for [19:19] <ncm> the snarky reminder. [19:20] hadley ([email protected]) joined #gstreamer. [19:20] <ncm> Who maintains gst-player? It would be very cool for it to be the first player on Linux etc. to support single-step and slow-motion modes. [19:21] <ncm> Thomas says it would be an easy thing in gstreamer-land. Evidently it would be hard to add to mplayer or xine, or they would have done it already. [19:21] <mathrick> ncm: afaik, xine has slo-mo [19:22] <mathrick> ncm: but as for your question, Julien (dolphy) is currently maintainer of gst-player [19:23] <Company> and single-stepping is going to be hard I think [19:24] <Company> slow-mo should be possible, though maybe some elemnts don't sync to arbitrary clocks [19:24] <mathrick> Company: single step should be possible by nav events i think? [19:25] <Company> nav events? [19:25] <mathrick> Company: of course it would require some kind of videospeed elem that understands frame-advance event [19:25] <Company> well, you could write an element that only sends out the next image after a nav event, but that would break gst-players sync and probably stall the pipeline [19:26] <Company> unless you tricked the audio pipeline, too and inserted silence or replaced it by fakesink completely [19:26] <mathrick> Company: why would it stall? [19:27] <Company> because the video queue is full, the audio queue is empty and the clock only advances when new audio arrives [19:27] <Company> and please don't use nav events for things they're not supposed to do or i'll kill a kitten [19:27] <mathrick> Company: hmm, right, so it should cover both audio and video parts [19:28] <Company> nav events are not the way to communicate with elements [19:28] <mathrick> Company: why? IMO it's perfect nav event [19:28] <mathrick> Company: "please navigate to next frame" [19:28] <Company> and "please navigate to other file" would be a good nav event, too? [19:29] Action: Company imagines someone coming up with a file selector element [19:29] sublett ([email protected]) joined #gstreamer. [19:30] <Company> advancing to next frame should be done by calling gst_frame_element_advance, not by moving the mouse [19:30] <mathrick> Company: no, but what makes good nav event then? [19:30] <Company> something that requires ionteraction of elements [19:32] <jeroen_> cool, i can play an XVID AVI now (sound is out of sync though) with gst-player [19:32] <mathrick> Company: IMO user requested frame advance is interaction. And that nav event wouldn't be triggered by mouse [19:33] <Company> mathrick: user requesting another file is interaction, too [19:33] <Company> mathrick: navigation events are about navigating inside a video [19:33] <Company> jeroen_: what audiosink do you use? [19:33] <jeroen_> Company: alsasink [19:34] <jeroen_> "alsasink device=hw:0" [19:34] <mathrick> Company: and you are navigating inside video. But requesting another file isn't "inside video" [19:34] <ncm> Sure enough, xine does have slo-mo, but there's evidence that it has single-step. [19:34] <Company> jeroen_: hm, then it should be in sync unless you have a slow computer... [19:34] <ncm> "no evidence". [19:34] <Company> mathrick: inside a video imagine, not inside the video stream [19:34] <jeroen_> Company: 1.3GHz powerbook [19:35] <Company> jeroen_: shit :) [19:35] <Company> sync sucks [19:36] <Company> because there's no concept of sync in gst and doing a concept that allows sync is hard to get right wrt seeking :/ [19:36] <mathrick> Company: when user requests single step mode, "video stream" becomes your "video" [19:36] <Company> mathrick: navigation is about naviggating the image, not about controlling the stream [19:36] <ncm> Usually slo-mo turns off the sound, but it would be cool to save up sound snippets delimited by silence or by some arbitrary time limit (say five seconds) and dump them out periodically. [19:37] <Company> mathrick: there's a reason the play/pause button and the seek slider are seperate [19:37] <Company> (it would definitely be possible to implement this via nav events [19:37] <Company> ) [19:39] <mathrick> Company: I don't really see the difference. Nav events are about controlling video playback in a way that doesn't come from simple time flow, and providing feedback upstream, right? [19:40] <mathrick> s/video// [19:41] sack ([email protected]) left irc: "Leaving" [19:41] <Company> they're about allowing to do interaction with the image, nothing more [19:42] <Company> you certainly can do it, but I don't think you should [19:43] <mathrick> Company: I don't really see a reason, other than they wasn't originally meant for single step. Is there any fundamental reason that makes that solution inappropriate / clumsy / whatever? [19:47] <ncm> Company: what is "the image" (the current frame?), and what kind of navigation (i.e. examples) do you mean would be appropriate for it? If nav events are not appropriate for single-stepping, then something else should be, because it's a natural sort of interaction with a video stream, or with any quantized sequence. [19:48] <mathrick> ncm: image is for example DVD menu, and navigation Company means is selecting and clicking buttons [19:56] yippi ([email protected]) left irc: "Client exiting" [19:57] apoc ([email protected]) joined #gstreamer. [19:57] <apoc> hi [19:57] <mathrick> yo apoc [19:58] <ncm> Thomas wrote, about single-step, "in gstreamer this should be very easy." What do you suppose he had in mind? [20:00] dolphy ([email protected]) joined #gstreamer. [20:07] <ncm> dolphy, how hard do you think it would be to add single-step capability to gst-player? mplayer and xine don't have it yet, but even the cheapest DVD and videotape players will do it. Company said nav events are the Wrong Way. [20:08] <mathrick> ncm: I don't know, but maybe he sees some obvious and easy solution. And after all, it shouldn't be that hard. Main issue I see is keeping data flow in all possible video, audio, subtitles, etc. streams at the same rate, that would probably mean some jumbo element that would take all the streams as input [20:10] Nick change: LeRaway -> LeRoutier [20:16] <Company> mathrick: everything that is better represented outside the video frame (like the stepping buttons) should be done outside [20:16] Action: Company watches Jay & Silent Bob now [20:28] hallibaby ([email protected]) joined #gstreamer. [20:38] <mathrick> Company: hmm, you mean because player would have stepping buttons in UI outside video frame, there should be invented new programmatic way for sending requests upstream? I don't see the connection [20:39] Uraeus ([email protected]) left irc: "Client exiting" [20:40] <mathrick> Company: I can understand you wanting to have that done completely outside pipeline, ie. app would have to request advance manually, but I don't think we shouldn't use nav events just because UI is different [20:41] <Company> mathrick: so we just do everything as nav events? [20:41] <mathrick> Company: why everything? [20:42] <mathrick> Company: just things that make sense, and navigating to next frame seems natural to me [20:43] <Company> mathrick: and why would that make sense? [20:43] Uraeus ([email protected]) joined #gstreamer. [20:44] <mathrick> Company: and, if you say that app definitely has to do it outside of pipeline, OK, that's your opinion. But I don't understand discarding nav events because of what they're are used for currently [20:46] <mathrick> Company: because frame-advance is clearly navigation, ie. way for user to request playback based on his feedback, instead of just time flowing [20:47] <mathrick> Company: maybe there are other technical reasons not to do this that way, I don't know, but from conceptual point of view it makes perfect sense [20:47] <Company> you should probably just eek :p [20:47] <Company> seek even [20:48] <mathrick> Company: no, I don't think seek would be nice solution for that [20:48] <mathrick> Company: think about delta based formats [20:49] <Company> delta based formats? [20:49] <mathrick> Company: where you have keyframes, and delta frames [20:49] <Company> ah [20:49] <Company> why would that be a problem, just cache the images between keyframes [20:49] <mathrick> Company: they would probably seek to nearest keyframe, and then skip appropriate number of frames, which is ultra ineffective [20:49] <mathrick> Company: cache? [20:50] <Company> yeah [20:50] <Company> apart from that you can request a seek being accurate [20:50] <mathrick> Company: ie. what exaclty would be done? [20:50] <Company> you don't discard buffers between keyframes but keep them [20:50] <Company> in a seperate element [20:51] <Company> and if someone seeks inside that range you can do it real fast :) [20:51] <mathrick> Company: haha, ever heard of Vivo? [20:52] <Company> vivo? [20:52] <mathrick> Company: it's pure delta format, ie. you have ONE keyframe, the first one [20:53] <mathrick> Company: it was incredible crap, but was heavily used at a time [20:53] <Company> well, just keep a range of frames and if you're outside, just seek [20:53] <Company> ie you redecode the whole stream again [20:54] <mathrick> Company: and anyway, why would you want to cache when just stepping one frame *forward*? [20:55] <mathrick> Company: step backward would require seeking obviously, but stepping forward is incredibly simple [20:55] <Company> when you step forward it would be possible via the clock [20:56] <mathrick> Company: ok, and that's where it comes to nav events :) [20:57] <Company> what is a nav event for you btw? [20:57] <mathrick> Company: how is clock done currently. Ie. did you change it that it always goes forward and never stops? [20:57] <Company> mathrick: yeah [20:58] <Company> a clock shows the time and the time has the interesting property of going forward ;) [20:58] <mathrick> Company: nav event is way to communicate upstream that we want something "unusual" done to the normally linear playback [20:59] <Company> ah [20:59] <Company> well, i still think you should use a seperate element [21:00] <Company> instead of sending weird events somewhere [21:01] <mathrick> Company: I would be sending them to separate elem that would understand them, of course :) [21:01] <mathrick> Company: and of course we don't consider stepping as special case of slo-mo, do we? [21:03] <Company> for me stepping is a special case of slo-mo [21:03] <Company> at least it could be [21:03] <Company> hm [21:03] <Company> dunno what's the best way to do it [21:04] <mathrick> Company: I don't think so, because it's actually infinitely slower than normal, and infinity is tricky with computers [21:04] <Company> you could write a custom clock that is user controlled [21:04] <Company> and stopping is ok with clocks [21:05] <mathrick> Company: I thought clocks aren't ever supposed to stop? [21:05] <Company> they're not allowed to go backwards [21:05] <mathrick> Company: ah [21:06] <Company> stopping is actually allowed [21:06] <Company> it has to be [21:06] kmaraas ([email protected]) joined #gstreamer. [21:06] <Company> normal clocks just stop for some time and then jump to the next time they represent [21:06] <Company> kinda like a wall clock the ticks once a second [21:06] <mathrick> Company: so, that would really involve doing special elem, that provides master clock, and is user controlled? [21:06] <Company> but you could just tick once the user clicks [21:07] <mathrick> Company: right, they're in fact discrete [21:08] <Company> i'd probably invent a user-controlled element that just outputs the current buffer as long as someone triggers an event on the function to step forward to the next frame [21:08] <mathrick> Company: ok, and why couldn't that trigger be nav event? [21:09] <Company> you could just call the function on the element directly [21:10] <mathrick> Company: well, true. But that involves additional API for that? [21:10] <Company> well yeah, but if you write that element anyway... [21:11] <Company> if that'd be a little more useful, you could create an interface [21:11] <mathrick> Company: it doesn't probably matter that much, now what about normal playback when that elem is plugged in? [21:12] <mathrick> Company: would that still require firing up that event? [21:12] <Company> gst_my_element_set_playback (element, NORMAL) [21:13] <Company> gst_my_element_set_playback (element, STEPPING) [21:13] <mathrick> Company: ok, so does that elem provide clock after all or not? what was the conclusion? [21:13] <Company> gst_my_element_step (element, FORWARD) [21:13] <Company> that would work without a clock [21:14] <Company> a clock was anopther idea [21:14] <mathrick> Company: but then we would need to pass all streams through that elem, right? [21:14] <Company> yeah [21:14] <mathrick> Company: otherwise, pipeline will probably stall [21:15] <Company> yeah [21:15] <Company> you wouldn't do that with gst-player anyway [21:15] <mathrick> Company: is syncing to more that one clock allowed? Ie. different for different elems? [21:15] <mathrick> Company: why? [21:15] <Company> because it'd just complicate gst-player even more [21:16] <mathrick> Company: so, who would do that? Another, stepping capable player? [21:16] <Company> yeah [21:16] <mathrick> Company: yeah for syncing? Or yeah for player? [21:17] <Company> yeah for player [21:17] <Company> you would probably want to extend GstPlay [21:17] <mathrick> Company: it's sick [21:17] <Company> subclassing [21:17] <mathrick> Company: what is gst-player useful for then? [21:17] lilo ([email protected]) left irc: "brb" [21:18] lilo ([email protected]) joined #gstreamer. [21:19] <Company> gst-player was once supposed to be a simple video player [21:19] <Company> it's not anymore anyway [21:19] <dolphy> ncm: you mean frame by frame seeking ? [21:20] <mathrick> Company: but if we can't extend it easily, it proves there's something wrong with it, or with gst [21:20] <Company> yeah [21:20] <ncm> dolphy: I don't know how to answer that. I want a button on the player that looks just like the one on my video's remote control, and another [21:20] <ncm> that steps the other way. [21:21] <ncm> dolphy: sorry, s/video/videotape box's/ [21:22] <mathrick> Company: so, is gst-player badly designed, or gst has serious shortcomings? [21:22] <Company> find it out :) [21:23] <mathrick> Company: you're core guru, if you say core's OK, then I know that's player that needs love :) [21:23] <dolphy> gst-player is our testbed [21:23] <dolphy> production video player features are going in totem with gst backend [21:24] <Company> yeah, but gst-player is already far too complex for a testbed [21:24] <mathrick> dolphy: but testedbed should be even more changes capable, right? [21:24] <mathrick> Company: it should be refactored then :) [21:24] <mathrick> Company: testebed you can't add features into is kinda useless [21:24] <dolphy> mathrick: if you have proposal i d be glad to hear them [21:25] <Company> it should be more than just one object [21:25] <dolphy> mathrick: loads of features can be added to gst-player [21:25] <Company> it should be multiple subclasses [21:25] <mathrick> Company: it == ? [21:25] <Company> GstPlay [21:25] <Company> but that's hard to design correctly and requires time investments [21:26] <Company> i mean a mozilla plugin doesn't require visualization for example [21:27] <dolphy> gstplay handles that already [21:27] <Company> a simple test app for seeking shouldn't have scaling or colorbalance stuff [21:27] <mathrick> Company: hmm, sounds a bit dangerous [21:27] ct_ ([email protected]) joined #gstreamer. [21:27] <dolphy> if you don't set visualization element the pipeline does not contain anything related to vis [21:27] <Company> and you don't want to include stuff for single stepping either [21:27] <mathrick> Company: what if you want features from two branches in class hierarchy? [21:28] <dolphy> well yeah but if you want to go that far in flexibility then let the app developper use the framework directly [21:28] <Company> mathrick: you either redesign it so that that is possible or you just copy the code [21:28] <dolphy> gstplay is like the fileselector widget [21:28] <Company> mathrick: i would just make it step by step more complex [21:28] <dolphy> use it or do your own [21:28] <dolphy> but you can't make a 1000 customisations to it [21:28] <Company> it allows easier debugging, too [21:28] <mathrick> Company: duh, it defeats point of using simple common lib [21:28] <Company> if one of the less complex things works, you can easily find the error [21:29] <mathrick> Company: i don't think GstPlay should be used for power players [21:29] <Company> i think it should [21:29] <Company> GstPlay is a "player" [21:29] <dolphy> and anyway gstplay would become obsolete if we had a good autoplugger [21:29] <Company> ah? [21:29] <mathrick> Company: then it should be kind of framework itself [21:30] <Company> mathrick: maybe [21:30] <dolphy> yeah [21:30] <dolphy> having a good autoplugger would make sound juicer and totem very easy to code [21:31] <Company> why do you code on gstplay then instead of writing an autoplugger? :o [21:31] <dolphy> you just need to have source and sinks around the autoplugger and the autoplugger manage to do the rest [21:31] Action: ds-work mutters something about getting his computer working [21:31] <dolphy> put vis if the media is audio only [21:31] <mathrick> Company: yep, good autoplugger may make it redundant. Or rather would allow apps to use just "play this" functionality [21:31] <Company> the autoplugger does "play this" already [21:32] <Company> the rest of the pipeline in gst-player is loads of video transforming [21:33] <dolphy> yeah but the rest of the pipeline is trivial [21:33] <dolphy> once the plugins are working as expected [21:33] <Company> yeah, and there's the problem [21:34] <Company> if gst-player doesn't work i need to look at 15 elements to figure out which is buggy [21:35] <Company> and maybe someone just wants a fast player for a simple thing he does [21:36] <dolphy> yeah then he connects 3 elements himself and that's it [21:36] <mathrick> Company: play this I mean GtkWidget *video = gst_play_new("demo.avi"); gst_play_play(video) [21:36] <mathrick> s/play this/by "play this"/ [21:37] <mathrick> Company: something like that GtkVideoPlayer helix guys proposed [21:37] <Company> mathrick: yeah [21:37] <Company> mathrick: someone needs to code it though... [21:38] <dolphy> mathrick: check bacon_video_widget please [21:38] <dolphy> mathrick: that's exactly this [21:39] <mathrick> dolphy: so, you're probably right, autoplugger's going to kill gstplay [21:41] <dolphy> mathrick: yeah in utopia world :) [21:41] <dolphy> mathrick: i will be very happy the day that happens :) [21:42] <LeRoutier> how does the autoplugger in sandbox works actually ? [21:42] wheels ([email protected]) joined #gstreamer. [21:42] <Company> not at all yet [21:42] Nick change: swentel -> swen|afk [21:42] <mathrick> Company: is new autoplugger going to be static one, or spider-like separate elem? [21:42] <Company> and since we have to make it perfect, it'll not be easy anyway :o [21:42] <mathrick> lo wheels [21:42] <Company> mathrick: i want an element, no clue what ds want [21:42] <Company> s [21:43] <wheels> hi mathrick [21:45] <mathrick> Company: heh, power users (for users == "apps") would probably wan't something that is a mix between the two, ie. is easily mutable like staticly autoplugged pipeline, but also easily repluggable like spider [21:45] <LeRoutier> i suppose the only mandatory property for new autoplugger would be something that describes what we want at the end : audio only, video+audio. so that if we choose audio only, it would autoplug any present video source to fakesink and would only take care of audio. and if we only have sound in input but want audio+video on output, it would connect fakesrc to whatever_image/videosink [21:46] <Company> LeRoutier: even spider can do that today... [21:47] <LeRoutier> and it does it well ? [21:47] <Company> LeRoutier: and it's dead easy, you just connect stuff connected on the sink side to stuff connected on the source side :) [21:47] <dolphy> LeRoutier: the ideal autoplugger would be able to connect v4lsrc to filesink recording video [21:48] <Company> dolphy: spider can do that if you want to [21:48] <Company> dolphy: in fact it just does v4lsrc ! filesink [21:48] <mathrick> dolphy: not it wouldn't be ideal, it would be M$ one ;) [21:48] <mathrick> s/not/no,/ [21:48] <dolphy> Company: spider could be used in g-s-r then ? [21:49] <Company> dolphy: yes [21:49] <dolphy> Company: great [21:49] <Company> dolphy: but the problem there is that it just plugs directly [21:49] <LeRoutier> without colorspace/format change ? [21:49] <Company> dolphy: because you didn't tell it the autput format, so it outputs audio/x-raw-int [21:49] <mathrick> LeRoutier: w/o doing anything [21:50] <Company> LeRoutier: filesink just saves data to a file regardless of format [21:50] <LeRoutier> ok, so it transforms nothing [21:50] <Company> LeRoutier: an autoplugger knows this so it plugs directly [21:50] <Company> since you didn't specify filtered caps [21:51] <LeRoutier> are all current spider issue written somewhere ? [21:51] <mathrick> dolphy: if you had autoplugger that makes v4l2src ! fakesink encoding pipeline, it'd be truly hell's invention ;P [21:51] <Company> "it does not know what an event is" is pretty much the only issue [21:51] <Company> "it does not know when it cannot autoplug" is the only other one i know of [21:52] <mathrick> Company: "it does not know when *not* to take shortest path" ? [21:52] <mathrick> Company: what does spider do with events? [21:52] <Company> mathrick: foreward them [21:53] <mathrick> Company: is that bad? [21:53] <Company> mathrick: and yeah, the shortest path issue [21:53] <Company> mathrick: for new_media events it is [21:53] <mathrick> Company: what is new_media? [21:53] <Company> it does not do error handling [21:53] <Company> mathrick: new media [21:53] <mathrick> Company: like location change in filesrc? [21:54] <Company> yeah [21:54] <mathrick> Company: so it needs to be replugged manually? [21:55] <Company> yes [21:56] <LeRoutier> Company, saw BBB changes about gst-typefind mpg detection ? [21:56] <Company> LeRoutier: haven't looked at it yet, but i'm glad i can blame him now :) [21:56] <dolphy> Company: yeah but we would surely set filtered caps [21:56] <dolphy> Company: to tell the format we want [21:57] <mathrick> Company: and what about not knowing when it cannot autoplug? What exactly is the issue? [21:57] <Company> dolphy: that would work [21:57] <wheels> Heh, this is really funny. There's someone going on a C / Glib / GStreamer sucks rant in #kde-devel. It's very entertaining. [21:57] <dolphy> Company: any idea why g-s-r is not using that ? [21:57] <LeRoutier> was the problem i had yesterday with gst-typefind complaining of some of my mpg files. there were 3 issues. one with mpg1 system stream parsing. one for mpg1 stream in mpeg2 like file and last for video stream only [21:58] <Company> mathrick: it didn't ever opccur to the writer of the elements that there are formats gst can't plug [21:58] <mathrick> Company: so what does it do when it can't plug them? [21:59] <Company> mathrick: trying to use the next buffer [22:00] <mathrick> Company: ahh, so it sucks everything eventually [22:01] <mathrick> wheels: marcd? isn't he the one who made that fuss about GStreamer on xdg-list? [22:01] <Company> apart from that it's missing some functionality in gstreamer to do that, but that's a different matter ;) [22:02] <wheels> mathrick: Hmm, I hadn't thought of that connection (checking...) [22:04] <wheels> mathrick: Hmm, appears to be. Though I wouldn't have guessed it -- he must be a German living in the US (German by name, US by IP) [22:04] <markov> wheels: arklinux developer [22:05] <mathrick> markov: then he's the one [22:05] <wheels> markov: Yeah, he flamed a lot on the xdg list when GStreamer talked about moving the repository. [22:05] <dolphy> http://getcontrol.sourceforge.net/files/gstplay_pipeline.png [22:06] <dolphy> that's the pipeline i m implementing in gstplay now [22:06] <dolphy> should handle visualization correctly [22:08] Action: Company still doesn't get why KDE zealots use Linux [22:08] <Company> after all it's written in C [22:08] <markov> *sigh* [22:09] <wheels> Company: Well, and they can't seem to understand the difference between "I prefer C++" and "everything ever written in C sucks and should be destroyed" :-) [22:10] <mathrick> <reduz> marcd: also, what happened with gnome-os? I remember the gnome guys at some point wanted to do a gnome OS, seems the idea died pretty fast [22:10] <mathrick> huh? [22:10] <Company> it's called project utopia nowadays [22:10] <Company> ; [22:10] <Company> ;) [22:10] <wheels> mathrick: (It's worth noting that reduz actually has done quite a bit of Gtk stuff.) [22:11] <mathrick> wheels: but I ask rather about that gnome-os [22:11] mariano ([email protected]) joined #gstreamer. [22:11] <mathrick> wheels: sounds totally sick [22:11] <Company> nah [22:11] <Company> writing GOSDriver objects sounds cool :) [22:11] <wheels> Heh -- now this is funny -- [22:11] <wheels> "[22:11:33] <reduz> marcd: heh yeah wait until they start using corba in the kernel" :-) [22:12] <mariano> I keep getting build errors in gstreamer/docs/manual because the makefile wants to pass a -V option to jw which apparently it does not like. What is it supposed to do? [22:12] <Company> mariano: you should file a bug report and/or bug thomasvs [22:12] <LeRoutier> hum, saw that very same report yesterday or two days ago i think [22:12] sub_pop ([email protected]) left #gstreamer ("Client exiting"). [22:13] <mathrick> LeRoutier: it was me probably :) [22:13] <mariano> ok, thanks [22:13] <mathrick> mariano: do clean checkout to empty dir [22:13] <mathrick> mariano: it's probably intltool migration bug [22:13] <mathrick> mariano: did apt-get dist-upgrade recently? [22:13] <LeRoutier> mathrick, doesn't seem to be the OrigTree thingy you had [22:14] <mathrick> LeRoutier: hmm, right [22:14] <mariano> mathrick: not all of us are on apt-get, you know ;) [22:14] <dilinger> wheels: didn't someone do a kernel based ORB at some point? [22:14] <mathrick> mariano: yea, I heard rumours like that, but didn't believe ;) [22:14] <mathrick> dilinger: yep [22:15] swen|afk ([email protected]) left irc: "Client Exiting" [22:15] Action: Company would like to start a gnome-vs-kde flamewar in #kde-devel now [22:15] <markov> omg [22:15] <Company> but i'm not that mean [22:15] <wheels> Company: You missed the best parts of it. [22:15] <mathrick> Company: they did that for you ;) [22:16] <Company> they're just making lame jokes [22:16] <mathrick> Company: marcd seems pretty serious :) [22:16] <Company> yeah [22:16] <wheels> Company: the lame jokes are standard fare -- heck -- we all do that, but this marcd guy is pure fun. :-) [22:16] <Company> he's seriously making lame jokes [22:16] ct_ ([email protected]) left irc: "Client exiting" [22:17] <mathrick> Company: you should have remembered him from xdg-list, he's not the type of "Gnome jokes" guy :) [22:17] <wheels> Company: My favorites include stuff like "If KDE uses GStreamer..." logically leads to "Qt will be a GTK wrapper in 5 years and then the GNOMEs will kill KDE" [22:17] <Company> gtkmm is much better than qt anyway, did i mention that ;p [22:18] <Company> kde doesn't have c bindings, ha! [22:18] <mathrick> wheels: maybe someone should tell him that new Qt, and aRts use glib? ;) [22:18] <mathrick> Company: AFAIK, it has [22:18] <mathrick> Company: at least, some of them [22:18] <Company> mathrick: shit [22:18] <mathrick> Company: sorry ;) [22:18] <wheels> Company: yeah, it does [22:19] <wheels> mathrick: and there it's only done as a plugin using ATK [22:19] <Company> isn't atk glib based? [22:19] <mathrick> wheels: that leads logically to replacing Qt with GTK mainloop, doesn't it? ;) [22:19] <wheels> Company: yes [22:19] <Company> oops [22:19] <mariano> mathrick: using intltool HEAD and a clean check out does not help :/ [22:19] <wheels> mathrick: obviously, and then my friend, KDE will die. :-) [22:20] <Company> does atk use GObject? [22:20] <wheels> Company: no idea [22:20] <mathrick> Company: yes [22:20] <Company> ok, argument ended [22:20] <mathrick> Company: it's pure GObject interfaces :) [22:21] muesli ([email protected]) joined #gstreamer. [22:21] <mathrick> mariano: lemme grep the logs [22:21] <Company> weeha [22:21] <wheels> hi muesli -- we're enjoying the view from in here :-) [22:21] <Company> that solves a lot of problems [22:22] <muesli> hey wheels :-) [22:22] <Company> that's lame [22:22] <Company> spies in here [22:22] <wheels> Company: Dude, we'll be killing GNOME anytime now. [22:22] <Company> so i need to stop making lame jokes and appear diplomatically [22:23] <Company> yeah, what do i care, i just want gst in kde :p [22:23] <Company> it's called the GSchlieffenPlan [22:23] Action: wheels guesses he must have finally qualified as not being a spy or something. :-) [22:24] <Company> I should bring up GSchlieffenPlan on slashdot [22:24] <Company> brings me instant victory by godwins law [22:25] <mathrick> Company: :) [22:25] <wheels> Company: Oh, and on the gtkmm issue: http://www.telegraph-road.org/writings/why.html [22:25] <mathrick> mariano: sorry, no solution popped up yet, at least not in my logs [22:25] <mariano> I'm just removing the docs from the build :/ [22:26] <mariano> is this in bugzilla already or should I? [22:26] <mathrick> mariano: ./configure --disable-docs should help for now [22:26] <mathrick> mariano: and it's already in bzilla [22:26] <mariano> mathrick: yeah, that's what I do [22:27] <Company> --disable-docs-build [22:27] <LeRoutier> mathrick, /home/leroutier/.xchat2/xchatlogs/FreeNode-#gstreamer.log:jan 22 17:39:59 <teleyinex> <teleyinex> Usage: jw [<options>] <sgml_file> [22:28] <mathrick> LeRoutier: already grepped that, like ages ago ;P [22:28] <mariano> the problem is a -V option passed to jw [22:29] <mariano> -V '%use-id-as-filename%' in fact [22:29] <LeRoutier> seems teleyinex had the very same problem yesterday but i don't think he did the bug report has thomasvs asked him [22:31] <Company> wheels: do you know why inti was dropped in favour of gtkmm? [22:33] <wheels> Company: I think I remember hearing some explanations at one point, but that was long ago. [22:34] <Uraeus> lack of development was the fall of inti :) [22:34] <Uraeus> and gtkmm was around much before Inti [22:34] Nick change: jimmy_dean_ -> jimmy_dean [22:35] <Uraeus> actually there was a guy who ressurected Inti not long ago, but I never saw any apps adopt it [22:35] <wheels> Uraeus: Ah, yes, that being a powerful thing (lack of development). :-) [22:35] ChriHJW ([email protected]) joined #gstreamer. [22:36] <Company> KDE will die the same way [22:36] <Company> there's only 95 people in #kde-devel whiule there's 121 in #gnome-hackers [22:36] <Company> we win! [22:36] <wheels> Company: Yeah, we have no chance on Hurd. Once it takes over it's GNOME all the way. [22:36] <Company> and that too [22:37] <Company> go hurd [22:37] <Company> hurd is actually gnome version 2, they even bumped the first letter from G to H to reflect that [22:38] <Company> hlib and htk+ rule [22:38] <dolphy> lol [22:38] <wheels> After that it will be T? [22:38] <wheels> Turd 3.0? [22:38] <Company> though the gimp guys are not sure if they want to switch the name to himp or hemp [22:38] Action: Company has seen too much jay and silent bob [22:38] <mathrick> probably hrmpf [22:39] <markov> lol [22:39] <Uraeus> who cares about C vs C++, in 2 years we will all be using C# anyway [22:40] <Company> hnu raphics manipulation program facility? [22:40] <Company> or should they name it "hui" for "hui unix is (young padawan)" ? [22:40] <Company> ? [22:40] <Uraeus> and at that point disucssing what is better of C and C++ is just as interesting as discussing Cobol vs Fortran today :) [22:41] <mathrick> Uraeus: i still can't imagine doing OS in C# [22:42] Action: wheels goes back to writing some C. :-) [22:42] <Uraeus> mathrick: well I still remember people when I was young who said you couldn't do anything serious except in assembly :) [22:43] <wheels> Though I must admit today, while doing some C stuff, I was really hurting for a std::vector. :-) [22:43] <mathrick> Uraeus: I have people on my year that think MS-DOS is great devel environment ;) [22:44] <Uraeus> I noticed Lypanov is doing some Ruby hacking currently [22:44] <wheels> Uraeus: yeah, he's a Ruby zealot :-) [22:44] <Uraeus> good thing we have GStreamer Ruby bindings then :) [22:44] Action: wheels likes to refer to Ruby as the Gentoo of programming languages. It has no users, just zealots. :-) [22:45] walters ([email protected]) joined #gstreamer. [22:45] <LeRoutier> Uraeus, well, assembly was mandatory when whe had < 5MHz processors if we wanted something that worked [22:45] <mathrick> wheels: i'ts because they have constant inferiority complex towards Python guys ;) [22:45] <Uraeus> hi walters [22:45] <Company> assembler is still useful [22:45] <mathrick> yo walters [22:45] <mathrick> Company: noone says it isn't :) [22:45] Action: Company compares mplayer to gst speeds [22:45] <walters> hey [22:46] <wheels> mathrick: I'm a Perl man myself. :-) [22:46] <LeRoutier> perlish guy too here [22:46] <Uraeus> wheels: perl? you just lost our respect :) [22:46] Company ([email protected]) left irc: Remote closed the connection [22:46] <apoc> walters: hi ... did you have a look to the replaygain patch for rb ? [22:46] <LeRoutier> i love the "no memory management" part [22:46] <wheels> Uraeus: Hey, I even wrote some Perl stuff for Gst at one point to convert from the old plugin API to the new. :-) [22:47] <Uraeus> wheels: Eric Raymond is a perl guy, that should be a clear sign to keep away from it :) [22:47] <walters> apoc: not yet...will do that in just a few minutes :) [22:47] <wheels> Uraeus: Yeah, what he's written 5 lines of that too? [22:48] <wheels> Uraeus: He must be a hacker! [22:48] Company ([email protected]) joined #gstreamer. [22:48] <Uraeus> wheels is a Eric Raymond wannabe nanannanaanaa [22:49] <wheels> Uraeus: Yeah, well, you suck and GNOME is dying! :-) [22:49] ChrisHJW ([email protected]) left irc: Connection timed out [22:50] <walters> apoc: looks good [22:50] <Uraeus> wheels: ok dude you and me outside in 10 minutes, lets settle this mano un mano :) [22:51] <wheels> Uraeus: Ok, I'll meet you there and I'm bringing the entire staff of TT. :-) [22:51] <mathrick> wheels: does KDE stand for Kill Destroy Eradicate ? :) [22:51] <walters> apoc: are you the author? [22:51] <mathrick> wheels: TT? [22:52] <mathrick> wheels: Tele Tubbies? [22:52] <wheels> mathrick: Yes, but I'll have to kill you now that you know. [22:52] <wheels> mathrick: Trolltech [22:52] <wheels> mathrick: Also in Oslo... [22:52] Action: mathrick likes Tele Tubbies better [22:52] <wheels> mathrick: Well, I suppose a couple of them could whoop Uraeus too. :-) [22:52] <Uraeus> wheels: I met those TrollTech guys a couple of times, I can take em all out easily, they just lazy computer nerds :) [22:52] <LeRoutier> mathrick, too bad they have those sexual toys on their heads [22:53] <LeRoutier> (TeleTubbies, not TrollTek guys) [22:53] Action: mathrick doesn't dare to think where are troll's sexual toys located [22:54] <wheels> mathrick: That explains the line of ladies running down the street. :-) [22:55] <wheels> Ah... Desktop wars can be fun when taken lightly. It's always just so amusing when guys start them off that haven't contributed anything to any of them... [22:55] <mathrick> OK, desktop war's over, anyone into vi vs. emacs? :) [22:55] <apoc> walters: yep [22:56] Action: wheels rewrites Gst in lisp. [22:56] <walters> apoc: awesome. good work [22:56] <apoc> walters: thx :) [22:57] <mathrick> wheels: too bad we did that already today when discussing tags ;P [22:57] <mathrick> wheels: all that's left is to write SQL engine for Gst :) [22:57] <walters> apoc: * committed [email protected]/rhythmbox--main--0.7--patch-37 [22:57] <walters> apoc: thank you! [22:58] <wheels> walters: is RB going into 2.6? [22:58] <Uraeus> wheels: give me the email address to they guys flaming on kde-devel, and I will send a mail to RMS saying that thay said 'linux' instead of 'GNU/linux' should keep em occupied for a while [22:58] <wheels> Uraeus: Well, as was said -- it was the same guy from the xdg list. [22:58] <walters> wheels: we decided to release independently [22:59] <Uraeus> walters: according to Murray's mail of today so is the issue still undecided [22:59] <apoc> walters: cool :) thx [22:59] ChriHJW ([email protected]) left irc: Connection timed out [23:00] <Uraeus> what is the situation in regards to seeking? is it still broken? [23:00] <wheels> Uraeus: (i.e. it's not actually a KDE guy -- or rather he's never written any KDE code.) [23:00] Misirlou ([email protected]) left irc: Read error: 104 (Connection reset by peer) [23:01] <walters> Uraeus: well, i think most of the opinion weight on the gnome release team side was against [23:01] <walters> Uraeus: plus, i'm not sure we can get Rhythmbox in a state i'd consider ready by the 2.6 date [23:01] Misirlou ([email protected]) joined #gstreamer. [23:02] <Uraeus> wheels: well I am glad you have him then, in GNOME we have enough with oGalaxyo,so you need one of those really annoying types too :) [23:02] <wheels> Uraeus: Hmm, I think I've seen him on some channel at some point... [23:03] <Uraeus> wheels: well he posts on almost every gnomedesktop, osnews or slashdot story about gnome :) [23:05] <hadley> didnt oGalaxyo go the way of KDE, I remember him making fun of gnome for the last two weeks (a few months ago) [23:06] <Uraeus> hadley: sadly no, we have tried to get him to switch many times so we be rid of him, but he always comes back [23:06] <ncm> Eric Raymond is a Python zealot now. [23:06] <wheels> hah [23:06] <wheels> Uraeus: Now who's an ESR wannbe? :-) [23:07] <Uraeus> wheels: well seems some wisdom can be found in the most unlikely of places :) [23:09] <Uraeus> http://rahga.com/ggsvg/postmodern2.png <- All SVG (I am a SVG zealot :) [23:14] <LeRoutier> good night ppl [23:14] LeRoutier ([email protected]) left irc: "Leaving" [23:17] <Uraeus> gstreamer 4.1.2 ?? [23:17] sxpert_ ([email protected]) joined #gstreamer. [23:17] sxpert ([email protected]) left irc: Connection timed out [23:17] mariano ([email protected]) left irc: Remote closed the connection [23:18] Nick change: sxpert_ -> sxpert [23:19] muesli ([email protected]) left #gstreamer ("Konversation terminated!"). [23:20] jimmy_dean ([email protected]) left irc: "Carrier Signal Lost" [23:21] jaiserca ([email protected]) joined #gstreamer. [23:21] Mat_ ([email protected]) joined #gstreamer. [23:22] <mathrick> Uraeus: what about gst 4.1.2? [23:22] <Uraeus> when I do make dist I get gstreamer-4.1.2 currently [23:23] <mathrick> Uraeus: wow, how much do we rock by 4.1.2 time? :) [23:23] <mathrick> Uraeus: try to steal most interesting code parts ;) [23:24] <Uraeus> more SVG beauty: http://rahga.com/ggsvg/gnomine.png [23:37] Mat_ ([email protected]) left #gstreamer. [23:49] Mat_ ([email protected]) joined #gstreamer. [23:49] ncm ([email protected]) left #gstreamer. [23:52] <taaz> Uraeus: do we have a SVG gst logo? [23:52] hallibaby ([email protected]) left irc: "Bye bye" [23:52] <mathrick> taaz: jimmac had one in his dir, IIRC [23:53] <Uraeus> taaz: I think we have one in PS somewhere which i guess can be converted [23:53] Action: taaz still wishes sodipodi could draw circles [23:54] <Uraeus> taaz: think there is a circle tool in inkscape [23:55] <taaz> not in 0.36-pre0 [23:55] <taaz> they both do this arc emulation of a circle [23:56] <taaz> which is clearly not a <circle> and renders like ass with librsvg [23:56] <alley_cat> create a rectangle with roundness factor x 1 and y 1 [23:56] <alley_cat> then you get circles/ellipses [23:56] <taaz> that's not a <circle> either [23:57] <taaz> they just don't support the basic SVG shapes [00:00] --- Sat Jan 24 2004 [00:00] <ds-work> thomasvs: around? [00:02] <mathrick> ds-work: thomasvs said something about snowboarding for weekend, not sure if he left already [00:03] Action: ds-work grumbles [00:03] <ds-work> we need to freeze [00:06] Mat_ ([email protected]) left #gstreamer. [00:09] trow ([email protected]) left irc: "Leaving" [00:10] <dolphy> what's the best way to calculate a custom modeline for a video projector these days ? [00:12] <mathrick> dolphy: do projectors even have custom modelines? [00:12] <mathrick> dolphy: I think they're supposed to be used ONLY at preset settings, don't they? [00:16] mxpxpod ([email protected]) joined #gstreamer. [00:17] walters ([email protected]) left irc: "bbl" [00:21] jowenn ([email protected]) joined #gstreamer. [00:21] <jowenn> hi [00:21] Uraeus ([email protected]) left irc: "Client exiting" [00:21] <ds-work> moo [00:22] <markov> yoyo jowenn [00:23] markov ([email protected]) left irc: "nite" [00:25] <ds-work> rb does weird things now when I pause it for a long time [00:32] apoc ([email protected]) left irc: "Leaving" [00:32] <dolphy> mathrick: hmm they give some settings on the doc [00:32] <dolphy> mathrick: but that's not a valid modeline [00:33] <dolphy> mathrick: so i need to create a custom modeline out of their specs [00:33] <mathrick> dolphy: i think you shouldn't mess too much, these projectors' lamps are really sensitive [00:34] <mathrick> dolphy: doesn't it just figure that from video signal? [00:39] <dolphy> mathrick: the ddc probe of X returns 1024*768 as maximal resolution [00:40] <dolphy> mathrick: but the manual tells it can do 1280x720 [00:41] <mathrick> dolphy: duh, there were some utils for that, lemme search [00:41] <dolphy> mathrick: i now have a modeline i calculated with videogen [00:42] <dolphy> mathrick: but X tells : Mode 1280x720 is out of range. Valid modes must be between 320x200-1024x768 [00:42] <mathrick> dolphy: ah, that's probably what I was thinking about :) [00:42] <mathrick> dolphy: disable DDC maybe? [00:42] <dolphy> mathrick: maybe there's a way to disable ddc module :) so th [00:42] <dolphy> mathrick: yeah :) [00:42] <dolphy> mathrick: you know if that's possible ? [00:42] <mathrick> dolphy: either tha'ts an option or module [00:44] <mathrick> dolphy: it's a module, called surprisingly enough "ddc" :) [00:44] Miko5881 ([email protected]) joined #gstreamer. [00:44] <mathrick> dolphy: just comment out it's Load line [00:44] <mathrick> s/it's/its/ [00:45] somex1 ([email protected]) left irc: "Download Gaim: http://gaim.sourceforge.net/" [00:51] <dolphy> mathrick: nope [00:51] <dolphy> mathrick: better using Option "NoDDC" in Device [00:52] jowenn ([email protected]) left irc: Read error: 113 (No route to host) [00:52] jrmarkle ([email protected]) joined #gstreamer. [00:52] <mathrick> dolphy: may be, but it wasn't listed in man XF86Config-4 [00:54] <jrmarkle> hello everyone [00:55] <jrmarkle> is there anyone around that I can ask some questions about a possible gstreamer app? [00:57] <mathrick> jrmarkle: you can try bugging ds-work, dolphy, or Company. Someone should be around / awake [00:57] <mathrick> nite guys [00:58] <ds-work> jrmarkle: just ask questions [00:58] Nick change: mathrick -> mathrick|sleep [00:58] <jrmarkle> ok cool [00:58] <jrmarkle> basically the project involves streaming lots of data quickly, on the fly [00:59] <jrmarkle> i need to take raw video data from a server, scale it down and stream it out [01:00] <jrmarkle> as fast as possible, likely uncompressed or close to it (bandwidth is not an issue) [01:00] <dolphy> jrmarkle: raw video from a file ? [01:01] <jrmarkle> if I wrote a source module for gstreamer, would that enable me to stream it to clients over ip? [01:01] <jrmarkle> yes raw video stored on disk in possibly many files [01:01] <ds-work> yes [01:01] <ds-work> depending on the protocol, there might already be a net sink [01:02] <jrmarkle> i read on the web site that there is a udp sink [01:02] thaytan ([email protected]) joined #gstreamer. [01:02] <ds-work> and a tcp sink [01:02] <jrmarkle> would that require a special client? [01:02] <ds-work> define special [01:02] <jrmarkle> it would be preferable to be able to view the stream with mplayer or xine (or windows media player) [01:02] <ds-work> what client do you want to use? [01:03] <jrmarkle> something standard at least [01:03] <ds-work> you probably want something like rtp [01:03] <jrmarkle> yes [01:03] <ds-work> we don't have particularly good rtp support [01:04] <ds-work> just because nobody fully works on the problem [01:04] <jrmarkle> what is the transport protocol if the udp or tcp sink is used? [01:05] <ds-work> it's basically raw [01:05] <jrmarkle> raw rgb? [01:05] <ds-work> which isn't good for raw video/audio, but is ok for mpeg [01:05] hallibaby ([email protected]) joined #gstreamer. [01:05] Nick change: Jara[zZ] -> Jaramir [01:05] <ds-work> no, it's just a gstreamer stream pushed out onto the network with no encapsulation [01:05] hallibaby ([email protected]) left irc: Client Quit [01:06] <jrmarkle> ok so gstreamer would need to be running on the client with a udp 'source' then? [01:07] <ds-work> I'd only use udpsink/udpsrc for proof of concept [01:07] <ds-work> real applications should use encapsulation like RTP [01:08] <dolphy> yup we will work on that soon [01:08] <ds-work> some streaming radio is done with the equivalent of tcpsink/tcpsrc (i.e., it's standard) [01:08] <jrmarkle> so gstreamer is not particularly geared toward streaming over networks at this point? [01:09] <ds-work> it is, just nobody has written the specific plugins [01:09] <ds-work> and the plugins that exist are, uh, limited [01:10] <jrmarkle> how much work do you think needs done? I am looking at a 2 month timeframe for this project [01:11] <ds-work> basically, you would either have to write a rtpsink or fix the existing one [01:11] <ds-work> I don't exactly know what condition it's in [01:11] <jrmarkle> also I was considering the possibility of using Darwin Streaming Server for handling RTSP sessions and RTP packetization. do you think gstreamer could work in that kind of solution [01:12] <ds-work> and I don't know how complicated rtp is [01:12] <jrmarkle> sounds like I should take a look at that module. is it in the source distribution? [01:12] <ds-work> don't know how you'd make it fit in [01:12] <dolphy> jrmarkle: rtp support is at first stage [01:13] <jrmarkle> me either :( [01:13] <dolphy> jrmarkle: i m planning to work on that [01:13] <dolphy> jrmarkle: implemeting a payload autoplugger [01:13] <dolphy> jrmarkle: but i won't start before beginning of march though [01:13] <jrmarkle> dolphy: what does first stage imply? [01:15] <dolphy> jrmarkle: it currently does not implement any payload iirc [01:15] <dolphy> jrmarkle: so it s not usable at that stage [01:16] <jrmarkle> ok I will take a look at the code to see what's there [01:16] <jrmarkle> thanks for the insight, folks [01:17] jrmarkle ([email protected]) left irc: [01:25] Marsupilami23 ([email protected]) left irc: "I don't wanna grow up, I'm a Toys R Us Kid. There's a million toys at Toys R Us that I can play with!" [01:26] Action: dolphy looks at the XvMC output plugin in xine [01:29] Marsupilami23 ([email protected]) joined #gstreamer. [01:30] hadley ([email protected]) left irc: Read error: 104 (Connection reset by peer) [01:35] dolphy ([email protected]) left irc: "Network down, IP Packets delivered via UPS" [01:43] jeroen_ ([email protected]) left irc: "Client exiting" [02:02] foser ([email protected]) left irc: "[ I want to believe ]" [02:34] <mxpxpod> when I go to build gst-plugins HEAD, I get this error: [02:34] <mxpxpod> gstalsa.c: In function `gst_alsa_set_params': [02:34] <mxpxpod> gstalsa.c:1099: too few arguments to function `snd_pcm_hw_params_get_channels' [02:34] <mxpxpod> gstalsa.c:1143: too few arguments to function `snd_pcm_hw_params_get_rate' [02:34] <mxpxpod> gstalsa.c:1145: too few arguments to function `snd_pcm_hw_params_get_format' [02:34] <mxpxpod> gstalsa.c:1147: too few arguments to function `snd_pcm_hw_params_get_periods' [02:34] <mxpxpod> gstalsa.c:1149: too few arguments to function `snd_pcm_hw_params_get_period_size' [02:34] <mxpxpod> gstalsa.c:1151: too few arguments to function `snd_pcm_hw_params_get_buffer_size' [02:34] <mxpxpod> gstalsa.c:1196: too few arguments to function `snd_pcm_hw_params_get_access' [02:34] <mxpxpod> make[3]: *** [libgstalsa_la-gstalsa.lo] Error 1 [02:35] <mxpxpod> anyone know anything about that? [02:36] <wheels> mxpxpod: probably a mismatch in the version of the alsa headers that you've got [02:37] <mxpxpod> wheels: ah, ok [02:37] <wheels> mxpxpod: an old alsa version I assume? [02:37] <mxpxpod> wheels: makes sense... I've got alsa from kernel 2.6.2 and the alsa 1.0.1 utilities [02:37] <wheels> mxpxpod: ah, a very new one :-) [02:38] <wheels> mxpxpod: Yeah, you might report that as a bug -- I don't think many folks are testing 2.6 yet. [02:38] <mxpxpod> wheels: oh, ok [02:40] Nick change: Jaramir -> Jara[zZ] [02:40] Nick change: Jara[zZ] -> Jaramir [02:43] Nick change: Jaramir -> Jara[zZ] [02:43] Nick change: Jara[zZ] -> Jaramir [02:45] harshy ([email protected]) joined #gstreamer. ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn