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