Friday, July 26, 2013

Some things i did today

The callback functions need a lot of work. Issues number 1, 5 and 6 are callback related.
Here are some changes i did today, most of the time i spent analyzing and inspecting:
https://github.com/bananadine/flumotion/commit/08fd2a9afa5d1a017f1bb5427c641b91413530f5

Here's what I've found out about the issues mentioned in the previous post

1.
'verbose_deep_notify_cb' is a function in gstreamer.py and it's called in '_setup_pipeline' in feedcomponent010.py  by 'self.pipeline.connect' . I couldn't find any information on 'connect' and there is no such function in Gst.Pipeline, but there is a Gst.Element.connect()

2.
I tried printing out self.pipeline_string after this line:
https://github.com/bananadine/flumotion/blob/master/flumotion/component/feedcomponent.py#L337
I got multiple print outs, here they are in the worker log along with everything else from the log: http://pastebin.com/b5XU43xA
I'd like to take out one of the print outs which i think is important:
  1. videotestsrc is-live=true name=source ! identity name=identity silent=TRUE ! None ! gdppay name=feeder:default-pay ! multifdsink sync=false name=feeder:default buffers-max=500 buffers-soft-max=450 recover-policy=1

There is a 'None' only in this one and it's for the video test producer. I need to find out where and what gets a None value and fix that.

3.
self.pipeline is initially given a None value and it seems that doesn't change, i need to figure out why is that. Anyway, regarding 'set_new_stream_time':
Gst.Pipeline no longer has a new_stream_time(), Gst.Element has set_start_time() instead.
Also, Gst.Element has the function set_base_time()

5.  Fixed how many arguments are givent o event_probe_cb(). Now i get this:

  1. Traceback (most recent call last):
  2.   File "/home/max/Desktop/flumotion-porting/flumotion/cache/component/b749e957772674b6a3071482d5a39e08/flumotion/component/feedcomponent.py", line 1019, in event_probe_cb
  3.     if 'audio' not in caps[0].to_string():
  4. TypeError: 'Caps' object does not support indexing

Need to fix this tomorrow.




6. Same as above, but i get this instead:

  1. Traceback (most recent call last):
  2.   File "/home/max/Desktop/flumotion-porting/flumotion/cache/component/b749e957772674b6a3071482d5a39e08/flumotion/component/feedcomponent.py", line 986, in buffer_probe_cb
  3.     pad = Gst.Element.get_static_pad('src')
  4. TypeError: unbound method get_static_pad() must be called with Element instance as first argument (got str instance instead)

The old function used to work with strings now i need to give 'get_static_pad' an Element instance.

No comments :

Post a Comment