IRC Logs

IRC <[email protected]>
Newsgroups gmane.comp.video.gstreamer.daily
Message-ID <[email protected]>
*******************************************************************
[03:00] <Company> pkg-config is so desktop
[03:01] <walters> 2004-01-11  David Schleef,,,  <set EMAIL_ADDRESS environment variable>
[03:01] <walters> 	* gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
[03:01] <walters> 	a function to parse integers in ways that strto[u]l() does not.
[03:01] <walters> heh
[03:01] <ds-work> that wasn't the greatest changelog entry, was it
[03:01] <Company> set EMAIL_ADDRESS environment variable?
[03:01] <ds-work> that's prepareChangeLog.pl's default
[03:02] <Company> i know
[03:02] <ds-work> I never bothered to fix it
[03:03] <LeRoutier> good night guys
[03:03] LeRoutier ([email protected]) left irc: "Leaving"
[03:04] <Company> can someone cvs up the plugins now to see if my commit broke something?
[03:04] <ds-work> in a minute
[03:04] <ds-work> I'm compiling with a modified GstData to check for more uses of free
[03:06] Nick change: md[tm] -> md`
[03:07] Action: ds-work wishes fcrackzip would hurry up and finish so that he could get a CPU back
[03:08] <Company> fcrackzip?
[03:08] <ds-work> cracks zip passwords
[03:09] <Company> ah
[03:10] <Company> you shouldn't forget your passwords maybe
[03:10] <ds-work> I'll try to remember other people's passwords, too
[03:10] <ds-work> I certainly wouldn't use something that can be cracked as easily as ZIP
[03:13] <Company> we should get rid of audio in 0.9
[03:13] <Company> s/audio/gst_buffer_new_and_alloc/
[03:13] Action: Company shouldn't think about sth and write about sth different add the same time
[03:13] Action: Company shouldn't think about sth and write about sth different at the same time
[03:13] <ds-work> ah, hell, why not get rid of audio, too?
[03:13] <Company> man
[03:14] <Company> i was thinking about if i want to hack on rb, autoplugging or A/V sync next
[03:14] <ds-work> it is useful in some cases
[03:15] <ds-work> GstDebugPlug will catch cases where the element should be using gst_pad_alloc_buffer()
[03:15] <ds-work> if it ever gets written :)
[03:16] <ds-work> gst-sandbox/gst-newspider?
[03:16] <ds-work> gst-autoplugger?
[03:18] <Company> gstplug
[03:19] <Company> i intend to create libgstplug
[03:19] <Company> headers in gst/plug/*
[03:19] <Company> prefix gst_plug_
[03:19] <Company> autoplug is too long
[03:19] <Company> and i think it even makes sense to seperate it out
[03:19] <Company> the core doesn't need an autoplugger
[03:20] ChrisHJW ([email protected]) left irc: Read error: 110 (Connection timed out)
[03:21] <Company> we need an API addition in the core
[03:21] <ds-work> gst-plug is quite similar to gst-plugins :)
[03:21] <Company> invent a better 2-4 letter name :p
[03:21] <ds-work> it doesn't matter
[03:21] <Company> gst_ap_ prefix and gst/autoplug headers?
[03:21] <ds-work> I'm thinking of a directory name, no more
[03:22] <Company> i'm gonna make that a seperate project btw
[03:22] <ds-work> that's why it's in sandbox
[03:22] <Company> yeah
[03:23] <Company> we can move it manually afterwards
[03:23] <Company> but i don'T want it in the core
[03:24] <Company> I want a gst_element_no_more_pads
[03:24] <Company> which triggers a signal
[03:24] <Company> that i can connect to
[03:24] <ds-work> that's not reasonable
[03:24] Miko5881 ([email protected]) left irc: "ChatZilla 0.8.31 [Mozilla rv:1.4/20030928]"
[03:25] <ds-work> DVD streams can have new streams minutes into a DVD
[03:25] <ds-work> subtitle streams don't start until the first subtitle
[03:25] <Company> I want a gst_element_no_more_pads_from_template ?
[03:26] <Company> the autoplugger needs to know when he can't connect something
[03:26] <Company> or we'll never get visualisation for AAC in gst-player
[03:27] <ds-work> well, we can have it for everything except mpeg
[03:27] <Company> yeah
[03:27] <Company> mpeg doesn't need to fire the signal
[03:27] <Company> though it should
[03:27] <ds-work> what about "more pads unlikely"?
[03:28] <Company> uhm
[03:28] <Company> i'm not sure
[03:28] <Company> if the autoplugger handles it as "no more pads" anyway, the name doesn't matter in the end ;)
[03:29] <Company> no more pads means that no more pads are expected until the next new-media
[03:29] <Company> so maybe we could just fire a new-media event in the mpeg case?
[03:29] <ds-work> that's ugly
[03:29] <Company> i don't know that much about mpeg...
[03:30] <Company> mpeg can have a new stream anywhere in the file?
[03:30] <ds-work> yup
[03:30] <Company> isn't there a header somewhere?
[03:30] <ds-work> nope
[03:30] <ds-work> element streams are predefined
[03:31] <Company> what are "element streams" and what's the difference to the other ones?
[03:32] <ds-work> element streams are components of system streams
[03:32] <ds-work> there are ~32 codes for element
[03:32] <ds-work> streams
[03:32] <ds-work> ~10 video ~16 audio, a few private, and a padding stream
[03:33] <ds-work> one could scan the first minute or so for stream headers, I suppose
[03:34] <Company> the point is that checking $dir for files that contain video and/or audio is a common operation
[03:34] <Company> so the autoplugger needs to say "hey this is such a file" without reading 700MB of data
[03:35] <Company> currently spider doesn't offer such a thing
[03:35] <ds-work> that's hard to do for MPEG :)
[03:35] <ds-work> in general
[03:35] <Company> yeah
[03:36] <ds-work> however, most of the time, you'll get audio and video streams in the first few packets
[03:36] <ds-work> add the signal
[03:36] <Company> we can use no-more-pads-expected or whatever
[03:36] <ds-work> we can fix it in 0.9 if it sucks
[03:37] <Company> with or without the template parameter?
[03:37] <ds-work> without
[03:37] <ds-work> I don't see how the pad template is interesting
[03:37] <ds-work> it doesn't help MPEG
[03:38] <Company> ok
[03:38] <Company> we need to think about concatenated streams anyway
[03:38] <Company> 0.8 can't do that
[03:38] <ds-work> we're distressingly close to it, though
[03:39] <Company> dunno
[03:39] <ds-work> except for spider, of course
[03:39] <Company> we need a seek event
[03:39] <Company> for example
[03:40] <Company> that allows seeking in a tarred tarball with cdrom images
[03:40] <Company> that allows seeking in a tarred tarball with audio cdrom images
[03:41] <ds-work> we'd need some kind of heirarchical chapter seeking
[03:42] <Company> yup
[03:42] <Company> some kind of
[03:43] <Company> it'd be required for rb to transparently do audio cds
[03:44] <Company> because rb needs to get rid of the one track == one file idea
[03:45] <Company> i shouldn't tell that to walters though, he'll freak out probably ;)
[03:45] sub_pop ([email protected]) left irc: "Client exiting"
[03:46] <ds-work> gstcacasink.c:245: warning: implicit declaration of function `gst_video_sink_got_video_size'
[03:46] <ds-work> gstcacasink.c: In function `gst_cacasink_init':
[03:46] <ds-work> gstcacasink.c:270: error: `R_MASK_32_INT' undeclared (first use in this function)
[03:46] <ds-work> _somebody_ used it :)
[03:46] <walters> Company: nah, i have no problem with that.
[03:46] <walters> Company: and it doesn't have that idea hardcoded
[03:46] <walters> Company: you just have to define a URL scheme appropriately
[03:47] <Company> ds-work: caca belongs in some kind of sandbox :p
[03:47] Action: ds-work wishes people would stop using separate header files for simple elements
[03:48] <Company> seperate header files?
[03:48] <Company> ah you mean like cacasink.h and cacasink.c ?
[03:49] <ds-work> yeah
[03:49] <ds-work> not that I've ever been good at it myself
[03:49] <Company> i wish people would try to write stable code that takes all inputs when writing libraries
[03:49] <Company> insterad of the common "works for me" approach
[03:50] <ds-work> everything is a work-in-progress
[03:50] <Company> yes
[03:51] <Company> but many elements are works-for-me elements
[03:51] <Company> like v4l
[03:52] Action: ds-work comments that Company missed a bunch of plugins :)
[03:52] <Company> all in ext/ probably
[03:52] <ds-work> naturally
[03:52] <ds-work> I'll fix them
[03:53] <Company> thanks
[04:00] <Company> what really annoys me is when people invent something and don't think it to the end
[04:00] <Company> gst-mixer will give us a bad name again in 2.6
[04:01] <Company> because there's a whole bunch of regressions in there
[04:01] <ds-work> regressions compared to what?
[04:03] <Company> gnome-volume-mixer
[04:05] <Company> qtdemux still needs a lot of work
[04:05] <ds-work> yes
[04:05] <ds-work> like tags
[04:06] <ds-work> it extracts them, but doesn't do anything currently
[04:06] <Company> no, i was more talking about basics
[04:07] <Company> like the spiderman trailer
[04:07] <Company> that one has 6 tracks
[04:07] <Company> but qtdemux doesn't create a single one of them
[04:08] <Company> the first 4 are probably advertisments or title pics or whatever
[04:10] <Company> but that one has qdm2 sound and we can't decode that anyway, so i'm not interested :)
[04:14] Misirlou ([email protected]) left irc: "SHA LA LA LALAL LA"
[04:18] Misirlou ([email protected]) joined #gstreamer.
[04:20] thaytan ([email protected]) joined #gstreamer.
[04:34] <thaytan> yo yo!
[04:34] <thaytan> anyone seen steve?
[04:36] <Company> 24 hours ago, yes
[04:37] <thaytan> cool. 
[04:37] <thaytan> I'm at LCA, just trying to figure out where he might be :)
[04:37] <Company> no idea
[04:40] <Company> have fun there btw
[04:43] <thaytan> ta :)
[04:45] thaytan ([email protected]) left irc: Read error: 104 (Connection reset by peer)
[04:45] sub_pop ([email protected]) joined #gstreamer.
[04:45] <ds-work> ffmpeg scares me
[04:46] thaytan ([email protected]) joined #gstreamer.
[04:47] <Company> why?
[04:48] <ds-work> the source code, er, quality
[04:49] <Company> ah that
[04:49] <Company> but they are incredible low level hackers
[04:49] <ds-work> at least devoted low-level hackers
[04:50] <ds-work> getting something done is a good thing
[04:50] <Company> yeah
[04:51] <thaytan> who?
[04:51] <ds-work> ffmpeg developers
[04:52] <Company> i'd like to get to know Mike Melanson some more
[04:52] <Company> personality and all that
[04:52] Action: ds-work wonders why sys/glsink is never compiled
[04:53] <Company> because gernot just committed the code and said it wasn'T good enough yet
[04:53] <Company> especially because of threading
[04:53] <Company> and he was faster than I could tell him to commit it to sandbox
[04:54] <ds-work> so it should be moved to the sandbox?
[04:54] <Company> yeah
[04:55] <ds-work> need to write the auto-foo anyway, I suppose
[04:55] <Company> we should have a plugins dir in the sandbox
[04:55] <Company> so we don't always have to add that much auto-foo
[04:55] <ds-work> it's not much, only really two files
[04:56] <ds-work> what's the replacement for gst_video_sink_got_video_size()
[04:56] <Company> gst_x_overlay_got_desired_size
[04:57] <ds-work> direct replacement? or is the proto different?
[04:57] <Company> libcaca doesn't do X though
[04:57] <ds-work> unlike aasink?
[04:57] <Company> and I think they'Re equal
[04:57] <Company> i don't think it does
[04:57] <Company> does it implement the XOverlay interface?
[04:58] <ds-work> it's *possible* to support XOverlay in aasink
[04:58] <ds-work> don't know if it's interesting
[04:59] <Company> it's not possible
[04:59] <Company> the API doesn'T give you the x window id
[04:59] <Company> you'd need to copy internal headers
[05:00] <ds-work> forget that, then
[05:08] walters ([email protected]) left irc: Remote closed the connection
[05:10] walters ([email protected]) joined #gstreamer.
[05:19] Action: ds-work wrote a perl script to check in all the files in the first changelog entry
[05:39] <Company> send it to -devel
[05:39] <Company> and pray it works or we'll get problems with the checkins ;)
[05:40] <ds-work> that's why I'm _not_ sending it :)
[05:49] Marsupilami23 ([email protected]) joined #gstreamer.
[06:18] Znark ([email protected]) joined #gstreamer.
[06:36] Znark ([email protected]) left irc: "Leaving"
[06:48] sub_pop ([email protected]) left irc: "Client exiting"
[06:49] sub_pop ([email protected]) joined #gstreamer.
[07:05] mxpxpod ([email protected]) joined #gstreamer.
[07:06] ChrisHJW ([email protected]) joined #gstreamer.
[07:46] ChrisHJW ([email protected]) left irc: 
[08:09] ChrisHJW_log ([email protected]) left irc: Read error: 60 (Operation timed out)
[08:25] thaytan ([email protected]) left irc: Read error: 110 (Connection timed out)
[08:59] sublett ([email protected]) joined #gstreamer.
[09:21] swentel ([email protected]) joined #gstreamer.
[09:40] Nick change: harshy -> harshyZzZ
[09:53] Safari_Al ([email protected]) joined #gstreamer.
[09:59] kmaraas ([email protected]) left irc: "Leaving"
[10:02] rk ([email protected]) joined #gstreamer.
[10:11] sublett ([email protected]) left irc: Read error: 113 (No route to host)
[10:12] matrixise ([email protected]) joined #gstreamer.
[10:20] BBB ([email protected]) joined #gstreamer.
[10:22] thomasvz ([email protected]) left irc: Connection timed out
[10:23] <BBB> mornin' all
[10:26] dolphy ([email protected]) joined #gstreamer.
[10:26] <dolphy> morning
[10:27] <BBB> hi julien
[10:42] wheels ([email protected]) left irc: "work"
[10:43] jdahlin_ ([email protected]) joined #gstreamer.
[10:43] <dolphy> hi johan
[10:51] ack ([email protected]) joined #gstreamer.
[10:51] walters ([email protected]) left irc: "z"
[10:51] Nick change: ack -> sack
[11:02] jay ([email protected]) left irc: Read error: 110 (Connection timed out)
[11:04] Company ([email protected]) left irc: Remote closed the connection
[11:16] <dolphy> BBB: gstinfo.c: In function `gst_debug_log_valist':
[11:16] <dolphy> gstinfo.c:298: error: incompatible types in assignment
[11:17] <BBB> 298?
[11:17] Action: BBB checks
[11:17] Shoragan ([email protected]) joined #gstreamer.
[11:17] <dolphy> BBB: i don't see any errors there
[11:18] <BBB> I'll check in a second, hold on
[11:18] <dolphy> BBB: args is a va_list
[11:19] <BBB> maybe you cannot do that on all archs
[11:19] <BBB> you're not assigning a pointer but its contents
[11:20] <BBB> I think it's valid, but maybe it's not valid on all archs
[11:20] <dolphy> BBB: maybe it fails on ppc
[11:20] <BBB> it works fine here
[11:21] <BBB> try a memcpy()?
[11:24] foser ([email protected]) joined #gstreamer.
[11:25] <dolphy> BBB: it builds with a memcpy (message.arguments, args, sizeof (args));
[11:26] <BBB> ?
[11:26] <BBB> no
[11:26] <BBB> use &
[11:26] <BBB> memcpy (&message.arguments, &args, sizeof (args));
[11:26] <BBB> I think?
[11:28] <dolphy> ah yeah
[11:29] <BBB> how's the video stream server going? :)
[11:29] Action: BBB has streaming MPEG going here
[11:29] <BBB> I'm currently finishing second-accurate seeking in mpegdemux... will fix the audio issues too, then
[11:53] <dolphy> BBB: we are not working on that yet
[11:53] <dolphy> BBB: too much mess to fix in gstreamer first
[11:53] <dolphy> BBB: if we want it to stay alive
[11:54] <BBB> we won't die...
[11:55] <BBB> danb: are you from ridgerun?
[11:55] matrixise ([email protected]) left irc: "Leaving"
[11:56] <dolphy> BBB: if we can't make our way in gnome it's like dying
[11:56] <BBB> we are in gnome?
[11:56] <dolphy> BBB: lol
[11:56] <dolphy> BBB: well ask thomasvs
[11:56] <BBB> he's offline ;)
[11:56] <dolphy> BBB: he spends 10 hours per day on that
[11:56] <BBB> kick him :p
[11:57] <dolphy> BBB: nautilus-media is broken
[11:57] <BBB> I'd love to help, but I really want to get encoding going too
[11:57] <dolphy> BBB: i know
[11:57] <BBB> I personally don't want to focus on playback too much
[11:57] <dolphy> BBB: fluendo focuses on that gnome integration until end of february
[11:57] <dolphy> BBB: then we will work on the video streaming server
[11:57] <BBB> very ncie...
[11:57] <dolphy> BBB: when our asses are safe
[11:57] Action: BBB grabs some coffee
[11:58] <BBB> if I can't find a job after november, I'll apply for a job at fluendo, ok ? ;)
[11:59] <dolphy> BBB: yeah :)
[12:00] <dolphy> BBB: when you get mpeg fixed tell so that i can test dvd playback :)
[12:01] <BBB> will do...
[12:02] <BBB> but first seeking
[12:02] <BBB> that's important for me ;)
[12:12] KoRnouille ([email protected]) joined #gstreamer.
[12:15] thomasvs ([email protected]) joined #gstreamer.
[12:21] <BBB> thomasvs, I was told to ask you how bad we are w.r.t. gnome integration
[12:21] <BBB> *g*
[12:22] <BBB> i.e., in how muhc danger are we?
[12:26] <thomasvs> a lot
[12:26] <thomasvs> danger on what front, and who asked ?
[12:26] <BBB> of being kicked out of gnome, for example?
[12:27] <BBB> and I asked
[12:27] <BBB> (ask dolphy... ;) )
[12:27] <thomasvs> well, I just figured out that streaminfo is completely ifdeffed out everywhere
[12:27] <thomasvs> that means nautilus-media cannot work
[12:27] <thomasvs> we have quite some work to do
[12:28] Action: BBB will help getting media formats to playback in gst-player/totem
[12:28] <thomasvs> that too, yes :)
[12:28] <thomasvs> and right now, I'm trying to get the profiles stuff to work, but I cannot get simple pipelines to write to disk anyway
[12:28] <thomasvs> *sigh* :)
[12:29] <BBB> hm
[12:29] <thomasvs> seeing lots of simple buglets everywhere, but not sure what hte proper fixes are supposed to be
[12:29] <BBB> sinesrc failed for you, right?
[12:29] <BBB> it worked for me
[12:29] Action: BBB retries
[12:29] <BBB> I ended up with a 100meg file in a second
[12:29] <BBB> (unsynced, oops...)
[12:29] <thomasvs> for example, audioconvert has this
[12:30] <thomasvs> where it does gst_pad_get_negotiated_caps
[12:30] <thomasvs> which can return NULL, right ?
[12:30] <thomasvs> so in audioconvert link's function it does a copy of that
[12:30] iain ([email protected]) joined #gstreamer.
[12:30] <thomasvs> which fails when it's NULL
[12:30] <thomasvs> is it ok for me to return _DELAYED when the negotiated_caps are NULL ?
[12:30] <BBB> gst-launch sinesrc ! osssink
[12:30] <BBB> works for me
[12:30] <BBB> not really, audioconvert should do bidirectional capsnego
[12:31] <thomasvs> yeah, great :)
[12:31] <thomasvs> doesn't help me much here though :)
[12:31] <BBB> so one link function and one getcaps function for both pads
[12:31] <thomasvs> BBB: no, I'm saying
[12:31] <thomasvs> the code now reads
[12:31] <thomasvs> gst_caps_copy (gst_pad_get_negotiated_caps (otherpad));
[12:31] <BBB> audioconvert should never use get_negotiated_caps()
[12:31] <iain> I have an exam in 2 hours...you'd think I could find something more important to do that IRC
[12:31] <thomasvs> since get_nego can return NULL when not negotiated yet, and gst_caps_copy can never copy NULL, this is wrong
[12:31] <thomasvs> iain: procrastinate !
[12:32] <BBB> just like ffcolorspace should never return the negotiated colorspace
[12:32] <thomasvs> BBB: so I see the bug, but I don't get the proper fix
[12:32] <BBB> gst-launch sinesrc ! audioconvert ! osssink <- works too
[12:33] <BBB> works with filtered caps
[12:33] <BBB> seems it's all fine
[12:33] <BBB> what is not working for you?
[12:33] <thomasvs> none of these :)
[12:33] Action: thomasvs goes to reboot
[12:34] <thomasvs> still, if you say audioconvert can't use that function, then it's a bug if it does, no ? :)
[12:34] <BBB> gst-launch sinesrc ! audioconvert ! audio/x-raw-int,channels=2 ! esdsink <- fails
[12:34] <BBB> yes
[12:34] <BBB> or well, if it uses it incorrectly
[12:34] <BBB> it should never use it for formats it changes internally
[12:34] <BBB> it can use it for others
[12:34] <BBB> converters should do this:
[12:34] <BBB> caps = gst_pad_get_allowed_caps()
[12:35] <BBB> and then, on each structure in the caps, set the variables that I convert internally to all supported variants
[12:35] <thomasvs> hang on, need to reboot first, biab
[12:35] <BBB> so videodrop does get_allowed_caps(), and then does gst_structure_set (.., "framerate", 0, G_MAXDOUBLE);
[12:35] <BBB> and returns that
[12:35] thomasvs ([email protected]) left irc: Remote closed the connection
[12:35] <BBB> ok, bye ;)
[12:38] thomasvs ([email protected]) joined #gstreamer.
[12:44] Safari_Al ([email protected]) left irc: "Leaving"
[12:44] <thomasvs> hm, ok
[12:44] <thomasvs> so a reboot helped a little
[12:44] <thomasvs> still getting OSS errors, need to check htat right away
[12:45] <thomasvs> but I'm pretty sure that's due to a soundcard being asked to set to some value it cannot do
[12:45] <thomasvs> osssink really should somehow cache the things the card can do
[12:45] Company ([email protected]) joined #gstreamer.
[12:47] <thomasvs> Company: audioscale does a gst_caps_copy (gst_pad_get_negotiated_caps (otherpad));
[12:47] <thomasvs> but the second cna return NULL when not negotiated yet, and the first doesn't accept NULL and warns
[12:47] <thomasvs> should audioscale return _DELAYED when the second returns NULL ?
[12:49] <iain> yey, time for heading to exam
[12:49] <thomasvs> iain: good luck
[12:49] <iain> thanks :)
[12:49] <iain> back in 7 hours :/
[12:51] <Company> audioscale should be made aware of unnegotiated pads and get its caps nego rewritten for the new caps system
[12:52] <thomasvs> Company: if you make it a task explaining what to do, we can get someone on it
[12:53] <Company> it's faster to just do it myself then
[12:54] <thomasvs> unless you count the effect of having taught someone who is able to do the same for other things
[12:55] <Company> a person that'd do that would just figure that task out himself
[13:03] <Company> thomasvs: is there a new project template somewhere with gtk-doc and i18n build system already setup?
[13:03] <thomasvs> Company: not with gtk-doc, or at least not that I know of
[13:03] <thomasvs> but there are templates in the gnome-docs module in CVS
[13:03] <thomasvs> I can make one for you after I have commited my changes for this week though
[13:04] <Company> thomasvs: and without gtk-doc i'd use as-gettext?
[13:04] <thomasvs> if it works for you, yeah
[13:04] <thomasvs> I can make an as-gtk-doc one too, but it shouldn't be too hard to figure out
[13:04] <Company> thomasvs: we want to make the new autoplugger framework a seperate project
[13:05] Action: thomasvs is going to try to look at why his oss has so much trouble negoing
[13:05] <thomasvs> Company: well, if you want, I can make a template, just not this week since I really want to get the gnome stuff and the error stuff commited first
[13:05] <Company> yeah
[13:05] <Company> i'll just start without doc
[13:06] <thomasvs> I can add the gtk-doc stuff later, that's not a problem
[13:06] <Company> fine with me
[13:08] <thomasvs> hm, looks like my soundcard in oss doesn't do mono
[13:08] <thomasvs> Company: IIRC, we don't have a mechanism so that the caps of oss are narrowed to what the card can actually do, is there ?
[13:09] <thomasvs> Company: ie, oss just says "I can do everything", negos to something, then tries to set the card that way and can fail, breaking nego ?
[13:09] <Company> yeah
[13:09] <Company> there's no system inside oss to narrow the caps...
[13:10] <thomasvs> I guess I feel we should have something then that makes it possible to let oss say "from past experience, I know I can only do this"
[13:10] <thomasvs> ie, cache the possible caps
[13:10] <Company> uh
[13:10] <Company> you can only cache the impossible caps
[13:10] <Company> but you can't substract caps (yet)
[13:10] <thomasvs> why ?
[13:11] <thomasvs> (ie, only cache impossible caps)
[13:11] <Company> because you don't know what caps are possible
[13:11] <Company> you only know that some caps are possible
[13:11] <thomasvs> it's not too hard to run a few caps and see if oss accepts them, is it ?
[13:11] <thomasvs> there are more impossible caps than impossible caps
[13:12] <Company> you could probably do that, yeah
[13:12] <Company> if you wanted to limit osssink to only those (which i guess would be fine for the normal case)
[13:13] <thomasvs> ok: this fails on nego between sine and audioscale
[13:13] <thomasvs> gst-launch-0.7 --gst-debug=oss=5 sinesrc ! audio/x-raw-int,channels=1 ! audioscale ! audio/x-raw-int,channels=2 ! osssink
[13:14] <Company> audioscale can't change channels...
[13:14] <thomasvs> ah, not implemented ?
[13:14] <thomasvs> should I ?
[13:14] <Company> audioscale scales audio
[13:15] <Company> it changes the rate
[13:15] <thomasvs> ah, ok
[13:15] <Company> audioconvert changes channels
[13:15] <thomasvs> hm, then I guess the error needs to be more descriptive
[13:15] Action: thomasvs tries audioconvert
[13:15] <Company> or should do that ;)
[13:15] <thomasvs> ah, that actually works too
[13:15] <thomasvs> audioconvert is a bad name then though
[13:16] <thomasvs> even without filtering hints, it works
[13:16] <thomasvs> good good good
[13:16] <thomasvs> I'm going to change oss's warning a bit though
[13:16] <BBB> should audioscale/audioconvert be merged?
[13:16] <Company> BBB: we decided not to
[13:16] <BBB> oh... 
[13:16] Action: BBB didn't know
[13:16] <thomasvs> Company: why ?
[13:17] <Company> dunno anymore, that was when i wrote audioconvert
[13:17] <Company> i think it had something to do with rate conversion being different from these conversions
[13:18] <Company> because audioconvert converts 1 sample to 1 sample
[13:18] <thomasvs> yeah
[13:18] <thomasvs> makes sense
[13:18] <thomasvs> would be nice though to have a general "fix my sound" element
[13:18] <thomasvs> so, silly question
[13:18] <Company> in theory an autoplugger should do that
[13:19] <thomasvs> given osssrc ! ... ! vorbisenc ! filesink
[13:19] <thomasvs> where lots of caps would possibly be correct
[13:19] <thomasvs> how does gst currently settle on caps ?
[13:19] <Company> there are fixate functions
[13:19] <thomasvs> ie, does it end up at 44100/st/16, or 8000/m/8 ?
[13:19] <Company> docs/random/negotiation explains that
[13:19] <thomasvs> right.   but they can do whatever they want, as long as it gets "more fixed", no ?
[13:19] <Company> yes
[13:20] <Company> but if you care about it, you can set your own :)
[13:20] <thomasvs> so, in this case, it depends on who of vorbisenc or osssrc first gets to do some fixating ?
[13:20] <thomasvs> and then it depends on what they decide to fixate to ?
[13:20] <Company> if the user doesn't care, yes
[13:21] <Company> you can overwrite this with both filtered caps and your own fixate function
[13:21] <thomasvs> the app can give a fixate function too, right ?
[13:21] <Company> yes
[13:21] <thomasvs> but it's at the bottom to be looked at ?
[13:21] <Company> no, at the top
[13:22] <thomasvs> ah, great
[13:22] <thomasvs> hm
[13:22] Action: thomasvs ponders on how that would work in gnome sound recorder
[13:22] <Company> srcpads app fixate, sinkpads app fixate, src fixate, sink fixate, default fixate
[13:22] <thomasvs> I guess that means the app needs to use gst internals though
[13:23] <Company> gst internals?
[13:23] <thomasvs> I haven't looked at fixate functions yet, but I'm assuming if an app provides one, it has to delve inside caps and so on, which theoretically an app wouldn't need to
[13:24] <Company> g_signal_connect (pad, "fixate", fixate_function, data) isn't that internal to me
[13:24] <thomasvs> no, but the fixate function itself needs to use caps stuff
[13:24] <thomasvs> or am I missing something ?
[13:24] <Company> yes, it needs to fixate caps obviously ;)
[13:24] <thomasvs> right, that's what I mean :)
[13:25] <thomasvs> hm
[13:25] <Company> but you could just trust the elements to use sane fixate functions
[13:25] Action: thomasvs thinks about what a user wants for caps when he records
[13:25] <thomasvs> I guess the profile should hardcode the rate
[13:25] <thomasvs> ie, CD quality would be 44100 16 stereo always anyway
[13:26] Action: BBB thinks how to do that using his profile stuff
[13:27] <thomasvs> BBB: as soon as I got all the pieces in I wanted in, I can start looking at your mail and your things
[13:27] <thomasvs> BBB: sorry at being so lazy
[13:27] <BBB> it's fine
[13:27] <BBB> your stuff is for 2.6, mine is for 2.8 in the best case
[13:27] <thomasvs> BBB: I just want to secure some pieces in GNOME. the helix discussion has us worried
[13:27] <thomasvs> BBB: I *really* don't want to get gst out of gnome, that would probably kill of gst
[13:28] <thomasvs> hehe
[13:29] Action: thomasvs likes how his /usr devhelp has the stable API for everything, and his jhbuild devhelp has the unstable for everything including gst
[13:29] <Company> make sure the mixer doesn't have the "doesn't autoupdate the volume" regression anymore
[13:30] <BBB> the old mixer didn't have that either
[13:30] <BBB> do it's not a regression
[13:30] <BBB> but I'll fix it ;)
[13:32] <BBB> can we use llabs()?
[13:32] <BBB> it's a c99 function
[13:33] <Company> please fix it so that alsa can use the signal stuff
[13:33] <Company> just use it, if someone cares he'll fix it
[13:33] <BBB> will do...
[13:33] <BBB> give me some time ;)
[13:34] <Company> signal stuff == kernel signal handler (if that wasn't clear)
[13:34] Nick change: jdahlin_ -> jdahlin
[13:37] <BBB> I have gobject signals in the objects
[13:37] <BBB> we should just use them
[13:37] <BBB> it's really that simple
[13:38] <Company> uhm
[13:38] <Company> if you update your UI in a signal handler, isn't that somehow dodgy?
[13:38] <Company> (i have absolutely no clue about that)
[13:39] <thomasvs> it depends
[13:39] <thomasvs> if the update is small, it's ok if you take threading into account
[13:39] <thomasvs> otherwise, you set a boolean and return, and make the main loop pick up through for example an idler
[13:40] <Company> yeah, and that's a problem
[13:40] <Company> elements don't have a main loop
[13:40] <thomasvs> I guess I don't know what the problem is then :) this is the app's responsibility no ?
[13:40] Action: thomasvs isn't sure what the bug is about
[13:41] <thomasvs> Ronald Bultje está trabajando en un sistema de perfiles multimedia para Gstreamer. 
[13:41] <thomasvs> from es.gnome.org :)
[13:42] <Company> thomasvs: if the volume changes, the mixer tells the app something changed
[13:42] <Company> thomasvs: for alsa a signal handler is run
[13:43] <BBB> eh?
[13:43] <Company> thomasvs: what does the alsa element do in that signal handler?
[13:43] <BBB> what does that mean?
[13:43] <Company> you work on a profile system for gst
[13:43] <BBB> ah
[13:43] <BBB> Company: emit the glib signal
[13:43] <thomasvs> Company: emit the signal, which is caught by the mixer ?
[13:44] <thomasvs> can't signals be emitted from the interface ?
[13:44] <BBB> unix signals (alsa signals) interrupt the main loop and take priority
[13:44] <BBB> yes, they can
[13:44] <thomasvs> so, whether it's oss or alsa that has a volume change, the app can just connect to the interface volume_changed, no ?
[13:44] <BBB> and for oss, you'd probably set an idle handler in the application or so
[13:44] <thomasvs> and then run a callback from that, which either changes ui or sets boolean for idler
[13:44] <BBB> thomasvs: yes, exactly
[13:44] <BBB> it can change the ui
[13:44] <BBB> it's not threaded
[13:44] <BBB> not in the mixer
[13:45] <thomasvs> so I'm not sure what the problem is exactly :)
[13:45] <thomasvs> or does the interface not have volume_changed yet ?
[13:45] <BBB> I need to actually go and do it
[13:45] <BBB> it does
[13:45] <thomasvs> or does alsa element not implement it yet ?
[13:45] <BBB> but it's unimplemented
[13:45] <thomasvs> ah, ok
[13:45] <thomasvs> then I get the problem :)
[13:45] <BBB> and I need some time to implement it ;)
[13:45] <Company> i just didn't know if it was ok to run it in a signal handler
[13:45] <Company> but if you say it is i'll just go and do it
[13:46] <thomasvs> afaik, yes, no problem at all
[13:46] <Company> we need a flag to tell if the mixer autoupdates the volume or if you need to poll
[13:46] <thomasvs> it's the app's responsibility to properly connect to and handle signal handlers
[13:46] <BBB> I think I understand half of that text
[13:46] <BBB> Company: you can do that in GstMixerInterface's class, I think
[13:47] <BBB> not totally sure
[13:47] <BBB> and the gnome mixer needs to connect to the signal
[13:47] <BBB> all small things that need doing
[13:47] <thomasvs> ../../../testsuite/debug/commandline.c: In function `main':../../../testsuite/debug/commandline.c:77: warning: passing arg 1 of `gst_debug_add_log_function' from incompatible pointer typemake[4]: *** [commandline.o] Error 1make[4]: Leaving directory `/home/monkeys/thomas/gst/build/gstreamer/gstreamer-0.7.3.1/_build/testsuite/debug'
[13:47] <thomasvs> testsuite failing
[13:48] <Company> where's that?
[13:48] <Company> ah
[13:49] <Company> sheesh
[13:50] <Company> thomasvs: in the definition of that log function, replace "gchar *message" with "GstDebugMessage *message" and it should work again
[13:52] <Company> (i'll do that myself if i still think about that when i have net access again)
[13:59] sublett ([email protected]) joined #gstreamer.
[14:01] Company ([email protected]) left irc: Remote closed the connection
[14:03] Nick change: rk -> rk|away
[14:06] <thomasvs> http://www.kroah.com/linux/talks/portable_kernel_code_talk_2001_10_02/mgp00009.html
[14:06] <thomasvs> maybe  work for our endianness stuff ? that would
[14:17] <alley_cat> if two elements both have 'video/x-raw-rgb, depth=(int)24, bpp=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255' in their capabilities according to gst-inspect, i should be able to connect them, right?
[14:20] <BBB> yes
[14:20] <alley_cat> i get ERROR: /pipeline0/thread0/ffdec_msmpeg40: negotiation failed
[14:20] <BBB> oh, no
[14:21] <BBB> ffmpeg has a lot of items in its pad template
[14:21] <BBB> but most decoders only support a subset
[14:21] <BBB> so you need a colorspace element after it
[14:21] <BBB> (ffcolorspace)
[14:21] <alley_cat> hmm, that makes it unusably slow, i just don't know if it's because of two ffcolorspace elements in the pipeline or if my code is so slow (probably the latter ;)
[14:25] <thomasvs> [gnome-head] [thomas@otto profiles]$ gst-launch-0.7 sinesrc ! audioconvert ! audio/x-raw-int,rate=22050,channels=1 ! wavenc name=enc ! filesink location=test.wav
[14:25] <thomasvs> RUNNING pipeline
[14:25] <thomasvs>  
[14:25] <thomasvs> ** ERROR **: file gstaudioconvert.c: line 349 (gst_audio_convert_chain): assertion failed: (this->caps_set[0] && this->caps_set[1])
[14:25] <thomasvs> aborting...
[14:25] <thomasvs> so, audioconvert isn't negotiating between the two
[14:25] <thomasvs> hm, I wish I knew how to fix audioconvert for this
[14:28] md` ([email protected]) left irc: Excess Flood
[14:29] md` ([email protected]) joined #gstreamer.
[14:30] <BBB> wheeeeeeeeeeeeeeeeeeeeeee
[14:30] Action: BBB has second-accurate seeking in VBR MPEG integrated in mpegdemux
[14:30] <BBB> note that wavenc might actually be broken
[14:31] LeRoutier ([email protected]) joined #gstreamer.
[14:31] <LeRoutier> hello
[14:31] <BBB> hya
[14:31] <thomasvs> BBB: why might wavenc be broken ?
[14:31] <BBB> it might not negotiate correctly
[14:31] <thomasvs> well, same for flacenc and lame and vorbisenc
[14:31] <thomasvs> I guess audioconvert needs fixing anyway
[14:31] Action: thomasvs decides to learn the new caps system
[14:31] <BBB> oh
[14:32] <BBB> audioconvert doesn't forward caps nego
[14:32] <BBB> that' sbad
[14:32] <BBB> shall I try and fix it?
[14:32] <BBB> or better yet
[14:32] <BBB> I can explain you how to fix it
[14:32] <BBB> then you know too (for future)
[14:32] <thomasvs> BBB: I'd love that, yeah
[14:32] <thomasvs> BBB: please explain it to me
[14:32] <thomasvs> BBB: I really want to get the new system, so ...
[14:33] <thomasvs> BBB: I just read the negotiation docs, I think I sort of get it for this case, but not sure
[14:33] <BBB> both pads need a getcaps and a link function
[14:33] <BBB> there is a linkfunciton, so add a getcapsfunction
[14:33] <BBB> (same function for both pads, that's ok)
[14:34] <thomasvs> right
[14:34] <thomasvs> since it's bidirectional
[14:34] <BBB> yes
[14:34] <thomasvs> the gstcaps function should do what then ?
[14:34] <BBB> then, in getcaps, do GstCaps *caps = gst_pad_get_allowed_caps (otherpad);
[14:34] <thomasvs> ah, that's explained
[14:34] <thomasvs> yeah
[14:35] <BBB> and on this caps, set the channels/bits/signedness/endianness to everything that we support conversion for plus everything that the other pad accepts
[14:35] <thomasvs> right
[14:35] <BBB> I don't think the link function needs changing, it looks ok
[14:35] <thomasvs> so a more fixed caps gets replaced with a more open caps
[14:35] <thomasvs> right ?
[14:35] Action: thomasvs starts getting it
[14:35] <BBB> yes
[14:35] <BBB> what happens in your above case is this:
[14:35] <BBB> sinesrc supports several rates
[14:36] <BBB> one of which is X (where X != 22050)
[14:36] <BBB> it does getcaps on audioconvert
[14:36] <BBB> it says 'any rate'
[14:36] <BBB> so it does rate X trysetcaps on audioconvert
[14:36] <BBB> which fails because the other pad is filtered
[14:36] <BBB> so capsnego fails
[14:36] <BBB> that's why you need the getcaps func
[14:36] <thomasvs> ok, hang on
[14:36] <thomasvs> the getcaps saying "any rate" is coming from the core then ?
[14:36] <thomasvs> I mean, it's the default getcaps ?
[14:37] <BBB> from the template
[14:37] <thomasvs> right
[14:37] <BBB> it has no getcaps function, so the getcaps returns the template caps
[14:37] <thomasvs> ah, and what it *SHOULD* do is get them from the other pad instead
[14:37] <BBB> yes
[14:37] <thomasvs> and modify them to "everything it could do from that"
[14:37] <thomasvs> ok, I get it
[14:37] <thomasvs> so ...
[14:37] <BBB> :)
[14:37] <thomasvs> what sort of element doesn't need to specify getcaps ?
[14:37] <BBB> an element that can convert from any to any
[14:37] <BBB> or one that uses explicit caps
[14:38] <thomasvs> ah
[14:38] <thomasvs> an element that knows how to convert everything it didn't specify as fixed, basically
[14:38] <BBB> you can also set get_pad_proxy_getcaps() as getcaps function, which just proxies it over to the next element
[14:38] <BBB> so median would use proxying for getcaps
[14:38] <thomasvs> right, for straight filters for example
[14:38] <BBB> because median is simple
[14:38] <thomasvs> hm, ok
[14:39] <thomasvs> reading through ds's doc, it does seem the caps system is simpler to understand now, no ?
[14:39] <BBB> it's more complete
[14:39] <BBB> I'm not sure if it's easier
[14:39] <BBB> I think it's slightly harder because of fixation
[14:39] <BBB> but it makes more sense to separate fixation from linking
[14:42] Kaetzchen ([email protected]) joined #gstreamer.
[14:43] alley_cat ([email protected]) left irc: Nick collision from services.
[14:43] Nick change: Kaetzchen -> alley_cat
[14:50] <LeRoutier> BBB: had any time to see my crash in avidemux with the AVI file i uploaded ?
[14:52] Nick change: rk|away -> rk
[15:03] foser ([email protected]) left irc: "[ I want to believe ]"
[15:03] <BBB> not yet
[15:03] foser ([email protected]) joined #gstreamer.
[15:04] sxpert_work ([email protected]) left irc: Remote closed the connection
[15:05] foser ([email protected]) left irc: Client Quit
[15:06] Shoragan ([email protected]) left irc: Read error: 104 (Connection reset by peer)
[15:07] sxpert_work ([email protected]) joined #gstreamer.
[15:09] Shoragan ([email protected]) joined #gstreamer.
[15:17] gheet ([email protected]) joined #gstreamer.
[15:19] Nick change: trow_away -> trow
[15:24] <dolphy> trow: hi
[15:24] <dolphy> trow: could you test latest gst-totem please ?
[15:25] mxpxpod ([email protected]) left irc: "Guns kill people as much as spoons made Rosie O'Donnell fat.."
[15:26] <trow> hi dolphy
[15:26] <trow> dolphy: Sure, I'll cvs update and rebuild now.
[15:27] <alley_cat> is it normal that an athlon 600 can't handle a pipeline with two ffcolorspace calls with a reasonably sized video?
[15:29] <BBB> depends if both colorspaces are in use
[15:29] <BBB> but if it's full-PAL or so, yes, that's normal
[15:29] <BBB> RGB-YUV is very expensive
[15:29] <BBB> hi trow :)
[15:30] <alley_cat> guess i can forget gamma correction in rgb space then :/
[15:31] <trow> hi BBB
[15:31] <BBB> well, you can optimize the colorspace plugin, but that takes time...
[15:31] <BBB> and did you ever wonder why cards do this sort of stuff in hardware? ;)
[15:32] <BBB> instead of letting video players do it itself
[15:32] <alley_cat> i just wonder why i always seem to have cards that can't do it ;)
[15:32] <BBB> dunno :p that's a question for you ;)
[15:34] foser ([email protected]) joined #gstreamer.
[15:37] rk ([email protected]) left irc: "Lost terminal"
[15:39] <BBB> and thomasvs: for the ABI/API freeze
[15:39] Action: alley_cat notices his current card can do it and smacks himself
[15:39] <BBB> you won't actually change aPI/ABI for streaminfo
[15:39] Action: BBB smacks alley_cat
[15:39] <BBB> what were you doing then? do we have a RGB gamma plugin?
[15:40] <alley_cat> i have a simple one here, only supports 24bit rgb currently, but i'll put it in bugzilla
[15:40] <alley_cat> and it really looks better than the YUV gamma plugin
[15:41] <BBB> +    if (target_rate != oss->rate)+      g_warning ("couldn't set the right number of channels, enjoy the speed difference");
[15:41] <BBB> should be 'rate', thomasvs...
[15:41] <BBB> ;)
[15:41] <BBB> cool, very cool
[15:41] <BBB> except that it's slow
[15:41] <BBB> ;)
[15:42] rk ([email protected]) joined #gstreamer.
[15:44] rvv_ ([email protected]) joined #gstreamer.
[15:46] <dolphy> BBB: any clues on how i should implement xv setting brightness and so on ?
[15:46] <dolphy> BBB: it's very trivial to implement in xvimagesink but the API is left to create
[15:47] <thomasvs> BBB: yeah, sorry
[15:48] <thomasvs> BBB: if I have to change/add/remove a signal for it, then I am changing api/abi
[15:48] <thomasvs> morning trow
[15:48] <trow> hi thomasvs
[15:49] teuf ([email protected]) joined #gstreamer.
[15:50] <alley_cat> doh, what my card does isn't gamma correction, it's just setting brightness independently for colors
[15:50] sublett ([email protected]) left irc: Read error: 113 (No route to host)
[15:50] Shoragan ([email protected]) left irc: Read error: 113 (No route to host)
[16:01] Action: dolphy kicks ds
[16:02] <LeRoutier> BBB: don't touch my avidemux bug, seems it changed with one of the latest commit (no more avidemux in back-trace)
[16:05] alley_cat ([email protected]) left irc: "May the Source be with you!"
[16:06] <BBB> dolphy: colorbalance interface
[16:06] <BBB> dolphy: see gst-plugins/gst-libs/gst/colorbalance/
[16:06] <BBB> v4l implements it already
[16:07] alley_cat ([email protected]) joined #gstreamer.
[16:11] Company ([email protected]) joined #gstreamer.
[16:11] <dolphy> BBB: sweeettt !
[16:11] <dolphy> ds broke gstplay
[16:11] <Company> ds?
[16:11] <dolphy> using gst_pad_get_negotiated_caps in the get_sink_element function
[16:12] <Company> ah
[16:13] <Company> works here :)
[16:13] <Company> but i'm probably not using the latest version...
[16:13] <Company> dolphy: you know that goom works again?
[16:13] <Company> as does synaesthesia
[16:16] <thomasvs> http://www.kroah.com/linux/talks/portable_kernel_code_talk_2001_10_02/mgp00009.html
[16:16] <thomasvs> Company: <-- maybe some inspiriation for our endianness things ?
[16:17] <Company> thomasvs: hu?
[16:18] <thomasvs> IIRC you were discussing some endianness issues re: rgb stuff no ?
[16:19] <dolphy> Company: i didn't know :)
[16:19] <dolphy> Company: coool ! :)
[16:20] <dolphy> Company: video.h fixed the issue?
[16:20] <dolphy> Company: or you had to do something else ?
[16:20] <Company> thomasvs: that were strinmg conversion issues
[16:20] <Company> dolphy: i fixed video.h and the plugins
[16:20] alley_cat ([email protected]) left irc: "May the Source be with you!"
[16:20] <BBB> thomasvs: glib wraps those
[16:21] <BBB> thomasvs: what do you think GUINT64_TO_BE() does? :)
[16:21] <BBB> or FROM_BE()
[16:21] <dolphy> Company: thx
[16:21] <dolphy> Company: i can now try to see if i can put goom and videotestsrc in gst-plugins/examples/switch
[16:21] <dolphy> Company: to see if that works :)
[16:22] <Company> dolphy: that examples/switch stuff should go in the testsuite
[16:22] <Company> dolphy: an example is some code theat shows how stuff is done and includes extensive comments
[16:23] <Company> what you did there should be run whenever you make check to be sured it still works
[16:24] <thomasvs> anyone know why videoscale getcaps  do a 100,MAXINT range ?
[16:29] <thomasvs> Company: any reason why width in audioconvert is handled in bytes ? I'm about to change that so it's less confusing
[16:30] alley_cat ([email protected]) joined #gstreamer.
[16:31] <Company> thomasvs: because a) it only uses full bytes anyway and b) the width in bytes is used to compute stuff in lots of places
[16:32] <dolphy> Company: yeah i was not sure where to put it
[16:32] <dolphy> Company: as it relies on other elements being compiled
[16:32] <dolphy> Company: like ximagesink
[16:33] <Company> dolphy: you can easily check if ximagesink is compiled
[16:33] <dolphy> and if neither x[v]imagesink is here the test should fail ?
[16:34] <Company> if ((ximagesink = gst_element_make ("ximagesink", NULL) == NULL) { g_print ("Please install ximagesink for this test to complete"); exit (0); }
[16:34] <Company> no
[16:34] <Company> it should only fail if something is wrong
[16:34] <Company> an uninstalled ximagesink is not wrong
[16:35] <thomasvs> Company: yeah, but's very very confusing.  do you care if it's changed, or should I just rename it to width_bytes or something ?
[16:35] <dolphy> Company: oki
[16:35] <BBB> grr....
[16:35] <thomasvs> Company: (I'm going through it anyway to fix it for capsnego)
[16:35] <BBB> I broke MPEG locally
[16:36] <BBB> I'm a factor 1000 off everywhere
[16:36] Action: BBB kicks himself
[16:36] Action: dolphy just discovered that switch is not handling caps renegotiation on video window resize
[16:36] <Company> thomasvs: shouldn't you work on more pressing things? ;)
[16:37] <Company> thomasvs: do what you like wrt width
[16:37] <thomasvs> Company: this is it
[16:37] <thomasvs> Company: I need this for gnome-sound-recorder :)
[16:37] <thomasvs> Company: so I can make sure the profiles actually work
[16:37] <thomasvs> Company: btw, min_rate and max_rate in audioconvert, I suppose that was for when it was supposed to rate conversion ?
[16:37] <thomasvs> Company: so I can remove that as well now ?
[16:38] <Company> thomasvs: audioconvert is completely screwed up since the time someone started to implement float audio
[16:38] <thomasvs> Company: it works fine here, after some caps nego changes
[16:38] <Company> thomasvs: he only added a lot of cruft (like those properties)...
[16:38] <thomasvs> Company: I can remove the float stuff
[16:39] <Company> please do
[16:39] <Company> and the rate stuff, too
[16:39] <thomasvs> just takes some time to figure out what it does convert and what it doesn't
[16:39] <thomasvs> some code is commented out.  does it still need AGRESSIVE ?
[16:39] <Company> it converts channels, endianness, sign, width and depth
[16:39] <Company> i don't think it needs agressive anymore
[16:40] Marsupilami23 ([email protected]) left irc: Remote closed the connection
[16:41] <Company> agressive was used for fixating
[16:41] <Company> which isn't needed when we have a good enough fixating function
[16:42] Action: Company figured out why video is off sync
[16:43] <Company> i'll fix it tight this time
[16:43] <Company> and right, too
[16:46] gheet ([email protected]) got netsplit.
[16:46] thomasvs ([email protected]) got netsplit.
[16:46] sxpert ([email protected]) got netsplit.
[16:46] trow ([email protected]) got netsplit.
[16:49] gheet ([email protected]) returned to #gstreamer.
[16:49] thomasvs ([email protected]) returned to #gstreamer.
[16:49] sxpert ([email protected]) returned to #gstreamer.
[16:49] trow ([email protected]) returned to #gstreamer.
[16:50] <thomasvs> looks like gst_structure_set_valist doesn't handle LIST types, any idea how I can work around that ?
[16:50] <thomasvs> do it manually using field_set and friends ?
[16:50] <thomasvs> would be nice if we could parse a string for it instead
[16:52] <Company> no, gobject doesn't handle variable range gvalues :)
[16:52] <Company> (like LIST)
[16:53] <Company> where do you need that?
[16:55] rk ([email protected]) left irc: Read error: 60 (Operation timed out)
[16:55] Shoragan ([email protected]) joined #gstreamer.
[16:56] <Company> what's the opposite of basename? the command that gives you the dirs?
[16:56] <Company> dirname
[16:56] <Company> that was obvious
[16:59] <thomasvs> Company: _getcaps function, endianness
[16:59] <thomasvs> gst_structure_set
[16:59] <thomasvs> working around it using audio.c now
[16:59] <thomasvs> hm, what does MAX map to ?
[16:59] <Company> G_MAXINT
[16:59] <Company> why do you need a gertcaps function?
[17:00] <thomasvs> audioconvert needs one, no ? otherwise it can't negotiate correctly
[17:00] <thomasvs> that's also how it's described in the negotiation docs
[17:00] <Company> hu?
[17:00] <Company> you only need a getcaps function when you narrow the caps
[17:01] <thomasvs> audioconvert does
[17:01] <thomasvs> since it doesn't do rate
[17:01] <thomasvs> it has to narrow them, saying that it doesn't do rate
[17:01] <thomasvs> it doesn't negotiate otherwise
[17:01] <Company> yeah
[17:02] <thomasvs> here's a possible trick for doing lists though
[17:02] <thomasvs> GST_LIST_INT, 3, 1, 2, 3, ...
[17:02] <thomasvs> the first after GST_LIST_INT gives the size of the list
[17:02] <Company> but you could just do gst_caps_copy (templatecaps); for_every_struct do gst_structure_set ("rate", correct_rate
[17:02] <thomasvs> can I add that ?
[17:02] <thomasvs> Company: I want to follow ds's docs to make sure I get the system
[17:02] <Company> thomasvs: if you figure out how, sure
[17:03] <Company> thomasvs: you have to tell glib how many arguments your _set function needs when you register the GValue type
[17:04] <thomasvs> oh.  so how do we currently implement LIST's then ?
[17:04] <Company> not at all in _caps_new_simple
[17:04] <Company> that's why it's called _simple ...
[17:05] <dolphy> Company: if a pipeline is still in READY state gst_pad_get_negotiated_caps will return null caps right ?
[17:05] <Company> we implement it via strings
[17:05] <Company> dolphy: it should
[17:05] <dolphy> Company: ok then that's why ds broke gstplay
[17:05] <dolphy> Company: the get_sink_element function tries to identify a sink element looking at caps
[17:05] <dolphy> Company: on a READY bin
[17:05] <dolphy> Company: gst_pad_get_template_caps exists ?
[17:06] <dolphy> Company: as it seems ds doesn't want us to use gst_pad_get_caps
[17:07] <Company> why not get_caps?
[17:07] <dolphy> Company: dunno
[17:08] <dolphy> http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst-libs/gst/play/play.c.diff?r1=1.33&r2=1.34
[17:08] <dolphy> look at that
[17:08] <dolphy> maybe ds just misunderstood the role of _get_sink_element function
[17:08] <dolphy> :)
[17:10] <Company> probably
[17:10] <Company> dunno why he changed that
[17:10] <Company> if you use get_caps be sure to free them after use
[17:10] <Company> current code is a memleak
[17:11] Uraeus ([email protected]) joined #gstreamer.
[17:17] <BBB> you can use getcaps
[17:17] <BBB> just not on peers
[17:18] <BBB> use get_allowed_caps then
[17:18] <BBB> (but that was broken)
[17:23] trow ([email protected]) got netsplit.
[17:23] gheet ([email protected]) got netsplit.
[17:23] sxpert ([email protected]) got netsplit.
[17:23] thomasvs ([email protected]) got netsplit.
[17:25] gheet ([email protected]) returned to #gstreamer.
[17:25] thomasvs ([email protected]) returned to #gstreamer.
[17:25] sxpert ([email protected]) returned to #gstreamer.
[17:25] trow ([email protected]) returned to #gstreamer.
[17:26] <thomasvs> Company: ok, is there some way I can do gst_structure_set_field using a list then ?
[17:26] <thomasvs> Company: maybe I'm missing a simpler way
[17:26] <Uraeus> hi gheet, thomasvs, sxpert and trow
[17:26] <thomasvs> Company: for example, a way to set one field in a struct using a string
[17:26] <Uraeus> err, ok so you where all just out for a sec :)
[17:27] <BBB> thomasvs: gst_structure_set?
[17:27] <BBB> thomasvs: what do you want to do?
[17:27] <BBB> gst_structure_set (struct, "rate", GST_TYPE_INT_RANGE, 1000, 96000, NULL);?
[17:28] <thomasvs> no, gst_structure_set (struct, "endianness", GST_TYPE_LIST, GST_TYPE_INT, 2, BIG_ENDIAN, LITTLE_ENDIAN, NULL);
[17:28] <BBB> gst_structure_set (struct, "rate", GST_TYPE_INT_RANGE, 1000, 96000, "channels" GST_TYPE_INT_RANGE, 1, 5, ...., NULL);?
[17:28] <thomasvs> nope, what I just typed
[17:28] <BBB> oh, those lists
[17:28] <BBB> dunno
[17:29] <BBB> check the function implementation or add it... ;)
[17:29] <dolphy> BBB: i want to get the caps of current pad
[17:29] <dolphy> BBB: not from peer
[17:29] <sxpert_work> Uraeus, heya
[17:29] <BBB> get_caps() or get_negotiated_caps()
[17:29] <dolphy> BBB: i m getting the list of pads of an element
[17:29] <BBB> then it's fine to use it
[17:29] <Company> thomasvs: no, there is no such way
[17:29] <dolphy> BBB: and i m analysing what sort of pad is that
[17:29] <Company> thomasvs: i told you to use gst_caps_copy and reset the rate on each structure
[17:29] <dolphy> BBB: getting negotiated means that i can't get them when READY
[17:30] <dolphy> BBB: so it's get_caps then 
[17:30] <dolphy> BBB: right ?
[17:30] <BBB> yes
[17:30] <dolphy> BBB: and i have to gst_caps_free them
[17:31] <BBB> yes
[17:32] <dolphy> thx
[17:32] Action: BBB goes home
[17:32] <BBB> bbl
[17:32] BBB ([email protected]) left irc: "Client exiting"
[17:32] <dolphy> gst_caps_get_structure
[17:32] <dolphy> structure needs to be freed ?
[17:33] <dolphy> freeing the caps kill the structure pointer ?
[17:34] <Company> dolphy: in general: look at the code...
[17:34] <Company> as for your questions: no and yes
[17:34] <dolphy> thx
[17:34] <dolphy> :)
[17:35] <dolphy> it's faster to get the answer from you guys that know the answers than having to crawl the code to see what happens with the structure :)
[17:36] <Company> i know
[17:37] <Company> but it'll make you not learn the code
[17:37] <Company> which is bad
[17:41] <thomasvs> Company: right, but that doesn't solve the general problem that we have no easy way to specify list types
[17:42] <Company> there is no easy way to specify list types, period
[17:43] <Company> if you find one, go ahead and implement it
[17:46] <Company> it isn't that we thought "lists are stupid, let's jjust not make trhem easy" oir anything...
[17:50] sub_pop ([email protected]) left irc: "Client exiting"
[17:52] <Company> the only thing you could do if you think you need it would be gst_value_list_set (GValue *dest, GType first_type, ...)
[17:52] <Company> which would be the same as gst_structure_set, just without names
[17:55] teuf ([email protected]) left irc: "Client exiting"
[17:56] <Company> cvs diff: [16:53:23] waiting for company's lock in /home/cvs/gstreamer/gstreamer/examples/thread
[17:56] <Company> cvs diff: [16:53:52] obtained lock in /home/cvs/gstreamer/gstreamer
[17:56] <Company> [...]
[17:56] <Company> Traceback (most recent call last):
[17:56] <Company>   File "/home/cvs/gstreamer/CVSROOT/syncmail", line 840, in ?
[17:56] <Company>     main()
[17:56] <Company>   File "/home/cvs/gstreamer/CVSROOT/syncmail", line 789, in main
[17:56] <Company>     modfiles, addfiles, remfiles, diffs = load_info(lastdir_num)
[17:56] <Company>   File "/home/cvs/gstreamer/CVSROOT/syncmail", line 611, in load_info
[17:56] <Company>     fd = open(MOD_FILE % (lastdir_num, PGRP), 'r')
[17:56] <Company> IOError: [Errno 2] No such file or directory: '/tmp/#cvs.files.0.mod.19462'
[17:56] <Company> [...]
[17:56] <Company> can'T we fix that somehow?
[17:56] <Company> s/we/you/ :)
[17:59] swentel ([email protected]) left irc: 
[18:05] Nick change: harshyZzZ -> harshyWork
[18:05] TD ([email protected]) joined #gstreamer.
[18:05] <TD> hi guys. does anybody know where i could find a free-software Cinepak/ICC codec?
[18:07] <Company> try looking in mplayers codecs.conf template
[18:13] <thomasvs> anyone remember what the function was that loads a supporting lib ?
[18:13] <Company> gst_plugin_load
[18:14] <thomasvs> hm, then I must be missing something else
[18:16] foser ([email protected]) left irc: Read error: 113 (No route to host)
[18:27] <TD> yay! ffmpeg has one! :)
[18:27] TD ([email protected]) left #gstreamer ("happpeeeeeee").
[18:31] sub_pop ([email protected]) joined #gstreamer.
[18:32] <dolphy> avi is broken :)
[18:33] <Uraeus> dolphy: more than it was?
[18:33] <dolphy> yeah
[18:33] <dolphy> can't play matrix.avi anymore
[18:34] <dolphy> hmm well not everywhere
[18:34] <Uraeus> question is if someone broke broke it or if they fixed something broken that it depended on :)
[18:36] <dolphy> dunnno
[18:38] <dolphy> Uraeus: do you manage to play matrix.avi
[18:38] <dolphy> Uraeus: with a pipeline like this 
[18:38] <dolphy> Uraeus: filesrc ! spider ! ffcolorspace ! xvimagesink ?
[18:41] <Uraeus> dolphy: yes, with yesterdays CVS
[18:42] <Uraeus> (process:13080): GStreamer-CRITICAL **: Could not find a compatible pad on element avidemux0 to link to src_0:sink
[18:42] <Uraeus> I do get this message though, but everything seems to run ok anyway
[18:43] <thomasvs> Company: so in your opinion audioconvert doesn't need a _get_caps function at all ?
[18:45] _Misirlou ([email protected]) joined #gstreamer.
[18:45] _Misirlou ([email protected]) left irc: Read error: 54 (Connection reset by peer)
[18:45] <dolphy> Uraeus: can you try with today's cvs ? :)
[18:45] <Misirlou> I hate pressing the wrong button.
[18:45] <Uraeus> dolphy: sure, but it will take me some time to compile :)
[19:10] matrixise ([email protected]) joined #gstreamer.
[19:15] gheet ([email protected]) left #gstreamer.
[19:17] foser ([email protected]) joined #gstreamer.
[19:18] Zeenix ([email protected]) joined #gstreamer.
[19:20] <Zeenix> hello
[19:20] <Uraeus> hi Zeenix
[19:20] <Uraeus> Zeenix: how goes the libcaca plugin work?
[19:21] <Zeenix> Uraeus: well, still looking at the black screen :(
[19:21] <Zeenix> Uraeus: maybe it's masks' problem
[19:21] <Uraeus> Zeenix: hmm, of I think you need to tell caca to use more colors than just black :)
[19:22] <Uraeus> Zeenix: maybe you can look at the videolan plugin for some ideas?
[19:24] <Zeenix> Uraeus: i'll try that as the last hope
[19:24] <iain> yey
[19:25] <Uraeus> iain: you fixed something thats been bugging marlin for a while?
[19:25] <iain> no
[19:25] <iain> I just got home after an exam
[19:25] <iain> and now I can "relax"
[19:26] <thomasvs> iain: any good, the exam ?
[19:26] <Uraeus> heh :)
[19:26] <iain> :)
[19:26] <iain> ya
[19:26] <iain> they couldn't have made it easier if they'd tried
[19:26] <iain> it was the exact same paper as the last 3 years
[19:26] <Uraeus> Zeenix: well it would be good if you learned more about videolan, there is other stuff in there we want to grab, like their support for those iTunes drm songs
[19:26] <iain> and when I say exact, i mean identical
[19:27] <Uraeus> hmm, almost like the last statistics exam I had at Uni (many many years ago :)
[19:27] aldug ([email protected]) joined #gstreamer.
[19:31] Action: Zeenix downloads vlc..
[19:36] <iain> ohhh alex might come to the BRMC gig with me...
[19:36] Action: iain is HAPPY
[19:36] <thomasvs> if a filter only handles audio/x-raw-int, shouldn't it drop all caps that aren't of that type in its _getcaps ?
[19:38] pb_ ([email protected]) joined #gstreamer.
[19:52] <ds-work> thomasvs: why would that be necessary?
[19:53] <Misirlou> iain: Come on and GET HAPPY
[19:58] <thomasvs> ds-work: well, the doc you wrote says that it should modify all the caps and "expand" the fields it handles
[19:58] <thomasvs> ds-work: but that doesn't make much sense when this is done on a mime type it doesn't even support, does it ?
[19:59] <thomasvs> ds-work: (I've read it a few times, and am now trying to debug and fix audioconvert)
[19:59] <thomasvs> ds-work: (also, in audio.c I've made a gst_audio_structure_set_list function, since that is missing from the core)
[20:00] <thomasvs> ds-work: also, I don't really understand why the docs tell me to
[20:01] <thomasvs>     if (!gst_pad_is_negotiated (otherpad)) return GST_PAD_LINK_OK;
[20:01] <thomasvs>                                                                                 
[20:04] mathrick ([email protected]) joined #gstreamer.
[20:04] <mathrick> re
[20:06] bilboe1 ([email protected]) joined #gstreamer.
[20:06] <bilboe1> hi all
[20:07] <bilboe1> wow, gotta change my nick
[20:07] bilboe1 ([email protected]) left #gstreamer.
[20:07] bilboe1 ([email protected]) joined #gstreamer.
[20:09] <bilboe1> is there a gstreamer/tivo-like project ?
[20:09] <bilboe1> or are there enough functionnal elements to start working on one
[20:10] <thomasvs> hm
[20:10] <thomasvs> I think I fixed audioconvert
[20:10] <thomasvs> bilboe1: depends on how narrow you define tivo :)
[20:10] <thomasvs> bilboe1: getcontrol.sf.net
[20:10] <thomasvs> bilboe1: www.davedina.org
[20:13] <thomasvs> ds-work: whee
[20:13] <thomasvs> gst-launch-0.7  -v sinesrc ! audioconvert ! audio/x-raw-int,channels=1,rate=22050 ! wavenc ! filesink location=test.wav
[20:13] <thomasvs> without the rate specification, it capsnegos to a rate of 8000, but still works
[20:13] <thomasvs> ds-work: that's how it should work, right ?
[20:19] <ds-work> thomasvs: in the case of audioconvert, it's wrong that it has float caps in the pad template
[20:20] <Zeenix> Uraeus: vlc's plugin system seems quite simillar to ours
[20:21] <Uraeus> Zeenix: good, should be easy to port then :)
[20:22] <mathrick> Uraeus: what are you porting? ;)
[20:22] <thomasvs> ds-work: yeah, I removed those
[20:23] <thomasvs> ds-work: but, supposing they would be there, then the _get_caps would remove them ?
[20:23] <thomasvs> ds-work: or, if it handled float as well, it should handle each of the caps differently based on whether they were int or float ?
[20:23] <ds-work> yes
[20:24] <ds-work> unless it handled conversion from float to int
[20:24] <ds-work> a really insane getcaps function is in ffcolorspace
[20:24] <Zeenix> anyone know of any gst plugin that over-rides the dispose method of gobject class?
[20:25] <ds-work> thomasvs: it takes all the structures, strips the format information and sets them all to YUV, then it duplicates all those structures as RGB
[20:25] <thomasvs> ds-work: I don't see videoscale actually setting passthru TRUE somewhere, am I missing something there ?
[20:25] <Uraeus> mathrick: well first of all so is Zeenix looking at their libcaca plugin to try and understand why his gstreamer plugin doesn't work, secondly is the apple iTunes drm stuff that I know of
[20:25] <thomasvs> ds-work: heh, I'll not look at it until I feel confident then :)
[20:25] <ds-work> thomasvs: videoscale may do passthru by checking the sizes
[20:26] <ds-work> thomasvs: having a passthru boolean is not strictly necessary
[20:27] <thomasvs>   if(videoscale->passthru){
[20:27] <thomasvs>     gst_pad_push(videoscale->srcpad, GST_DATA (buf));
[20:27] <thomasvs>     return;
[20:27] <thomasvs> ds-work: I thought that too, but it does seem to check the boolean, and set it to FALSE, but never to TRUE
[20:27] <thomasvs> ds-work: so either I'm missing something or it's a bug
[20:27] <thomasvs> given my track record I bet on the first
[20:28] <ds-work> videoscale.c:207
[20:28] <ds-work> it's awkward
[20:29] <thomasvs> rats, was looking in the wrong copy
[20:29] <thomasvs> ok, thanks
[20:30] Action: thomasvs writes a 23000 Hz wav for fun
[20:31] <ds-work> thomasvs: want to see what I wrote for gst_audio_convert_getcaps()?
[20:32] <thomasvs> ds-work: sure
[20:32] <thomasvs> ds-work: I have it working though, about to commit
[20:32] <thomasvs> ds-work: I need to ask you some other stuff, because I had some other problems that I had to fix
[20:32] <thomasvs> but I'll do that when I get home
[20:33] <ds-work> http://www.schleef.org/~ds/patch-audioconvert
[20:34] <thomasvs> hey, no fair :)
[20:34] <thomasvs> you did _remove on them
[20:34] <thomasvs> I thought of doing that, then decided to implement list setters
[20:34] <thomasvs> why is removing ok as well ?
[20:35] <thomasvs> and, if a caps is not-fixed (negotiated) because it still has a rate range, for example, does removing the range field cause it to be fixed/negotiated ?
[20:37] <thomasvs> I'll commit my fix because I need to get home, biab
[20:37] <thomasvs> please give it a look when it's in and tell me all the ways I was wrong when I get home :)
[20:38] <Zeenix> the dispose method of gobject is called ONLY if the refcount == 0 ?
[20:40] bilboe1 ([email protected]) left #gstreamer.
[20:41] <ds-work> remove works because I did an _intersect() later with the pad_template caps
[20:41] <thomasvs> oh, good call
[20:41] <thomasvs> damn, wish I thought of that
[20:42] <thomasvs> ds-work: well, please check the patch I just commited.  even though in this case remove is fine, I'm guessing list setters can be useful somewhere else, so I would like to maybe move them to core
[20:42] <thomasvs> later
[20:42] <ds-work> ok
[20:43] <thomasvs> argh, need to merge your patch
[20:43] <thomasvs> which i also did
[20:45] <ds-work> remind me aboutif (!gst_pad_is_negotiated (otherpad)) return GST_PAD_LINK_OK; later
[20:47] <mathrick> Zeenix: http://www.le-hacker.org/papers/gobject/ch04s02.html#gobject-memory-refcount
[20:47] <Zeenix> mathrick: thanks
[20:47] dolphy ([email protected]) left irc: "Network down, IP Packets delivered via UPS"
[20:49] <Zeenix> and what is the nice way to tell gst-launch to shutdown? I've been using C-c all my life..
[20:51] <mathrick> Zeenix: afaik, it should just exit on EOS, if not, it means pipeline didn't end correctly
[20:51] <Zeenix> Uraeus: while i try debug cacasink, would you be able to configure the build system for it?
[20:52] <Zeenix> mathrick: no, what if the USER wants to end the pipeline
[20:53] <iain> seeing as gst-launch is not a USER end tool
[20:53] <iain> I think C-c is fine
[20:54] <mathrick> Zeenix: C-c is the nicest way I can think of ;). It's not end-user player, it doesn't need anything fancier
[20:55] <Misirlou> Mmm, Ctrl+C rocks my socks.
[20:55] <Zeenix> no i am not talking of a fancier method but a PROPER method
[20:56] <Zeenix> does -launch properly destroys the pipeline on C-c ?
[20:56] <iain> I'd imagine so
[20:56] <ds-work> yes
[20:57] <iain> it catches C-c and shuts down
[20:57] <iain> rather than terminating
[20:57] <Zeenix> well, it ONLY catches the first C-c & shuts down on the 2nd one
[20:58] Action: Zeenix throws something at Uraeus
[20:59] <Uraeus> Zeenix: probably, commit it to CVS and I will try
[21:00] <LeRoutier> hum, seems i can't play any of my AVIs with gst-player. i thought only one was triggering the crash but i tried several with different fourcc codes and all crashes
[21:01] <LeRoutier> anyone that can play any avi with current CVS HEAD gst-player  ?
[21:01] <Uraeus> LeRoutier: can seem as if a change between yesterday and today killed AVI, dolphy reported the same issue and I am building gstreamer to test now
[21:01] <LeRoutier> well, the bug is here for 3 days at least
[21:01] <Uraeus> LeRoutier: with yesterday CVS I was able to play AVI files (with bad audio/video sync but still) 
[21:02] <Zeenix> Uraeus: i commited a compilable ver. yesterday, i'll commit again after successfully debuging it
[21:02] <LeRoutier> i filled this one : http://bugzilla.gnome.org/show_bug.cgi?id=131050  and dolphy told me his bt looked a lot like mine
[21:02] <Uraeus> Zeenix: ok I work on getting it intergrated with build, fits in with my NAS pains :)
[21:03] thomasvs ([email protected]) left irc: Read error: 113 (No route to host)
[21:04] Action: Company thinks (gst-player:23031): GStreamer-CRITICAL **: file gstinterface.c: line 140 (gst_implements_interface_cast): assertion`gst_element_implements_interface (GST_ELEMENT (from), iface_type)' failed is not an error
[21:04] <Zeenix> Uraeus: NAS pains?
[21:04] <LeRoutier> Company, i had those 2 warnings when i used xvideosink. but i'm using xvimagesink npw
[21:05] <Company> nonetheless :)
[21:05] <Company> the second warning should still be there though
[21:05] <Uraeus> Zeenix: yeah, doing the auto* stuff for NAS which has been painfull
[21:05] <Zeenix> Uraeus: Network Access Server?
[21:05] <LeRoutier> Company, the "could not find compatible pad" x2 is still there, yes
[21:06] KoRnouille ([email protected]) left irc: "Leaving"
[21:06] <Company> ds-work: I figured out why A/V sync is broken and it's sooo stupid....
[21:06] <Company> ds-work: the pipeline element (or better: the topmost scheduler) decides when time 0 is
[21:06] <LeRoutier> got a least one avi that still plays without crashing
[21:06] <ds-work> yeah
[21:07] <Company> ds-work: so when your app takes time (loading the video from disk or something) videosink and audiosink aren't activated yet
[21:07] <ds-work> Company: I've realized that's a latent bug, but up until now, ignorable
[21:07] <Company> ds-work: i'm going to fix that in the most API compatible way I can think of
[21:07] <Company> ds-work: by introducing "element time"
[21:09] <Company> ds-work: unless you think we shouldn't do such changes anymore
[21:11] <ds-work> depends how much it affects
[21:11] <Company> i have no idea
[21:11] <Uraeus> Zeenix: network sound system
[21:11] <Company> if i do stuff, i do it right or don't care - which is the bad thing about it ;)
[21:12] <ds-work> say, if an app needs to call something additional to make A/V sync work, that's bad
[21:12] <Company> no
[21:12] <Company> we might need to change some elements
[21:13] <Company> and maybe the clock implementations
[21:13] <ds-work> er, that's bad, too
[21:13] <Company> the elements using a clock obviously...
[21:14] <Zeenix> Uraeus: where from comes the 'A' in NAS?
[21:14] <Uraeus> Zeenix: s/sound/audio/
[21:15] Action: Zeenix wishes he had some mind..
[21:19] matrixise ([email protected]) left irc: "Leaving"
[21:23] matrixise ([email protected]) joined #gstreamer.
[21:25] matrixise ([email protected]) left irc: Client Quit
[21:25] matrixise ([email protected]) joined #gstreamer.
[21:27] Action: Company "fixes" clocking
[21:27] somex1 ([email protected]) joined #gstreamer.
[21:29] Action: Zeenix finally watches the cool linux add by IBM using cacasink... :)
[21:31] <mathrick> Zeenix: congrats :)
[21:32] <LeRoutier> anyone can confirm me if libshout-2 detection works in gst-plugins ?
[21:33] <Zeenix> but somehow the colors are inverted.. hm.. mask problems
[21:33] <Uraeus> LeRoutier: don't think the plugin has ever been updated from libshout-1
[21:33] thomasvs ([email protected]) joined #gstreamer.
[21:34] <Uraeus> hi thomasvs
[21:34] <mathrick> wb thomasvs
[21:35] <thomasvs> evening
[21:35] Action: Zeenix throws his monitor on Uraeus for not getting excited on this news..
[21:36] <taaz> yeah Zeenix !
[21:36] <Uraeus> Zeenix: I am excited!!!!!
[21:36] <taaz> now just add colorbalance, navigation, etc etc interfaces and make it a subclass of videosink ;)
[21:36] <Uraeus> Zeenix: I was so excited I had trouble typing :)
[21:37] <Uraeus> yeah, working DVD menus's in cacasink would rock!
[21:37] Action: taaz slightly worried that aalib/caca/sdl not proper videosink subclasses yet...
[21:38] <thomasvs> dolphy got colorbalance to work from totem today, pretty sweet to see
[21:38] <Company> taaz: people will fix it
[21:38] <Uraeus> taaz: don't worry, but start fixing one of them yourself, like SDL
[21:38] <thomasvs> taaz: it's been some time since your last commit :)
[21:38] <Company> taaz: osssink and alsasink don't have common classes
[21:39] <Company> videofilter and audiofilter don't work correctly yet either
[21:39] <taaz> the reason is freezing the api before getting all the common stuff in videosink
[21:39] <taaz> since it seems to be moving into x land at the moment
[21:39] <Company> pf
[21:39] <Company> we'll just do Videosink2
[21:39] <taaz> that's lame ;)
[21:39] <Company> yeah
[21:39] <Company> but i don't care...
[21:40] <Company> i didn't invent API rules
[21:41] <taaz> btw, does it make sense to have function interface to some of the simple interface classes?  like functions to get/set colobalanace channel things?
[21:41] <taaz> i'm asking in the context of being too lazy to write the python bindings for that by hand ;)
[21:42] <Company> i always write those, but i'm too lazy to add them elsewhere ;)
[21:46] <taaz> some of these smaller classes dont have object padding either
[21:47] <Company> that's bad
[21:49] <taaz> ds-work: think gst-lint could get a check for lack of reserved/padding thing in classes?
[21:50] <thomasvs> ds-work: so I needed to remind you of something
[21:50] <mathrick> hmm, does PG have bugzilla or something?
[21:50] <thomasvs> ds-work: btw, getting a crash on gst_caps_copy between wavparse and audioconvert, I'm assuming it's wavparse's fault
[21:50] <taaz> hmm.. like ColorBalanceChannel class has it but not the object instance.
[21:50] Action: taaz likes python better ;)
[21:51] <Company> python requires bindings...
[21:51] <Company> and i've learned the people doing them tend to be lazy :p
[21:51] <taaz> we mostly have bindings
[21:51] <thomasvs> Going to run pipeline sinesrc ! audioconvert !  audio/x-raw-int,rate=44100,channels=2 ! vorbisenc name=enc quality=5 ! filesink location=test.ogg
[21:51] <thomasvs>  
[21:51] <thomasvs> (lt-gnome-audio-profiles-test:2861): GLib-GObject-WARNING **: value "5,000000" of type `gfloat' is invalid or out of range for property `quality' of type `gfloat'
[21:51] <Company> "mostly"
[21:51] <thomasvs> eek
[21:51] <thomasvs> again a , error for decimal separation
[21:52] <taaz> there are misc functions/methods that are not wrapped.  the biggest issue now is that pygtk doesn't support interfaces well enough yet.  i'm not sure how to fix that myself.  some ideas but it's low level hacking.
[21:52] earthworm ([email protected]) joined #gstreamer.
[21:53] <taaz> hmm.  maybe i need to check in my gst-python updates ;)
[21:53] <earthworm> is there a way to convert from MP3 to OGG via gstreamer 0.6.x ?
[21:54] <taaz> earthworm: the tags might get lost
[21:54] <thomasvs> taaz: would someone like jdahlin now how to get that done ?
[21:54] <LeRoutier> earthworm, don't think there is an ogg muxer actually
[21:54] Action: thomasvs pokes jdahlin
[21:54] <Company> earthworm: filesrc location=file.mp3 ! mad ! vorbisenc ! filesink location=file.ogg
[21:54] <taaz> thomasvs: yeah, probably
[21:54] <taaz> err...
[21:54] <earthworm> Company: cool, will that maintain the tags?
[21:54] <LeRoutier> oh, so only an issue for ogg videos
[21:54] <Company> earthworm: nope, not in 0.6
[21:54] <earthworm> damn, hurry up fedora core 2  :)
[21:54] <taaz> this may be a jh level isses ;)
[21:55] <earthworm> since when was there ogg video btw?
[21:55] <Company> there is no real ogg video
[21:55] <earthworm> 'real'
[21:55] <thomasvs> Company: does germany use . or , for decimal point ?
[21:55] <Company> there are theora alphas out somewhere
[21:55] <Company> thomasvs: ,
[21:56] <thomasvs> earthworm: theora beta will come out soon
[21:56] <thomasvs> Company: but you're set to C and not de ?
[21:56] <Company> thomasvs: i prefer error messages i can google ;)
[21:56] <thomasvs> Company: I agree :)
[21:56] <earthworm> thomasvs: is there a web site with details about that project?
[21:56] <thomasvs> Company: but that also explains why it went unnoticed for you
[21:56] <Company> thomasvs: yep
[21:56] <thomasvs> earthworm: www.xiph.org must have a link somewhere
[21:56] <earthworm> cheers
[21:57] <thomasvs> Company: well, the error comes from grammar.y - any idea what I should do ?
[21:57] <mathrick> earthworm: yes, I think it was google.com or something, great stuff ;)
[21:57] <thomasvs> Company: pipeline is sinesrc ! audioconvert !  audio/x-raw-int,rate=44100,channels=2 ! vorbisenc name=enc quality=5 ! filesink location=test.ogg
[21:57] <earthworm> oh its like that is it
[21:57] <Company> thomasvs: and?
[21:57] <thomasvs> Company: try it in a de locale, to see the error
[21:57] <thomasvs> Company: that .y stuff is hard on the eyes :)
[21:58] <earthworm> http://www.theora.org/
[21:58] <earthworm> supprise
[21:58] <earthworm> cheers anyway lads, see ya
[21:58] earthworm ([email protected]) left #gstreamer (""I allege that SCO is full of it." - Linus Torvalds").
[21:58] <Company> thomasvs: where is there a dot or comma?
[21:58] <thomasvs> Company: I'm assuming it converts the quality setting of 5 to a float
[21:58] <thomasvs> Company: which it then fails to parse
[21:58] <thomasvs> since it got parsed in the locale
[21:59] <thomasvs> ehrm, converted in the locale
[21:59] <Company> 5 is out of range
[21:59] <Company> quality is [0-1]
[21:59] <thomasvs> another good point
[22:00] <Company> and a dot works in all locales
[22:00] <thomasvs> yep, sorry
[22:00] <Company> i just checked ;)
[22:03] <thomasvs> yay, three profile tests work now
[22:09] Uraeus ([email protected]) left irc: "Client exiting"
[22:12] <ds-work> thomasvs: btw, I never converted core to use serialize/deserialize, so we still technically have a locale bug there, too
[22:12] <taaz> so i assume you all are using a script for those changelog entries?  url?
[22:12] <ds-work> but the bits are all there and implemented
[22:12] <Zeenix> i wonder why libcaca want's the masks reversed
[22:13] <Company> taaz: developer.gnome.org/tools/scripts or something like that
[22:13] <taaz> Company: yup, thanks
[22:13] <mathrick> Zeenix: what's 'reversed'? BGR?
[22:13] <ds-work> thomasvs: also, the reasoning for checking whether a pad is already negotiated before calling try_set_caps() is that the other pad should have a chance to freely negotiate caps by itself
[22:14] <ds-work> thomasvs: basically, the only specifically preferred caps for most converters is passthru caps
[22:14] wheels ([email protected]) joined #gstreamer.
[22:14] <ds-work> thomasvs: if it doesn't handle passthru, we let it negotiate whatever it wants
[22:14] <Zeenix> mathrick: yes, AGBR
[22:15] Action: ds-work goes burritokaufen
[22:15] <mathrick> Zeenix: whoa, that's indeed funky :)
[22:17] matrixise ([email protected]) left irc: "Leaving"
[22:18] dolphy ([email protected]) joined #gstreamer.
[22:18] <mathrick> Zeenix: heh, just dropped by libcaca's site, antialiased screenie rocks ;)
[22:18] <mathrick> dolphy: y0 d00d
[22:18] walters ([email protected]) joined #gstreamer.
[22:19] <mathrick> y0 walters
[22:19] <walters> howdy
[22:20] <dolphy> mathrick: yo :)
[22:20] Action: dolphy implements colorbalance in totem
[22:21] <Zeenix> while trying to commit my changes i got this error:  Up-to-date check failed for `gstcacasink.c'
[22:21] <Zeenix> did someone made changes to it... 
[22:21] <Company> most likely ;)
[22:22] <Zeenix> Company: so i should update before commiting? but what if that destoys my changes?
[22:22] <Company> yes, you should update
[22:22] <Company> and if you fear it kills everything, make a copy
[22:24] <Zeenix> good that i made copy as i got these errors on update
[22:24] <Zeenix> Merging differences between 1.2 and 1.3 into gstcacasink.c
[22:24] <Zeenix> rcsmerge: warning: conflicts during merge
[22:24] <Zeenix> cvs server: conflicts found in gstcacasink.c
[22:25] <Company> you should especially update gst-libs/gst/video/video.h
[22:25] <LeRoutier> Zeenix, it never deletes any code when there is a conflict. it creates a new hidden fine (see .#filename-version)
[22:25] <Company> because I fixed the macro names yesterday
[22:25] mxpxpod ([email protected]) joined #gstreamer.
[22:26] BBB ([email protected]) joined #gstreamer.
[22:26] <mathrick> hi BBB
[22:27] <Zeenix> but what should/would i do with the masks problem
[22:27] <BBB> hi
[22:28] <BBB> taaz: so you're gonna write planetgstreamer and planetfdo?
[22:28] <Zeenix> hello BBB
[22:28] <dolphy> BBB: re :)
[22:29] nixim ([email protected]) joined #gstreamer.
[22:29] <dolphy> BBB: i m implementing colorbalance in gst-totem
[22:30] Action: ds-work wishes planetgnome would be in timezone-safe chronological order
[22:30] nixim ([email protected]) left #gstreamer ("Leaving").
[22:31] <dolphy> ds-work: when i post something my blog it doesn't appear on planetgnome, do you think that can be related ?
[22:31] <mathrick> Zeenix: not sure, but do you pass correct masks to caca_bitmap_create? (headers suck wrt to params description)?
[22:31] <ds-work> dolphy: it takes a few minutes
[22:32] <taaz> BBB: it's probably just a matter of grabbing the other planet software and throwing in the feeds.
[22:32] <mathrick> does PG have some sort of bugzilla? or just jdub's email?
[22:32] <Zeenix> mathrick: yes, i just pass the masks provided to the plugin on capsnego
[22:32] <Company> ds-work: that'd require all the blogs to have correct times...
[22:32] <mathrick> Zeenix: hmm, so it should just shut up and do its work...
[22:33] <mathrick> Company: no, that would require sorting that UTC normalization issue
[22:34] <Zeenix> mathrick: it does when i supply the masks reversed.
[22:34] <Company> UTC normalization?
[22:34] Action: mathrick kicks libcaca's author: void caca_draw_bitmap(int, int, int, int, struct caca_bitmap const *, void *);
[22:34] <jdahlin> thomasvs: we're working on it...
[22:35] <mathrick> Company: yep, you translate blog's timestamps to UTC, and voila, everything is in correct (and stable) order
[22:35] <ds-work> anyone care to write an sdlsrc?
[22:35] <Company> mathrick: don't they do that already?
[22:35] <mathrick> Company: actually, jdub even said something about working on it, but it sorta doesn't work yet
[22:35] <Company> what do we need sdlsrc for?
[22:35] <ds-work> so we can play DOOM through warpTV
[22:36] <Company> ah, you mean a sink for SDL that is a src for gstreamer
[22:36] <ds-work> yeah
[22:36] <ds-work> sdlmon, really
[22:38] Action: thomasvs just figured out gsr already had a hack to save as, for example flac
[22:38] <thomasvs> iain: ping ?
[22:38] <Company> gst-launch-0.7 videotestsrc ! navigationtest ! ffcolorspace ! warpTV ! ximagesink doesn'T work
[22:39] <ds-work> what doesn't work about it?
[22:39] <Company> more importantly: resizing
[22:39] <Company> it starts correctly at 16x16
[22:39] <thomasvs> ds-work: any particual reason why videoscale doesn't go below 100x100 ?
[22:39] <Company> but that's not that useful ;)
[22:39] <Zeenix> mathrick: why kick?
[22:39] <ds-work> thomasvs: it was a random hack that shouldn't have been committed
[22:40] <dolphy> ds-work: do you see any other way apart from checking the free function in the buffer ?
[22:40] <ds-work> dolphy: that's how you do it
[22:40] <dolphy> ds-work: that's how Company fixed it
[22:40] <thomasvs> dolphy: I don't think you posted yet, is not on advogato in any case
[22:41] <mathrick> Zeenix: b/c not describing public functions' params in headers should be penalized
[22:41] <dolphy> thomasvs: not today but satursday i posted and it never show out
[22:42] <mathrick> s/describing/putting names in prototypes of/
[22:43] <mathrick> Zeenix: you said its AGBR that caca is actually using? what was the negotiated caps?
[22:44] <mathrick> s/its/it's/
[22:48] <Zeenix> mathrick: ARGB iirc
[22:50] <Zeenix> thomasvs: did you configured the build system for cacasink?
[22:50] <ds-work> Zeenix: I did
[22:54] maYam ([email protected]) joined #gstreamer.
[22:54] BBB ([email protected]) left irc: Read error: 110 (Connection timed out)
[22:55] maYam ([email protected]) left irc: Client Quit
[22:58] <Company> dolphy: if you know a better way to check that it's your buffer, use that. But I think there is none...
[23:00] <dolphy> Company: i m wondering 
[23:01] <mathrick> Zeenix: do you know what bitmap pitch is?
[23:01] <Zeenix> mathrick: maybe nto
[23:01] BBB ([email protected]) joined #gstreamer.
[23:01] <Zeenix> s/nto/not
[23:02] <Zeenix> mathrick: i think of it as the number of bytes after which the row ends & i am sure I am wrong
[23:02] <BBB> oops
[23:02] <mathrick> Zeenix: there is some voodoo done on *pixels in _get_rgba_default involving pitch, and I have some difficulties understanding it
[23:03] <mathrick> Zeenix:     /* Minor sanity test */
[23:03] <mathrick>     if(!w || !h || !pitch || bpp > 32 || bpp < 8)
[23:03] <mathrick>         return NULL;
[23:03] <mathrick> doesn't look like bytes after row end, !pitch check wouldn't make sense...
[23:04] <Zeenix> mathrick: the vlc plugin specifies it as:   4 * ((image_width + 15) & ~15)
[23:07] <Zeenix> mathrick: i tried the same formula & my own:  image_width * bpp/8
[23:07] <Zeenix> mathrick: both of these work
[23:15] <thomasvs> night
[23:15] Nick change: thomasvs -> thomasvz
[23:15] <mathrick> Zeenix: that line puzzles me: pixels += (bitmap->bpp / 8) * x + bitmap->pitch * y;
[23:15] <mathrick> in get_rgba_default()
[23:15] <mathrick> thomasvz: nite
[23:20] kmaraas ([email protected]) joined #gstreamer.
[23:24] <Company> nobody of our cvs HEAD people uses PPC
[23:25] <ds-work> Company: you don't?
[23:25] <ds-work> dolphy doesn't?
[23:25] <dolphy> i do :)
[23:25] <Company> not normally at least
[23:25] <ds-work> I stopped using my powerpc a few months ago
[23:25] <Company> core doesn't compile on PPC atm
[23:25] <dolphy> damn how did you know i was playing football with the files
[23:26] <dolphy> Company: i have a fix for that
[23:26] <dolphy> Company: memcpy 
[23:26] <dolphy> Company: instead of messages.arguments = args
[23:26] <ds-work> Company: um, isn't that because you didn't read the page I told you to? :)
[23:26] <BBB> it's ugly
[23:26] <ds-work> va_copy()
[23:26] <Company> G_VA_COPY
[23:26] <Company> i win
[23:27] Action: BBB thinks he won, because he gave a first shot at a fix
[23:27] mxpxpod ([email protected]) left irc: Read error: 110 (Connection timed out)
[23:27] <BBB> I told dolphy to use memcpy to fix ti
[23:27] <Zeenix> where goes gst_video_sink_got_video_size () ?
[23:27] <Company> someone going to fix make check for installed builds btw?
[23:28] <dolphy> congrats to BBB :)
[23:28] mxpxpod ([email protected]) joined #gstreamer.
[23:28] <dolphy> Zeenix: replace it with gst_x_overlay_got_desired_size
[23:29] <dolphy> Zeenix: the signal moved to the XOverlay interface
[23:29] <mxpxpod> could someone with a ppc machine take a look at this? http://bugzilla.gnome.org/show_bug.cgi?id=128384
[23:29] <Company> Zeenix: forget it if you don't use the xoverlay stuff - if you do use it, do what dolphy said
[23:30] rvv_ ([email protected]) left irc: "I like food, food is good!"
[23:30] Nick change: harshyWork -> harshy
[23:31] <Zeenix> ok, but i am now getting the errors i always hated: 
[23:31] <Zeenix> (process:9998): GLib-GObject-WARNING **: specified class size for type `GstCACASink' is smaller than the parent type's `GstVideoSink' class size
[23:31] <Zeenix>  
[23:31] <Zeenix> (process:9998): GLib-GObject-CRITICAL **: file gtype.c: line 1941 (g_type_add_interface_static): assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
[23:32] <Company> Zeenix: it means you should compile the other stuff again
[23:32] <Company> wait a moment
[23:33] <Company> if I use va_copy, i need to free the varargs with va_end, right?
[23:33] <ds-work> no
[23:34] <ds-work> you should use va_copy before va_start, i think
[23:34] <Company> huh?
[23:34] <mxpxpod> dolphy: you use ppc, right?
[23:34] <ds-work> va_copy doesn't allocate
[23:37] <dolphy> mxpxpod: yeah but i m going to sleep now :)
[23:37] <Company> you need to va_end copied va_lists
[23:37] <Company> at least that's what glib does
[23:38] <mxpxpod> dolphy: could you put it on your todo list to look at that bug?
[23:38] <dolphy> mxpxpod: ok
[23:38] <mxpxpod> dolphy: it's kind of annoying since most of my music collection is in flac
[23:38] <mxpxpod> :(
[23:38] <dolphy> i ll try to take a look
[23:39] <mxpxpod> thank you so much
[23:39] <Company> note to everyone: on Linux, only use stuff, that everyone uses, because only that is well saupported
[23:39] <Company> (that is espoecially important for hardware)
[23:40] <dolphy> ds-work: do you think it might be usefull to do like xine does : use XLockDisplay everywhere in the X11 video calls ?
[23:40] <ds-work> or fix it yourself :)
[23:40] <dolphy> ds-work: i m wondering if that's useless or not in the case where i open a Display myself in x[v]imagesink
[23:41] <dolphy> ds-work: hadess told me it would be good but i have a doubt
[23:41] <ds-work> dolphy: it's useless, since you have a separate connection
[23:42] <dolphy> ds-work: ok that's what i though too
[23:42] <dolphy> night
[23:42] <ds-work> later
[23:42] dolphy ([email protected]) left irc: "Network down, IP Packets delivered via UPS"
[23:43] Action: ds-work doesn't want to think about the disgusting deadlock mess that could result from using XLockDisplay()
[23:43] <Company> if there happens a deadlock, there's a bug in our code
[23:44] <ds-work> true
[23:45] <ds-work> but we avoid the issue by using a separate resource
[23:45] <Company> well, apart from signals
[23:45] <Company> uh, we can't use the same ressource anyway
[23:45] <Company> we don'T know it ;)
[23:50] <ds-work> how are we supposed to do streaminfo now?
[23:50] <BBB> form the stream?
[23:51] <BBB> d'oh
[23:51] <BBB> what sort of answer do you want?
[23:51] <ds-work> is it supposed to be the same as tags?
[23:57] <BBB> it's not a tag imo
[23:57] <Company> ds-work: efence isn't updated to new buffer stuff?
[23:57] <Company> buffer-free stuff?
[23:57] <ds-work> Company: it should be
[23:58] <Company> it doesn't compile here
[23:58] Action: ds-work sees that there's a bug
[23:58] <ds-work> it builds here
[23:59] <Company> is that committed?
[23:59] <ds-work> yes
[00:00] --- Tue Jan 13 2004
[00:06] <ds-work> efence should provide a pad bufferalloc function
[00:07] <mathrick> checking for xvid_decore in -lxvidcore... yes
[00:07] <mathrick> checking for xvid_global in -lxvidcore... no
[00:07] <mathrick> configure: *** These plugins will not be built: xvid
[00:07] <mathrick> has something changed recently wrt. xvid?
[00:09] <BBB> yes
[00:09] <BBB> you need xvid beta3
[00:09] <BBB> the api changed (again)
[00:14] <Zeenix> ds-work: why does $(CACALIB_LIBS) & $(CACALIB_CFLAGS) does'nt get defined?
[00:15] <ds-work> because it's called LIBCACA_LIBS
[00:15] <Zeenix> ds-work: in the resulting Makefile that is
[00:15] <Zeenix> ds-work: but the Makefile uses these vars
[00:15] <ds-work> fix the makefile
[00:16] thaytan ([email protected]) joined #gstreamer.
[00:17] <Zeenix> ds-work: but the Makefile is generate by the build system, right?
[00:18] <ds-work> Zeenix: fix Makefile.am
[00:23] <Zeenix> why is the video so jerky (using any videosink) ?
[00:25] <ds-work> are you syncing to a clock?
[00:25] <Zeenix> ds-work: yes
[00:26] <BBB> how's the cpu load?
[00:27] <Zeenix> CPU states:  44.5% user   6.7% system   0.0% nice   0.0% iowait  48.7% idle
[00:32] BBB ([email protected]) left irc: "Client exiting"
[00:34] somex1 ([email protected]) left irc: Remote closed the connection
[00:35] <Zeenix> so? is this problem only with me?
[00:38] <Company> queue is full
[00:40] <Zeenix> dont know, let me show you my pipeline first:  gst-launch filesrc location=~/prodigy90_med.mpg
[00:40] <Zeenix> ! mpegdemux video_%02d! { queue ! ffdec_mpeg1video ! ffcolorspace ! cacasink }
[00:44] <Company>   you run the most recent core?
[00:44] <Zeenix> Company: yup, a hour old
[00:53] <LeRoutier> good night
[00:53] LeRoutier ([email protected]) left irc: "Leaving"
[00:58] foser ([email protected]) left irc: "[ I want to believe ]"
[01:01] <iain> thomasvz: pong?
[01:03] kmaraas ([email protected]) left irc: Remote closed the connection
[01:03] <ds-work> Company: anyway, are we now doing streaminfo as properties or events?
[01:06] <Company> ds-work: we put it inside the tags
[01:06] <ds-work> Company: how?
[01:06] <Company> ds-work: just like any other tag
[01:06] <ds-work> Company: as you still have not written documentation, that's not very descriptive
[01:08] <Company> there are mails i posted to -devel
[01:09] <Company> parse the tags you have, add them to a GstTagList (API is in gsttag.h), call gst_element_found_tag_for_pad
[01:09] Misirlou ([email protected]) left irc: "asdf"
[01:10] kmaraas ([email protected]) joined #gstreamer.
[01:12] somex1 ([email protected]) joined #gstreamer.
[01:13] <Company> 640 * 480 * 1.5
[01:13] <Company> * 100
[01:13] <Company> that's 46 megabytes
[01:14] <Company> that's what we it's only 640x304
[01:17] <Company> what we had.\n
[01:17] <mathrick> Zeenix: i've found some fishy code in libcaca
[01:18] <mathrick> Zeenix: check mask2shift() in bitmap.c
[01:18] <Company> anyway, I need 50 megs in the queues for this video
[01:19] <Company> oh wait, no i don't
[01:19] <Company> avidemux is f*cked with timestamps
[01:19] <ds-work> or have avidemux parse files in timestamp order like qtdemux does
[01:19] <mathrick> Zeenix: line 167
[01:19] <Company> i think it sets them wrong on outgoing buffers
[01:20] <Company> ds-work: that qtdemux feature is annoying when streaming...
[01:20] pb_ ([email protected]) left irc: "Client exiting"
[01:20] <Company> all demuxers should be chainbased anyway
[01:21] <Company> in fact the whole audio or video player pipeline should be chainbased
[01:22] <Company> there shouldn't be a single loopbased element in theory
[01:23] kmaraas ([email protected]) left irc: "Leaving"
[01:24] <ds-work> and that will let you play what?  MPEG?
[01:25] <Company> it will ease schedulers a whole lot
[01:25] <Company> opt does not work with > 1 loopbased element for example
[01:25] <ds-work> that's opt's problem
[01:25] <Company> (alsasink is loopbased)
[01:25] <Company> i could dig out the "speed" argument :p
[01:26] <Company> handling transient buffers in loopbased functions is harder
[01:26] <ds-work> sounds like alsasink's problem, too
[01:27] <Company> state changes will get a lot harder with loopbased elements in 0.9, too
[01:27] Zeenix ([email protected]) left irc: Read error: 110 (Connection timed out)
[01:27] <ds-work> all loop-based functions should exit often
[01:27] <Company> we have loads of memleaks currently with functions allocating memory and not unfreeing it when their cothread is destroyed
[01:28] <Company> unfreeing
[01:28] <Company> i meant freeing and unreffing at the same time :/
[01:29] Action: ds-work considers removing the fallback property in esdsink
[01:29] <Company> we need to come up with a way for handling "you don't run anymore" correctly anyway
[01:30] <Company> i want gst_pipeline_set_scheduler (new_scheduler) to just work on paused or at least ready pipelines
[01:30] <Company> not because i think it's useful, but because that makes sure that moving elements around does work
[01:36] wheels ([email protected]) left irc: Read error: 113 (No route to host)
[01:39] <mathrick> does bitwise rightshifting copy MSB, or push 0?
[01:40] <mathrick> i.e 1000 >> 1 is 1100 or 0100?
[01:40] <iain> I think its 0100
[01:41] <iain> but I can never remember stuff like that :)
[01:41] <ds-work> depends if the value is signed or not
[01:41] <mathrick> ds-work: which is when?
[01:41] <Company> >> 1 is the same as / 2, no?
[01:42] <ds-work> mathrick: int i = 0xffffffff; printf("0x%x\n",i >>1)
[01:42] <mathrick> Company: yes, but i'm talking about most significant bit
[01:42] <ds-work> prints 0xffffffff
[01:42] <ds-work> unsigned int, it prints 0x7fffffff
[01:43] <mathrick> ds-work: thx, i didn't think about sign :)
[01:44] <iain> Company: when should the scheduler ref a group?
[01:44] Action: iain is trying to fix this ref problem in opt :/
[01:44] <Company> iain: I have absolutely no clue about that scheduler :)
[01:44] <iain> damn
[01:45] Action: ds-work prods Company to write a new scheduler
[01:45] <Company> i think clocking and autoplugging are more pressing
[01:45] <Company> especially because basicomega works
[01:45] <iain> basicomega don't work for me
[01:46] <Company> basicgthread?
[01:46] <iain> ohhh it works
[01:46] <iain> :)
[01:46] <iain> thanks
[01:46] <Company> shit, no fixie ;p
[01:47] <Company> wee, GstElement already has members I need
[01:47] <Company> nice planning ahead
[01:47] <ds-work> s/nice/accidental/
[01:48] <Company> shh
[01:49] <iain> void (* members_1_company_will_need_in_the_future) (GstElement *);
[01:49] <Company> it's already named correctly, too
[01:51] <iain> in spider what is src_0:sink?
[01:51] <Company> spider has proxy elements
[01:51] <Company> the spideridentities
[01:51] <Company> src_0 is the proxy element of the first connected element on the src side
[01:52] <Company> so src_0:src will be connected to osssink
[01:52] <iain> ok
[01:52] sublett ([email protected]) joined #gstreamer.
[01:52] <iain> or whatever else there is to go :)
[01:53] <iain> hmm, well, thats where its crashing...when it tries to unlink mad:src and src_0:sink :/
[01:54] <iain> everytime an element is added to a group it needs to be reffed...
[01:54] Action: iain is thinking out load
[01:54] <iain> or maybe loud
[01:54] <Company> the spideridentities are loopbased btw
[01:55] <iain> okay...at the moment I don't know if thats important or not, but I'll file it away for future reference :)
[01:57] <iain> problem fixed
[01:58] <iain> remove_from_group contained a group_unref
[01:58] <iain> but add_to_group didn't have group_ref
[02:00] <mathrick> could someone look at http://sam.zoy.org/cgi-bin/viewcvs.cgi/*checkout*/trunk/src/bitmap.c?content-type=text%2Fplain&rev=223&root=libcaca in mask2shift() ?
[02:00] <mathrick> i'm incapable of understanding last line, *left = 12 - lshift;
[02:01] <sxpert> 12-lshift goes into the item pointed by left
[02:01] <mathrick> sxpert: thanks ;)
[02:03] kmaraas ([email protected]) joined #gstreamer.
[02:05] <Company> mathrick: it's the number of pixel you need to shift to the left
[02:06] <Company> hm no, it wouldn't be 12 then, would it?
[02:06] <sxpert> Company: I described functionnality, didn't know the semantics :D
[02:07] <Company> 0x00FF0000
[02:07] <Company> rshift = 16, lshift = 4
[02:07] <Company> 0x0000FF00
[02:07] <mathrick> imo left is useless
[02:07] <Company> rshift = 8, lshift = 8
[02:07] <Company> sounds totally stupid :)
[02:08] <Company> rshift = 8, lshift = 4 btw
[02:09] <mathrick> moreover, later in the code mask is used as well as both shifts, it's really strange
[02:10] <Company> hooray for comments
[02:10] <Company> you could just change the value and see what happens ;)
[02:11] <mathrick> Company: tried that, it's still useless ;)
[02:14] <mathrick>         *r += ((bits & bitmap->rmask) >> bitmap->rright) << bitmap->rleft;
[02:14] <mathrick>         *g += ((bits & bitmap->gmask) >> bitmap->gright) << bitmap->gleft;
[02:14] <mathrick>         *b += ((bits & bitmap->bmask) >> bitmap->bright) << bitmap->bleft;
[02:14] <mathrick>         *a += ((bits & bitmap->amask) >> bitmap->aright) << bitmap->aleft;
[02:14] <mathrick> damn, this code is totally pointless, why mask, shift right *and then* shift left?
[02:15] <Company> you get the {r,g,b} value shifted 4 bits to the right
[02:15] <Company> sounds good, doesn't it?
[02:15] <Company> s/right/left
[02:15] <iain> wow, I haven't updated the Marlin news since November
[02:16] <Company> so instead of 255 you get 255*16
[02:16] <iain> and I don't think I've actually done anything since then
[02:16] <Company> that's much more!!
[02:16] <Company> iain: you kept up with cvs HEAD ;)
[02:16] <mathrick> yep, I always suspected shifting 4 bits to the left is going to give me Nirvana ;)
[02:17] <iain> Company: ohhhh yeah, that was what I was doing :)
[02:26] <Company> "gst_clock_new_single_shot_id"
[02:26] <Company> anybody knows what that does? :)
[02:26] <Company> i always think that sounds like a porn contest
[02:28] <ds-work> it creates a one-shot timer
[02:31] <Company> yeah
[02:31] <Company> and returns an "ID"
[02:31] <ds-work> a handle to a timer
[02:31] <ds-work> why it's not a pointer... well...
[02:32] <Company> yeah
[02:32] <Company> and it gives you a huuuge struct
[02:33] <Company> and everything inside apart from 2 things is not implemented...
[02:34] <ds-work> typical wtay :)
[02:34] <iain> okay, opt should be fixed now :)
[02:34] <walters> iain: really?
[02:34] <iain> well, the problem I was having should be
[02:34] <walters> iain: good work then :)
[02:35] <iain> let me know if there's any other easy problems with it
[02:35] <iain> preferably ones that can be fixed with one line :)
[02:39] iain ([email protected]) left irc: "why do I not get the fun things to do?"
[02:39] <ds-work> how do I catch when a GtkWindow is closed by the window manager?
[02:40] <walters> ds-work: delete_event
[02:41] <ds-work> ah, indeed.  thanks
[02:46] Miko5881 ([email protected]) joined #gstreamer.
[02:57] mxpxpod ([email protected]) left irc: Read error: 110 (Connection timed out)
[02:59] Action: ds-work notes that gob creates disgusting code


-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.