*** tpb has joined #timvideos | 00:00 | |
bananadine | well | 00:00 |
---|---|---|
bananadine | i'm going | 00:00 |
bananadine | and coming back tomorrow | 00:00 |
bananadine | to solve this mystery | 00:00 |
iiie0 | goodnight | 00:00 |
bananadine | goodnight all | 00:00 |
*** bananadine has quit IRC | 00:01 | |
*** Jahanzeb has quit IRC | 00:16 | |
*** Jahanzeb has joined #timvideos | 00:17 | |
*** Jahanzeb has quit IRC | 01:22 | |
*** Jahanzeb has joined #timvideos | 01:48 | |
*** hyades has quit IRC | 02:10 | |
*** Jahanzeb has quit IRC | 02:53 | |
*** mithro has joined #timvideos | 03:59 | |
*** iiie0 has quit IRC | 04:08 | |
*** hyades has joined #timvideos | 04:38 | |
*** parx has left #timvideos | 05:46 | |
*** mithro has quit IRC | 07:22 | |
*** mithro has joined #timvideos | 07:24 | |
*** mithro- has joined #timvideos | 07:28 | |
hyades | mithro-work: mithro meeting? | 07:28 |
hyades | mithro-: | 07:28 |
mithro- | hyades, yes | 07:30 |
hyades | mithro-: joining in 2 mins | 07:30 |
mithro- | Give me 2 too :) | 07:30 |
*** mithro has quit IRC | 07:31 | |
*** hyades0 has joined #timvideos | 07:35 | |
*** hyades is now known as Guest33024 | 07:36 | |
*** hyades0 is now known as hyades | 07:36 | |
hyades | mithro-, im in | 07:37 |
mithro- | hyades, try dragging the bandwidth slider down | 07:39 |
hyades | aye, not again! | 07:39 |
hyades | ya did | 07:39 |
mithro- | hyades, we can just have a text based meeting if you want | 07:39 |
hyades | hmm | 07:39 |
mithro- | still can't hear anything from your end | 07:40 |
mithro- | hyades, lets give up on video/audio | 07:40 |
hyades | some connectivity issues | 07:40 |
hyades | okay. | 07:41 |
mithro- | so, it's effectively mid-term evaluation | 07:41 |
hyades | yeah | 07:41 |
mithro- | hyades, so have you done any work on the mid-term report? | 07:42 |
hyades | i'll post that long blog post sometime today | 07:42 |
hyades | mostly done, some parts left | 07:42 |
mithro- | do you want to dump it into a google doc or something that I can view? | 07:42 |
hyades | okay | 07:42 |
mithro- | and give you feedback on before you post it? | 07:42 |
hyades | k..i do it after this meeting/ | 07:43 |
hyades | most of the unittests were completed | 07:43 |
hyades | integration tests are still left, I have only one of them | 07:44 |
mithro- | I've just installed Ubuntu, what are the steps I need to test your code? | 07:46 |
hyades | first get gst-switch running :) | 07:46 |
mithro- | hyades, assume I know nothing | 07:47 |
mithro- | how does one "first get gst-switch running" | 07:47 |
hyades | i use the uninstalled script for doing it...is that ok? | 07:47 |
mithro- | hyades, what ever steps are required | 07:47 |
hyades | http://cgit.freedesktop.org/gstreamer/gstreamer/tree/scripts/gst-uninstalled | 07:47 |
tpb | <http://ln-s.net/-JbU> (at cgit.freedesktop.org) | 07:48 |
mithro- | hyades, please write up these instructions | 07:48 |
mithro- | hyades, you want to have instructions which even parx could follow | 07:48 |
hyades | okay first u need to download this script | 07:48 |
hyades | then do a ./gst-uninstalled | 07:49 |
mithro- | hyades, writing in IRC is not going to make it possible for parx to follow it | 07:49 |
hyades | i will put in a blog post...i am currently not sure where this script resides on my system | 07:50 |
hyades | i will upload the script also | 07:52 |
*** tansell__laptop has joined #timvideos | 07:53 | |
*** tansell__laptop is now known as mithro | 07:54 | |
*** mithro- has quit IRC | 07:55 | |
hyades | mithro: this is the script | 07:56 |
hyades | http://cgit.freedesktop.org/gstreamer/gstreamer/tree/scripts/create-uninstalled-setup.sh | 07:56 |
tpb | <http://ln-s.net/-as_> (at cgit.freedesktop.org) | 07:56 |
mithro | hyades, that probably gets you into a clean state, but you still need to get the rest working | 07:56 |
hyades | what rest? | 07:57 |
hyades | http://hyades.github.io/blog/Speakertrack-working/ | 07:58 |
tpb | <http://ln-s.net/-asj> (at hyades.github.io) | 07:58 |
mithro | hyades, the installation of gst-switch | 07:58 |
mithro | hyades, yeah that looks like a good thing to start with | 07:59 |
hyades | instead of the link to the script you should use this | 07:59 |
hyades | http://cgit.freedesktop.org/gstreamer/gstreamer/tree/scripts/create-uninstalled-setup.sh | 08:00 |
tpb | <http://ln-s.net/-as_> (at cgit.freedesktop.org) | 08:00 |
hyades | you can even edit that script and remove gst-plugins-bad from line 39 | 08:01 |
hyades | since gst-plugins-bad has to be installed from duzy's repo | 08:02 |
mithro | hyades, your still not getting it - I want you to write down something which lets someone else reproduce your results without having any knowledge about anything except how to type commands into their computer | 08:02 |
hyades | okay, i will better make a script for doing all this :) | 08:03 |
hyades | and also edit this blog post | 08:03 |
mithro | hyades, okay | 08:04 |
mithro | happy to test | 08:04 |
mithro | I'm sure CarlFK and parx will be happy to test too | 08:04 |
hyades | problem with me testing this in VM is that this script requires me to download huge amount of data, which takes lots of time | 08:05 |
*** hyades_ has joined #timvideos | 08:11 | |
hyades_ | mithro: anything else? | 08:13 |
*** hyades has quit IRC | 08:13 | |
mithro | hyades_, not that I can think of | 08:13 |
mithro | do you have any questions yourself? | 08:13 |
hyades_ | i will mail you the gdoc | 08:14 |
*** hyades_ is now known as hyades | 08:16 | |
hyades | mithro: i'll have lunch and quickly come back :) | 08:19 |
mithro | hyades, no hurry | 08:19 |
mithro | hyades, can you give me comment access? | 08:35 |
hyades | yeah gave | 08:40 |
hyades | ur email is [email protected]? | 08:44 |
mithro | hyades, yes | 09:07 |
hyades | i had given u edit access earlier | 09:08 |
mithro | oh wait | 09:09 |
mithro | stupid google | 09:09 |
mithro | it's opened it with my gmail.com account rather then my [email protected] account | 09:09 |
*** Jahanzeb has joined #timvideos | 09:10 | |
mithro | hey Jahanzeb | 09:14 |
mithro | Jahanzeb, numanto is going to release the PCB footprints for the VHDCI connector we are using on the dev board | 09:14 |
mithro | Jahanzeb, Would you find that useful? or are you using the other type of connector (IE female/male) | 09:15 |
Jahanzeb | Hi | 09:15 |
Jahanzeb | I already made it | 09:15 |
Jahanzeb | it on git | 09:15 |
Jahanzeb | vmodvga repository | 09:16 |
mithro | oh well | 09:16 |
mithro | hyades, lots of comments | 09:16 |
hyades | yes | 09:16 |
Jahanzeb | yea just trying to make it as habit | 09:17 |
Jahanzeb | so commiting any time i make a small change | 09:17 |
mithro | Jahanzeb, great! good habit to get into to | 09:17 |
mithro | anyway have to run now | 09:17 |
mithro | so I'm back in time for bananadine | 09:18 |
Jahanzeb | begore u go | 09:18 |
Jahanzeb | just a quick question | 09:18 |
Jahanzeb | can i start working on jpeg optimization? | 09:18 |
mithro | Jahanzeb, at the moment there is no funding for it yet | 09:18 |
mithro | So maybe worth working on your PhD instead :P | 09:19 |
mithro | be back in 20 minutes | 09:19 |
Jahanzeb | Ok yea have to start writing thesis now submission deadline is september :) | 09:20 |
*** mithro has quit IRC | 09:24 | |
*** Jahanzeb has quit IRC | 09:26 | |
*** mithro has joined #timvideos | 09:44 | |
mithro | hyades, oh btw - your audience for the mid-term report is not the mentors, but the general public | 09:45 |
hyades | ohh | 09:45 |
hyades | :/ | 09:45 |
mithro | the mentors have been reading your blog regularly | 09:47 |
mithro | hyades, actually - you should always assume the general public for your blog possts | 09:53 |
mithro | hrm.... | 10:02 |
mithro | hyades, have you ever published a paper for University? | 10:03 |
hyades | no | 10:03 |
hyades | why? | 10:04 |
*** bananadine has joined #timvideos | 11:34 | |
*** Jahanzeb has joined #timvideos | 11:36 | |
bananadine | ping mithro | 11:38 |
mithro | bananadine, running a little late? | 11:38 |
bananadine | i overslept | 11:38 |
bananadine | sorry | 11:38 |
mithro | so where are you at with the stream? | 11:39 |
mithro | I saw you where working with iiie over the weekend | 11:39 |
*** Sewar-- has joined #timvideos | 11:41 | |
bananadine | yes | 11:41 |
bananadine | well i still haven't resolved the pspec issue | 11:42 |
*** Jahanzeb has quit IRC | 11:42 | |
mithro | bananadine, please describe this issue | 11:42 |
bananadine | in the ported version pspec is getting a None value, and the exception gets raised for this line https://github.com/bananadine/flumotion/blob/master/flumotion/common/gstreamer.py#L56 | 11:44 |
tpb | Title: flumotion/flumotion/common/gstreamer.py at master · bananadine/flumotion · GitHub (at github.com) | 11:44 |
bananadine | saying NonType object pspec has no attribute 'name' | 11:44 |
bananadine | pspec is the argument for the pipeline specifications | 11:45 |
bananadine | has stuff like: | 11:45 |
bananadine | <GParamEnum 'pattern'> | 11:45 |
bananadine | <GParamInt 'bitrate'> | 11:45 |
bananadine | so iiie suggest to fake the pspec_name and see what happens | 11:47 |
bananadine | so wrote: | 11:47 |
bananadine | if pspec == None: | 11:47 |
bananadine | pspec_name = 'bitrate' | 11:48 |
bananadine | else: | 11:48 |
bananadine | pspec_name = pspec.name | 11:48 |
bananadine | output = orig.get_property(pspec_name) | 11:48 |
bananadine | well the indenting is not like i pasted, but you get the idea | 11:48 |
mithro | bananadine, so what does the documentation say you will get in that callback? | 11:48 |
bananadine | this is not a gstreamer callback | 11:49 |
mithro | bananadine, okay - so what calls it back then? | 11:50 |
bananadine | https://github.com/bananadine/flumotion/blob/master/flumotion/component/feedcomponent010.py#L410 | 11:50 |
bananadine | this function | 11:51 |
tpb | <http://ln-s.net/-b0U> (at github.com) | 11:51 |
bananadine | i looked in GstPipeline for the connect function | 11:51 |
bananadine | but couldn't find it | 11:51 |
bananadine | you told me to look at this line | 11:51 |
bananadine | https://github.com/bananadine/flumotion/blob/master/flumotion/component/feedcomponent010.py#L410 | 11:51 |
tpb | <http://ln-s.net/-b0U> (at github.com) | 11:51 |
bananadine | sorry | 11:52 |
bananadine | https://github.com/bananadine/flumotion/blob/master/flumotion/component/feedcomponent010.py#L153 | 11:52 |
tpb | <http://ln-s.net/-b0a> (at github.com) | 11:52 |
mithro | bananadine, assuming that the pipeline object is a GstPipeline object is a dangerous assumption to make | 11:52 |
mithro | have to tried printing out what the pipeline object actually is? | 11:53 |
mithro | I suggest both a repr and str | 11:53 |
bananadine | i think i've printed self.pipeline | 11:54 |
mithro | so what is it? | 11:54 |
bananadine | i'll do it again now | 11:54 |
bananadine | forgot | 11:54 |
bananadine | here mithro | 11:56 |
bananadine | i printed self.pipeline in feedcomponent010.py | 11:57 |
bananadine | <Pipeline object at 0x95602d4 (GstPipeline at 0x94f03a8)> | 11:57 |
bananadine | <Pipeline object at 0x9649784 (GstPipeline at 0x9792618)> | 11:57 |
bananadine | <Pipeline object at 0x988d66c (GstPipeline at 0x9844758)> | 11:57 |
bananadine | etc. | 11:57 |
mithro | okay | 11:58 |
mithro | I recommend printing out | 11:58 |
mithro | self.pipeline.__class__ | 11:58 |
bananadine | <class 'gi.repository.Gst.Pipeline'> | 11:59 |
mithro | okay, so it is a Gst.Pipeline object | 12:00 |
mithro | so your safe there :) | 12:00 |
bananadine | yes | 12:00 |
bananadine | confirmed | 12:00 |
mithro | have you tried creating a GstPipeline object in iPython/bPython? | 12:00 |
bananadine | no i haven't | 12:00 |
mithro | that might let you discover where the .connect method is coming from | 12:03 |
bananadine | hmm | 12:05 |
bananadine | i don't know how that'll work | 12:05 |
bananadine | oh wait | 12:06 |
bananadine | Found a Gst.Pipeline.connect with auto complete | 12:06 |
bananadine | i could find it before | 12:06 |
bananadine | or i've missed it | 12:06 |
bananadine | i don't know | 12:06 |
bananadine | how do i find more about it? | 12:07 |
bananadine | i couldn't find it before * | 12:07 |
mithro | try | 12:09 |
mithro | help(pipeline.connect) | 12:09 |
bananadine | wow | 12:11 |
bananadine | Help on method_descriptor: | 12:11 |
bananadine | connect(...) | 12:11 |
bananadine | this is all i got | 12:11 |
bananadine | :( | 12:11 |
mithro | bananadine, sadly that is not unexpected | 12:12 |
bananadine | well, what now? | 12:15 |
mithro | We try and figure out what method that maps to on the C api | 12:15 |
mithro | as the C API does have documentation | 12:16 |
mithro | bananadine, find Gst-1.0.gir | 12:17 |
*** Sewar-- has quit IRC | 12:19 | |
bananadine | /usr/share/gir-1.0 | 12:20 |
bananadine | mithro what to do with that file? | 12:20 |
mithro | looks like connect doesn't come from gstreamer | 12:20 |
mithro | bananadine, if you open that file you'll see the definition for GstPipeline | 12:20 |
mithro | <class name="Pipeline" | 12:20 |
mithro | c:symbol-prefix="pipeline" | 12:20 |
mithro | c:type="GstPipeline" | 12:20 |
bananadine | ok, btw | 12:21 |
bananadine | https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-connect | 12:21 |
tpb | <http://ln-s.net/-b2_> (at developer.gnome.org) | 12:21 |
mithro | yeah I was hoping for nothing a little nicer then that | 12:22 |
mithro | I did a google search for | 12:23 |
mithro | "gstreamer deep-notify" | 12:24 |
mithro | and came up with | 12:24 |
mithro | http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#GstObject-deep-notify | 12:24 |
tpb | <http://ln-s.net/-b2f> (at gstreamer.freedesktop.org) | 12:24 |
*** hyades has quit IRC | 12:25 | |
bananadine | so pspec is equivalent to prop | 12:25 |
*** Jahanzeb has joined #timvideos | 12:27 | |
mithro | http://gstreamer.freedesktop.org/data/doc/gstreamer/0.10.36/gstreamer/html/GstObject.html#GstObject-deep-notify | 12:27 |
tpb | <http://ln-s.net/-b2o> (at gstreamer.freedesktop.org) | 12:27 |
mithro | so it doesn't look like the callback change at all? | 12:28 |
bananadine | it's the same | 12:28 |
bananadine | yes | 12:28 |
bananadine | well | 12:29 |
bananadine | why does this happen then | 12:29 |
bananadine | something blocking the way? | 12:29 |
mithro | good question | 12:29 |
mithro | bananadine, so going back to the verbose_deep_notify_cb | 12:30 |
mithro | what is the full set of arguments it gets? | 12:31 |
bananadine | (object, orig, pspec, component) | 12:31 |
bananadine | and they all have values, only pspec has None | 12:32 |
mithro | what are the values they have? | 12:32 |
bananadine | 'print object' prints <Pipeline object at 0x9cb0c34 (GstPipeline at 0x9ce6c38)> | 12:33 |
bananadine | 'print orig' prints <__main__.GstMultiFdSink object at 0x9868c0c (GstMultiFdSink at 0x98656d0)> | 12:33 |
bananadine | 'print pspec' prints None | 12:33 |
bananadine | 'print component' prints all components in the pipeline | 12:33 |
bananadine | (videotest, audiotest, encoders etc.) | 12:33 |
mithro | okay | 12:35 |
mithro | what happens if you just do nothing if pspec was none? | 12:37 |
mithro | IE | 12:37 |
mithro | "if pspec is None: return" | 12:37 |
bananadine | haven't tried that | 12:38 |
mithro | maybe it's just getting called even when something other then a property is being updated? | 12:38 |
mithro | actually looking at this function | 12:38 |
mithro | all it does is log information about properties changes | 12:39 |
bananadine | well | 12:40 |
bananadine | when i put that line | 12:40 |
bananadine | the worker output is a lot smaller | 12:40 |
bananadine | :P | 12:40 |
bananadine | there is no error because of the line i put | 12:41 |
mithro | bananadine, what do you mean? | 12:41 |
bananadine | well the pspec error is gone | 12:41 |
bananadine | and | 12:41 |
bananadine | there's no new error | 12:41 |
mithro | and is it working? | 12:43 |
bananadine | what? the stream? | 12:43 |
bananadine | mithro the stream is not working since there a couple of other smaller errors | 12:48 |
bananadine | mostly "before it took this now it takes something else as an argument" | 12:48 |
bananadine | but i'm not sure of what to exactly do with them | 12:48 |
mithro | I wouldn't call them small errors | 12:49 |
bananadine | can i show you one of them? | 12:49 |
mithro | sure | 12:52 |
mithro | bananadine, but I'm going to be grumpy if you haven't atleast done your homework and looked up the stuff in the documentation | 12:52 |
bananadine | i've looked | 12:52 |
bananadine | but i don't know what to do with the code | 12:53 |
bananadine | http://pastebin.com/j7F7aJr7 here's the error | 12:53 |
tpb | Title: Twisted traceback: Traceback (most recent call last): File "/usr/lib/python2 - Pastebin.com (at pastebin.com) | 12:53 |
bananadine | the code before the port | 12:53 |
bananadine | https://code.flumotion.com/cgit/flumotion/tree/flumotion/component/feedcomponent010.py#n501 | 12:53 |
tpb | <http://ln-s.net/-b3N> (at code.flumotion.com) | 12:54 |
bananadine | after: https://github.com/bananadine/flumotion/blob/master/flumotion/component/feedcomponent010.py#L504 | 12:54 |
tpb | <http://ln-s.net/-b3O> (at github.com) | 12:54 |
bananadine | get_name is from the parent of GstPipeline, GstBin | 12:54 |
bananadine | http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html#gst-bin-get-by-name | 12:55 |
tpb | <http://ln-s.net/-b3T> (at gstreamer.freedesktop.org) | 12:55 |
bananadine | it's the same in gst 0.10 | 12:55 |
mithro | bananadine, so what is self.pipeline? | 13:03 |
mithro | oh | 13:04 |
mithro | wait | 13:04 |
mithro | what is happening is that the get_by_name method is not being properly bound to the pipeline class | 13:04 |
mithro | try printing out | 13:04 |
mithro | repr(self.pipeline), repr(self.pipeline.get_by_name) | 13:05 |
bananadine | nothing got printed out... | 13:07 |
mithro | and the problem is | 13:08 |
mithro | self.pipeline = Gst.Pipeline | 13:08 |
mithro | that line is totally not valid | 13:08 |
bananadine | oh wawit | 13:08 |
bananadine | forgot to put print before repr() | 13:08 |
mithro | bananadine, plus | 13:08 |
bananadine | ah yes i forgot to tell you | 13:08 |
bananadine | that line | 13:08 |
bananadine | self.pipeline changes to another Gst class | 13:08 |
mithro | bananadine, I can find no reference to these lines in the original code | 13:08 |
bananadine | in that functio | 13:08 |
bananadine | n | 13:09 |
bananadine | so i bring it back | 13:09 |
bananadine | wait | 13:09 |
bananadine | i'll comment that line | 13:09 |
bananadine | and show you what self.pipeline gives | 13:09 |
bananadine | mithro, i get nothing from printing self.pipeline or repr(self.pipeline) | 13:13 |
bananadine | and since i commented that line i don't get the error | 13:13 |
mithro | I have no idea why you thought it would be a good idea to assign a bare class to that variable | 13:14 |
bananadine | printing doesn't work there | 13:15 |
bananadine | i'll try with raising an exception | 13:15 |
bananadine | mithro, | 13:17 |
bananadine | raise Exception(self.pipeline) | 13:17 |
bananadine | exceptions.Exception: <Pipeline object at 0x9d796bc (GstPipeline at 0x9d36758)> | 13:17 |
bananadine | well it's ok now | 13:17 |
bananadine | i mean the self.pipeline thing | 13:17 |
bananadine | before it used to return GstElement i think | 13:17 |
bananadine | so that's why i assigned Gst.Pipeline | 13:17 |
bananadine | to that variable | 13:17 |
bananadine | now to get this working https://github.com/bananadine/flumotion/blob/master/flumotion/component/feedcomponent010.py#L504 | 13:19 |
tpb | <http://ln-s.net/-b3O> (at github.com) | 13:19 |
bananadine | because element is none (in other words it gets nothing from this, right) | 13:19 |
bananadine | ? | 13:19 |
*** hyades has joined #timvideos | 13:21 | |
bananadine | raise Exception(self.pipeline.get_by_name('src')) | 13:21 |
bananadine | exceptions.Exception: None | 13:21 |
bananadine | right... | 13:21 |
bananadine | mithro i'm going to eat, see what i wrote | 13:24 |
bananadine | be back in 10 min. | 13:24 |
mithro | what makes you think that get_by_name('src') would return anything? | 13:24 |
mithro | I probably won't be around thenm | 13:24 |
hyades | mithro: is there any place where i can get VMs. My system has no RAM left | 13:25 |
mithro | why do you want VMs? | 13:25 |
mithro | nothing you are doing should require VMs | 13:25 |
hyades | try out installing, I don't want to loose my existing things | 13:26 |
mithro | hyades, use a chroot | 13:26 |
hyades | okay | 13:28 |
bananadine | mithro, i'm back | 13:29 |
bananadine | ok so there wasn't a get_by_name before | 13:29 |
bananadine | https://code.flumotion.com/cgit/flumotion/tree/flumotion/component/feedcomponent010.py#n501 | 13:29 |
tpb | <http://ln-s.net/-b3N> (at code.flumotion.com) | 13:29 |
bananadine | but now it needs this to get the element | 13:30 |
bananadine | because the function set_base_time etc. | 13:30 |
bananadine | are in GstElement | 13:30 |
bananadine | oh wait... | 13:32 |
mithro | bananadine, you need to work out which element the old functions where routed too | 13:32 |
bananadine | pipeline does have those functions | 13:33 |
bananadine | somewhere i read otherwise and changed it without double checking | 13:34 |
bananadine | silly mistake | 13:34 |
bananadine | well this reduces the number of errors | 13:35 |
bananadine | mithro, got time for one more? | 13:38 |
mithro | bananadine, I guess | 13:39 |
mithro | but I might disappear at any time | 13:39 |
bananadine | alright | 13:39 |
bananadine | here's what was before | 13:39 |
bananadine | https://code.flumotion.com/cgit/flumotion/tree/flumotion/component/feedcomponent.py#n990 | 13:39 |
tpb | <http://ln-s.net/-_dK> (at code.flumotion.com) | 13:39 |
bananadine | http://www.valadoc.org/#!api=gstreamer-0.10/Gst.BufferProbeCallback | 13:39 |
tpb | <http://ln-s.net/-b4k> (at www.valadoc.org) | 13:39 |
bananadine | here what is now | 13:39 |
bananadine | https://github.com/bananadine/flumotion/blob/master/flumotion/component/feedcomponent.py#L984 | 13:39 |
bananadine | http://references.valadoc.org/#!api=gstreamer-1.0/Gst.PadProbeCallback | 13:39 |
tpb | <http://ln-s.net/-b4l> (at github.com) | 13:39 |
tpb | <http://ln-s.net/-b4m> (at references.valadoc.org) | 13:39 |
bananadine | i'm not sure i did right here | 13:40 |
bananadine | so i need to you tell me | 13:40 |
bananadine | i get: | 13:40 |
bananadine | Traceback (most recent call last): | 13:40 |
bananadine | File "/home/max/Desktop/flumotion-porting/flumotion/cache/component/aec307a20c9dc39fab3ef842b25076c2/flumotion/component/feedcomponent.py", line 985, in buffer_probe_cb | 13:40 |
bananadine | pad = Gst.Element.get_static_pad('src') | 13:40 |
bananadine | TypeError: unbound method get_static_pad() must be called with Element instance as first argument (got str instance instead) | 13:40 |
bananadine | i know what it means | 13:40 |
bananadine | pre-port that line was pad = depay.get_pad("src") | 13:41 |
bananadine | now i deleted dpay | 13:41 |
bananadine | and the line is | 13:41 |
bananadine | pad = Gst.Element.get_static_pad('src') | 13:41 |
bananadine | which is bad | 13:41 |
bananadine | i know it should be like this | 13:41 |
bananadine | shouldn't* | 13:41 |
mithro | so | 13:42 |
mithro | Gst.Element.get_static_pad('src') <- you can do that | 13:43 |
mithro | you need to call get_static_pad('src') on a GstElement element | 13:43 |
mithro | not the class | 13:43 |
bananadine | but i need to tell where from | 13:43 |
bananadine | yes | 13:43 |
bananadine | but i don't have a GstElement | 13:44 |
bananadine | i think dpay was a GstElement | 13:45 |
mithro | try starting up the old system and print each of the elements | 13:46 |
bananadine | i can do that | 13:46 |
mithro | so | 13:48 |
mithro | you want to look at where you bind too | 13:48 |
mithro | depay.get_pad("src").add_buffer_probe( | 13:49 |
mithro | self.buffer_probe_cb, depay, e) | 13:49 |
bananadine | i looked there | 13:49 |
bananadine | it's in place of the callback function argument | 13:50 |
bananadine | and that function is described in the link i sent you above | 13:50 |
bananadine | http://www.valadoc.org/#!api=gstreamer-0.10/Gst.BufferProbeCallback | 13:50 |
tpb | <http://ln-s.net/-b4k> (at www.valadoc.org) | 13:50 |
bananadine | and in the new gst | 13:50 |
bananadine | http://references.valadoc.org/#!api=gstreamer-1.0/Gst.PadProbeCallback | 13:50 |
tpb | <http://ln-s.net/-b4m> (at references.valadoc.org) | 13:50 |
mithro | so originally it gave the depay element | 13:50 |
mithro | depay = self.get_element(self.eaters[e].depayName) | 13:52 |
mithro | self._probes[e] = \ | 13:52 |
mithro | depay.get_pad("src").add_buffer_probe( | 13:52 |
mithro | self.buffer_probe_cb, depay, e) | 13:52 |
bananadine | had to raise to get what dpay has (in the pre-port flumotion) | 13:52 |
bananadine | Exception: INFO [ 9598] "muxer-audio-video:eater:default-bis" default Jul 29 15:51:32 /GstPipeline:pipeline-muxer-audio-video/GstGDPDepay:eater:default-depay (__main__.GstGDPDepay) | 13:52 |
bananadine | right | 13:52 |
mithro | so you removed depay from add_buffer_probe because? | 13:53 |
*** hyades has quit IRC | 13:53 | |
bananadine | it couldn't take that many arguments | 13:54 |
*** hyades has joined #timvideos | 13:54 | |
mithro | try | 13:54 |
mithro | depay.get_pad("src").add_buffer_probe(self.buffer_probe_cb, [depay, e]) | 13:54 |
mithro | or | 13:54 |
mithro | depay.get_pad("src").add_buffer_probe(self.buffer_probe_cb, (depay, e)) | 13:55 |
mithro | then on the other end | 13:55 |
bananadine | i can't add_buffer_probe | 13:55 |
bananadine | in the new gstreamer | 13:55 |
mithro | def buffer_probe_cb(self, pad, probe_info, clientData): | 13:55 |
bananadine | it's just add_probe | 13:55 |
mithro | depay, e = clientData | 13:55 |
mithro | s/add_buffer_probe/add_probe/ | 13:56 |
bananadine | so | 13:57 |
bananadine | what you're saying is | 13:57 |
bananadine | replace | 13:57 |
bananadine | def buffer_probe_cb(self, pad, probe_info, eaterAlias): | 13:57 |
bananadine | with | 13:57 |
bananadine | def buffer_probe_cb(self, pad, probe_info, clientData): | 13:57 |
bananadine | ? | 13:57 |
mithro | yes | 13:57 |
mithro | then in | 13:57 |
mithro | buffer_probe_cb | 13:57 |
mithro | depay, e = clientData | 13:57 |
bananadine | what about eaterAlias? | 13:57 |
bananadine | it uses it in | 13:57 |
bananadine | srcpad_to_link = self.get_eater_srcpad(eaterAlias) | 13:58 |
mithro | e == eaterAlias | 13:58 |
bananadine | and Gst.Element.get_static_pad("src").remove_probe(self._probes[eaterAlias]) | 13:58 |
bananadine | aaa | 13:58 |
mithro | do you understand that clientData can be anything? | 13:59 |
bananadine | didn't understand that | 13:59 |
bananadine | but as i see | 14:00 |
bananadine | since the callback defined here http://references.valadoc.org/#!api=gstreamer-1.0/Gst.PadProbeCallback | 14:00 |
tpb | <http://ln-s.net/-b4m> (at references.valadoc.org) | 14:00 |
bananadine | only has 2 arguments | 14:00 |
bananadine | is this why it can be anything? | 14:00 |
bananadine | mithro | 14:01 |
bananadine | Traceback (most recent call last): | 14:01 |
bananadine | File "/home/max/Desktop/flumotion-porting/flumotion/cache/component/712f7faa53a666720b6bb0223de1c735/flumotion/component/feedcomponent.py", line 985, in buffer_probe_cb | 14:01 |
bananadine | depay, eaterAlias = clientData | 14:01 |
bananadine | ValueError: too many values to unpack | 14:01 |
mithro | what is clientData? | 14:01 |
bananadine | i don't know | 14:02 |
bananadine | you just told me to put it there | 14:02 |
mithro | print it then! | 14:02 |
bananadine | and i put it | 14:02 |
bananadine | ok | 14:02 |
bananadine | it printed out | 14:04 |
bananadine | default | 14:04 |
mithro | default? | 14:04 |
bananadine | yea | 14:04 |
bananadine | just that | 14:05 |
mithro | repr it | 14:05 |
bananadine | raise Exception(repr(clientData)) | 14:06 |
bananadine | Exception: 'default' | 14:06 |
mithro | okay | 14:06 |
mithro | my guess that is e | 14:06 |
mithro | did you update the add_probe? | 14:06 |
bananadine | depay.get_static_pad("src").add_probe( | 14:07 |
bananadine | Gst.PadProbeType.BUFFER, self.buffer_probe_cb, e) | 14:07 |
bananadine | ? | 14:07 |
mithro | no you didnt | 14:07 |
bananadine | i'll do it now | 14:07 |
bananadine | wow | 14:09 |
mithro | you understand when you change the callback you also have to update the thing which calls it | 14:09 |
bananadine | it got pass the error it gave before | 14:09 |
bananadine | right right | 14:09 |
bananadine | that's wht it couldn't assign to e and depay | 14:09 |
bananadine | well now i got some errors which i can fix on my own | 14:12 |
bananadine | (stuff i missed to port) | 14:12 |
*** Jahanzeb has left #timvideos | 14:21 | |
bananadine | mithro, what can i do to pass a return value of something from one function | 15:18 |
bananadine | as an argument in something in another function | 15:18 |
bananadine | for example this: https://code.flumotion.com/cgit/flumotion/tree/flumotion/component/feedcomponent.py#n819 | 15:19 |
bananadine | is ported to pad.add_probe(Gst.PadProbeType.BLOCK, self._on_eater_blocked, None) | 15:19 |
tpb | <http://ln-s.net/-b9I> (at code.flumotion.com) | 15:19 |
bananadine | and this: https://code.flumotion.com/cgit/flumotion/tree/flumotion/component/feedcomponent.py#n825 | 15:19 |
tpb | <http://ln-s.net/-b9J> (at code.flumotion.com) | 15:19 |
bananadine | to pad.remove_probe() | 15:19 |
bananadine | but i need to pass the return value of the first to the pad.remove_probe( | 15:20 |
bananadine | pad.remove_probe() * | 15:20 |
bananadine | the return value of add_probe is the probe id | 15:20 |
mithro | bananadine, store it somewhere | 15:21 |
mithro | and I'm pretty sure that is not being ported to add_probe | 15:21 |
mithro | pad.set_blocked_async(True, self._on_eater_blocked) | 15:22 |
mithro | 15:22 | |
mithro | that line is actually doing something other then just setting a callback | 15:22 |
bananadine | mithro | 15:23 |
bananadine | gst_pad_set_blocked(), gst_pad_set_blocked_async(), | 15:24 |
bananadine | gst_pad_set_blocked_async_full() are removed, use the gst_pad_add_probe() | 15:24 |
bananadine | method with the GST_PAD_PROBE_TYPE_BLOCK to get the same result as the async | 15:24 |
bananadine | blocking version. | 15:24 |
mithro | bananadine, looks like you are right | 15:25 |
mithro | so I'm confused at what your problem is? | 15:26 |
bananadine | it's a bit silly | 15:26 |
bananadine | so i store it in some variable | 15:26 |
bananadine | lets say | 15:26 |
bananadine | probe_id = pad.add_probe(Gst.PadProbeType.BLOCK, self._on_eater_blocked, None) | 15:26 |
bananadine | how do i then pass that in the other function? | 15:26 |
bananadine | do i need to define probe_id as a global variable? | 15:27 |
*** hyades has quit IRC | 15:28 | |
mithro | umm | 15:29 |
mithro | these functions are on a object right? | 15:29 |
mithro | store it on the object | 15:30 |
mithro | and make sure you don't leak callbacks by accidently overwritting them | 15:30 |
bananadine | alright! | 15:31 |
*** hyades has joined #timvideos | 15:32 | |
*** hyades0 has joined #timvideos | 15:44 | |
*** hyades has quit IRC | 15:52 | |
*** hyades0 is now known as hyades | 15:53 | |
*** hyades_ has joined #timvideos | 15:55 | |
*** hyades has quit IRC | 15:57 | |
*** mithro has quit IRC | 16:07 | |
*** bananadine has quit IRC | 16:07 | |
*** hyades_ is now known as hyades | 16:12 | |
*** hyades has quit IRC | 16:46 | |
*** hyades has joined #timvideos | 16:54 | |
*** hyades has quit IRC | 17:01 | |
*** hyades has joined #timvideos | 17:06 | |
*** iiie is now known as iiie2 | 17:09 | |
*** Jahanzeb has joined #timvideos | 17:35 | |
*** hyades has quit IRC | 17:46 | |
*** hyades has joined #timvideos | 17:49 | |
*** hyades has quit IRC | 18:56 | |
*** hyades has joined #timvideos | 18:57 | |
*** CarlFK has joined #timvideos | 19:14 | |
hyades | hi CarlFK | 19:23 |
CarlFK | http://pyvideo.org/video/2267/my-adventures-with-mock not only talks about the mock module, but testing strategies and philosophies and general chit-chat | 19:24 |
tpb | <http://ln-s.net/-bBq> (at pyvideo.org) | 19:24 |
CarlFK | hi hyades | 19:24 |
hyades | i'll write about building gst-switch in a while. Can you try it out whenever you have time? | 19:30 |
CarlFK | maybe in about 24 hours | 19:31 |
hyades | kk | 19:32 |
*** iiie has joined #timvideos | 19:38 | |
*** iiie0 has joined #timvideos | 20:02 | |
*** parx has joined #timvideos | 20:27 | |
*** hyades has quit IRC | 20:36 | |
*** hyades has joined #timvideos | 20:41 | |
*** hyades has quit IRC | 20:49 | |
*** hyades has joined #timvideos | 21:07 | |
hyades | https://gist.github.com/hyades/6107999 | 21:32 |
tpb | Title: install.sh (at gist.github.com) | 21:32 |
*** CarlFK has quit IRC | 22:20 | |
*** Jahanzeb has left #timvideos | 23:09 | |
*** mithro has joined #timvideos | 23:49 | |
*** mithro has quit IRC | 23:59 |
Generated by irclog2html.py 2.12.1 by Marius Gedminas - find it at mg.pov.lt!