Hi,

I'm not sure if I'm right, but I looked into your code a bit, and I noticed that your function set_current_index(self, index) in V4l2PlaylistModel class which overrides the one from PlaylistModel sets self.current_track to self[index]. In this way current_track represents your model, while it should be playable model - see carefully description of the PlaylistModel class.

If the tip given by Philippe won't help, try to look closer at this issue.

I know that the naming in PlaylistModel is very confusing... I hope within next few days, current_track from PlaylistModel will be replaced by current_playable_model and new attribute 'current_model' will represent actual model (it is set exactly as in your code: self.current_model=self[index] )

Anna

Rui Castro wrote:
Hi,

v4l2src ! ffmpegcolorspace ! xvimagesink works prefectly with
gst-launch. I will try to adapt  video.py.
Thanks for the tip,
Rui


On Wed, Mar 25, 2009 at 9:27 AM, Philippe Normand <[email protected]> wrote:
Does the v4l2src ! ffmpegcolorspace ! xvimagesink works?
If so there might be an issue in pgmimagesink, try to adapt the
pigment-python video.py example to use your custom pipeline and tell us
if you have any issue.

Philippe

Le mercredi 25 mars 2009 à 03:01 +0000, Rui Castro a écrit :
Hi,

I'm trying to make a Player for v4l2 video sources, but i keep getting
the error "Gstreamer The stream is in the wrong
format.:gstbasesrc.c(2426): gst_base_src_start ():
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0:"

I've made a class V4l2DebugPlayer which is a copy from class
elisa.plugins.poblesec.player_video.Player; I've commented the lines
to create a pipeline with element "playbin" and replaced it with a
pipeline like this "v4l2src ! ffmpegcolorspace ! pgmimagesink"; I've
commented all the lines that only make sense in playbin, like setting
the volume property, etc.

I've also made a class V4l2PlayerController that is a copy of
elisa.plugins.poblesec.player_video.PlayerController; I've commented
lines "ribbon.add_control(SkipPreviousControl(self))" and
"ribbon.add_control(SkipNextControl(self))" that were causing error at
start.


Another significant difference from youtube plugin, from which I
copied the resource provider, is the fact that i created the
V4l2PlayerController, with line
"self.frontend.create_controller('/v4l2/v4l2_player')", in method
node_clicked(self, widget, item) because if I didn't
"self.frontend.retrieve_controllers('/v4l2/v4l2_player')" wouldn't
return any controller.
V4l2PlayerController is registered in my setup.py with name
'/v4l2/v4l2_player' but that is not enough for it to be created, i
guess.

The most recent version of the code is in
https://code.launchpad.net/~rui.castro/elisa-plugin-v4l2/devel
I would really appreciated if someone could help me with this. I don't
know what else I can do to make this work.


Rui Castro

Reply via email to