<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.video.gstreamer.devel">
    <title>gmane.comp.video.gstreamer.devel</title>
    <link>http://blog.gmane.org/gmane.comp.video.gstreamer.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38948"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38945"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38939"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38937"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38933"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38928"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38926"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38924"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38922"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38921"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38916"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38915"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38910"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38908"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38906"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38903"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38898"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38887"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38884"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38883"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38948">
    <title>Memory not released gstrtpbin on pad removed</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38948</link>
    <description>&lt;pre&gt;i am trying to determine why the memory consumed doesnt return to pre - pad
added level even after unlinking and removing all elements added from
pipline.

udpsrc --&amp;gt; gstrtpbin
Memory :: 2640K

on pad-added signal for gstrtpbin (autoremove=true)

I add and link the following elements to the bin 

[gstrtpbin(srcPad)(existing)]--&amp;gt;sink
(queue)--&amp;gt;rtpspeexdepay--&amp;gt;speexdec--&amp;gt;directsoundsink

The stream starts playing Memory ::3120K - Everything fine

When pad-removed signal is recieved

I unlink ,remove, Set state to NULL and unref for the following elements
--&amp;gt;sink --&amp;gt;rtpspeexdepay--&amp;gt;speexdec--&amp;gt;directsoundsink
The ref count at the end of the function for each element shows 0.

i expect the memory to got back to its previous level of 2640K But instead
it is 2750K.

Am I missing some obvious part i need to do. Or how can I trace this
increased memory size?

I am using OSSBuild.

Cheers

Tanmay Ambre

--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Memory-not-released-gstrtpbin-on-pad-removed-tp4654362.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
&lt;/pre&gt;</description>
    <dc:creator>tanmay.ambre</dc:creator>
    <dc:date>2012-05-25T13:17:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38945">
    <title>can't control valve drop property</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38945</link>
    <description>&lt;pre&gt;I am mixing a video stream with a static image.  That's working fine.  I
would like to dynamically turn the image off/on at certain times.  My idea
was to put a valve after the image stream and use a controller to toggle the
drop property.  But alas, I get an error when trying to create that
controller,

In [45]: gst.Controller( gst.element_factory_make( 'valve' ), 'drop' )

** (ipython:2530): CRITICAL **: gst_controlled_property_new: assertion
`(pspec-&amp;gt;flags &amp;amp; (G_PARAM_WRITABLE | GST_PARAM_CONTROLLABLE |
G_PARAM_CONSTRUCT_ONLY)) == (G_PARAM_WRITABLE | GST_PARAM_CONTROLLABLE)'
failed
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)

/mnt/transfer/&amp;lt;ipython console&amp;gt; in &amp;lt;module&amp;gt;()

RuntimeError: could not create GstController object

--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/can-t-control-valve-drop-property-tp4653499.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
&lt;/pre&gt;</description>
    <dc:creator>jomifo</dc:creator>
    <dc:date>2012-05-24T19:41:16</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38939">
    <title>Streaming 1080p24 H264/AVC and MPEG4/AAC, lip synchronization usinggstrtpbin, unable to link in video_00? (bug?)</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38939</link>
    <description>&lt;pre&gt;Hi,

I'm on a mission to have a server stream a file containing H264/AVC
and MPEG4/AAC to two other hosts. One of these hosts will play the
video stream and the other will play the audio stream. I need A/V lip
syncrhonization between these two hosts so as far as I understand I
need to use the gstrtpbin plugin in order to utilize the RTP/RTCP
protocol to obtain this kind of synchronization.

I'm playing around with gst-launch to test the RTP/RTCP stuff. My
server pipeline is based on the RTP reference example found here:
http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/tests/examples/rtp/server-v4l2-H264-alsasrc-PCMA.sh

This is the basic server pipeline I'm trying to configure (assumes it
all running on the same server, ie. no "host=" stuff):

gst-launch
                \
    gstrtpbin name=rtpbin
                \
        filesrc location=battleship.mp4 ! qtdemux name=demux
                \
            demux.video_00 ! queue ! rtph264pay !
rtpbin.send_rtp_sink_0               \
                  rtpbin.send_rtp_src_0 ! udpsink port=5000
                \
                  rtpbin.send_rtcp_src_0 ! udpsink port=5001
sync=false async=false    \
                  udpsrc port=5005 ! rtpbin.recv_rtcp_sink_0
                \
            demux.audio_00 ! queue ! rtpmp4apay !
rtpbin.send_rtp_sink_1               \
                  rtpbin.send_rtp_src_1 ! udpsink port=5002
                \
                  rtpbin.send_rtcp_src_1 ! udpsink port=5003
sync=false async=false    \
                  udpsrc port=5007 ! rtpbin.recv_rtcp_sink_1

This fails to link in the video stream?

With debug enabled it spews out various errors regarding
demux:video_00 and queue0 unable to connect:

GST_ELEMENT_PADS gstutils.c:1101:gst_element_get_compatible_pad:
finding pad in queue0 compatible with demux:video_00
GST_PADS gstutils.c:1032:gst_pad_check_link: trying to link
demux:video_00 and queue0:sink
GST_CAPS gstpad.c:2336:gst_pad_get_caps_reffed:&amp;lt;demux:video_00&amp;gt; get pad caps
GST_CAPS gstpad.c:2246:gst_pad_get_caps_unlocked:&amp;lt;demux:video_00&amp;gt; get pad caps
GST_CAPS gstpad.c:2250:gst_pad_get_caps_unlocked:&amp;lt;demux:video_00&amp;gt;
dispatching to pad getcaps function
GST_CAPS gstpad.c:2263:gst_pad_get_caps_unlocked:&amp;lt;demux:video_00&amp;gt; pad
getcaps returned video/x-h264, stream-format=(string)avc,
alignment=(string)au, level=(string)4, profile=(string)high,
codec_data=(buffer)01640028ffe1001c67640028acd94078067b016a020202800000030080015f90078c18cb01000668ebe08cb22c,
width=(int)1920, height=(int)816, framerate=(fraction)45000/1877,
pixel-aspect-ratio=(fraction)1/1
GST_ELEMENT_PADS
gstutils.c:1195:gst_element_get_compatible_pad:&amp;lt;queue0&amp;gt; Could not find
a compatible unlinked always pad to link to demux:video_00, now
checking request pads
...
GST_ELEMENT_PADS gstutils.c:1829:gst_element_link_pads_full: no link
possible from demux:video_00 to queue0
default gstutils.c:2037:gst_element_link_pads_filtered: Could not link
pads: demux:video_00 - queue0:(null)


Yet, the same troublesome pipeline elements is tested to work
perfectly for direct streaming when not in combination with gstrtpbin:

gst-launch filesrc location=battleship.mp4 ! qtdemux name=demux \
demux.video_00 ! queue ! rtph264pay ! udpsink port=3000 \
demux.audio_00 ! queue ! rtpmp4apay ! udpsink port=5000

So obviously demux:video_00 and queue0:sink can actually connect.

What I don't understand why my server pipeline does not work in
combination with gstrtpbin... Might this be a bug or am I missing
something here?

I'm testing on Ubuntu 12.04, gstreamer: base 0.10.36, good 0.10.31,
bad 0.10.22.3.

Any help/input is appreciated.

Br, Martin

P.s. The clip I'm using is found here
http://download4.dvdloc8.com/trailers/divxdigest/battleship-trailer2.zip
&lt;/pre&gt;</description>
    <dc:creator>Martin Lund</dc:creator>
    <dc:date>2012-05-24T13:02:41</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38937">
    <title>ffenc_msmpeg4v2: failed to encode buffer</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38937</link>
    <description>&lt;pre&gt;Hi, reffering to 
http://gstreamer-devel.966125.n4.nabble.com/Gnonlin-question-extract-audio-video-clip-td2305307.html#a3063249
THIS  topic i created this pipe:

gst-launch gnlfilesource name=video
caps="video/x-raw-yuv,width=320,height=240" location=file:///D:\\source.avi
start=0 duration=23000000000 media-start=1188000000
media-duration=23000000000 ! identity single-segment=true ! progressreport
update-freq=1 ! ffmpegcolorspace ! ffenc_msmpeg4v2 bitrate=350000 ! avimux
name=mux ! filesink location=D:\\destination.avi gnlfilesource name=audio
caps="audio/x-raw-int,rate=16000,channels=1" location=file:///D:\\source.avi
start=0 duration=23000000000 media-start=1188000000
media-duration=23000000000 ! identity single-segment=true ! audioconvert !
lamemp3enc bitrate=32 ! mux.

When i launch this sometimes, on the same file, i get that errors:

0:00:11.781250000  2512   00B5F320 ERROR                 ffmpeg .:0:: Error,
Inv
alid timestamp=0, last=0
0:00:11.781250000  2512   00B5F320 ERROR                 ffmpeg
gstffmpegenc.c:7
23:gst_ffmpegenc_chain_video:&amp;lt;ffenc_msmpeg4v20&amp;gt; ffenc_msmpeg4v2: failed to
encode buffer

I have read that i should add to my pipe single-segment=true, but i already
have it in my pipe, so where is the problem?

And another problem is that i would like to set new properties for
destination.avi, but gstreamer seems to ignoring all my properties... Why is
that?

thanks for help

--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/ffenc-msmpeg4v2-failed-to-encode-buffer-tp4652677.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
&lt;/pre&gt;</description>
    <dc:creator>padam</dc:creator>
    <dc:date>2012-05-24T06:49:27</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38933">
    <title>How to list elements used by playbin2?</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38933</link>
    <description>&lt;pre&gt;Hello, I want to insert several dlls in my software installer.
So, I need to know, what plugins to include. My program uses playbin2 and two other gstreamer elements.
How can I ask playbin2 to list the elements he used?
&lt;/pre&gt;</description>
    <dc:creator>Kyrylo V Polezhaiev</dc:creator>
    <dc:date>2012-05-23T19:16:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38928">
    <title>Receive RTSP stream without decoding - flumotion</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38928</link>
    <description>&lt;pre&gt;rtsp-producer is a component in flumotion Streaming Server (built on
gstreamer) which recives RTSP stream, decode it and serves decoded audio
and video to the next component in the flow.
I want to modify this component to skip decoding; I just want to recive
RTSP stream and expose the encoded A/V (audio:aac/video:h264) to the next
component (which will mux them useing mp4mux before serving them through
http-streamer to HTML5 webpage)
This is the RTSP component code file (rtsp.py) which generates the pipeline:

class Rtsp(feedcomponent.ParseLaunchComponent):

    def get_pipeline_string(self, properties):
        width = properties.get('width', 0)
        height = properties.get('height', 0)
        location = properties.get('location')
        framerate = properties.get('framerate', (25, 2))
        has_audio = properties.get('has-audio', True)
        if width &amp;gt; 0 and height &amp;gt; 0:
            scaling_template = (" videoscale method=1 ! "
                "video/x-raw-yuv,width=%d,height=%d !" % (width, height))
        else:
            scaling_template = ""
        if has_audio:
            audio_template = "d. ! queue ! audioconvert ! audio/x-raw-int"
        else:
            audio_template = "fakesrc silent=true ! audio/x-raw-int"
        return ("rtspsrc name=src location=%s ! decodebin name=d ! queue "
                " ! %s ffmpegcolorspace ! video/x-raw-yuv "
                " ! videorate ! video/x-raw-yuv,framerate=%d/%d ! "
                " &amp;lt; at &amp;gt;feeder:video&amp;lt; at &amp;gt; %s ! &amp;lt; at &amp;gt;feeder:audio&amp;lt; at &amp;gt;"
                % (location, scaling_template, framerate[0],
                   framerate[1], audio_template))

How do I modify this to achieve my goal ?
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel&amp;lt; at &amp;gt;lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
&lt;/pre&gt;</description>
    <dc:creator>Hossam Khankan</dc:creator>
    <dc:date>2012-05-23T15:24:24</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38926">
    <title>How to run a 2-to-1 element</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38926</link>
    <description>&lt;pre&gt;I have [finally] created a 2-to-1 simple element. My question now is how to
run it (an example gst-launch using 2 videotestsrc and 1 autosink). Here is
the code:



// gst_ntoone.c - Notes on creating a ntoone

/**
 * SECTION:element-plugin
 *
 * This plugin serves as a base template and a learning tool
 * for creating chain elements. All it does is to 
 *
 * &amp;lt;refsect2&amp;gt;
 * &amp;lt;title&amp;gt;Example launch line&amp;lt;/title&amp;gt;
 * |[
 * gst-launch -v -m videontoonesrc pattern=snow ! ntoone ! autovideosink
 * ]|
 * &amp;lt;/refsect2&amp;gt;
 */

#ifdef HAVE_CONFIG_H
#  include &amp;lt;config.h&amp;gt;
#endif

#include &amp;lt;gst/gst.h&amp;gt;
#include "gstntoone.h"
#include &amp;lt;opencv/cv.h&amp;gt;
#include &amp;lt;opencv/highgui.h&amp;gt;

GST_DEBUG_CATEGORY_STATIC (gst_ntoone_debug);
#define GST_CAT_DEFAULT gst_ntoone_debug

enum
{
  PROP_0,
  PROP_SILENT,
  LINE_COLOR
};

/* the capabilities of the inputs and outputs.
 *
 * describe the real formats here.
 */

//Creates a template for the pads. In the _init() function, you can create
//as many pads you want from these templates.
static GstStaticPadTemplate video_sink_factory = GST_STATIC_PAD_TEMPLATE
("video_sink",
    GST_PAD_SINK,
    GST_PAD_ALWAYS,
    GST_STATIC_CAPS ("ANY")
    );

static GstStaticPadTemplate klv_sink_factory = GST_STATIC_PAD_TEMPLATE
("klv_sink",
    GST_PAD_SINK,
    GST_PAD_ALWAYS,
    GST_STATIC_CAPS ("ANY")
    );

static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
    GST_PAD_SRC,
    GST_PAD_ALWAYS,
    GST_STATIC_CAPS ("ANY")
    );

GST_BOILERPLATE (GstNtoone, gst_ntoone, GstElement,
    GST_TYPE_ELEMENT);

//function prototypes
static void gst_ntoone_set_property (GObject * object, guint prop_id,
    const GValue * value, GParamSpec * pspec);
static void gst_ntoone_get_property (GObject * object, guint prop_id,
    GValue * value, GParamSpec * pspec);
static gboolean gst_ntoone_set_caps (GstPad * pad, GstCaps * caps);
static GstFlowReturn gst_ntoone_collected (GstCollectPads * pads, GstNtoone
* filter);

/* GObject vmethod implementations */
static void
gst_ntoone_base_init (gpointer gclass)
{
  GstElementClass *element_class = GST_ELEMENT_CLASS (gclass);

  //Describe the element's details
  //    Plugin name
  //    Plugin type
  //    A brief description
  //    Author and email (email is optional)
  gst_element_class_set_details_simple(element_class,
    "Plugin Template",
    "Ntoone",
    "Generic Chain Element",
    "Jason Trinidad jtrinidad&amp;lt; at &amp;gt;eoir.com");

  
  //Register the tamplates. They can be used
  //in the init() function to create pads
  gst_element_class_add_pad_template (element_class,
      gst_static_pad_template_get (&amp;amp;src_factory));
  gst_element_class_add_pad_template (element_class,
      gst_static_pad_template_get (&amp;amp;video_sink_factory));
  gst_element_class_add_pad_template (element_class,
      gst_static_pad_template_get (&amp;amp;klv_sink_factory));
}

/* initialize the plugin's class */
static void
gst_ntoone_class_init (GstNtooneClass * klass)
{
  GObjectClass *gobject_class;
  GstElementClass *gstelement_class;

  gobject_class = (GObjectClass *) klass;
  gstelement_class = (GstElementClass *) klass;

  gobject_class-&amp;gt;set_property = gst_ntoone_set_property;
  gobject_class-&amp;gt;get_property = gst_ntoone_get_property;

  g_object_class_install_property (gobject_class, PROP_SILENT, 
  g_param_spec_boolean ("silent", "Silent", "Produce verbose output
?",FALSE, G_PARAM_READWRITE));
  

  g_object_class_install_property (gobject_class, LINE_COLOR, 
  g_param_spec_string ("line_color", "Line_color", "Chenge the color of the
line", "red", G_PARAM_READWRITE));

}

/* initialize the new element
 * instantiate pads and add them to element
 */
static void
gst_ntoone_init (GstNtoone * filter,
    GstNtooneClass * gclass)
{
  filter-&amp;gt;srcpad = gst_pad_new_from_static_template (&amp;amp;src_factory, "src");
  gst_pad_set_getcaps_function (filter-&amp;gt;srcpad,
                                GST_DEBUG_FUNCPTR(gst_pad_proxy_getcaps));
  
  filter-&amp;gt;sinkpad1 = gst_pad_new_from_static_template (&amp;amp;video_sink_factory,
"video_sink");
  gst_pad_set_setcaps_function (filter-&amp;gt;sinkpad1,
                                GST_DEBUG_FUNCPTR(gst_ntoone_set_caps));
  gst_pad_set_getcaps_function (filter-&amp;gt;sinkpad1,
                                GST_DEBUG_FUNCPTR(gst_pad_proxy_getcaps));
  
  filter-&amp;gt;sinkpad2 = gst_pad_new_from_static_template (&amp;amp;klv_sink_factory,
"klv_sink");
  gst_pad_set_setcaps_function (filter-&amp;gt;sinkpad2,
                                GST_DEBUG_FUNCPTR(gst_ntoone_set_caps));
  gst_pad_set_getcaps_function (filter-&amp;gt;sinkpad2,
                                GST_DEBUG_FUNCPTR(gst_pad_proxy_getcaps));
  

  filter-&amp;gt;collect = gst_collect_pads_new ();
  gst_collect_pads_set_function (filter-&amp;gt;collect,
      (GstCollectPadsFunction) gst_ntoone_collected, filter);
  
  gst_collect_pads_add_pad (filter-&amp;gt;collect, filter-&amp;gt;sinkpad1, sizeof
(GstCollectData));
  gst_collect_pads_add_pad (filter-&amp;gt;collect, filter-&amp;gt;sinkpad2, sizeof
(GstCollectData));
  
  gst_element_add_pad (GST_ELEMENT (filter), filter-&amp;gt;sinkpad1);
  gst_element_add_pad (GST_ELEMENT (filter), filter-&amp;gt;sinkpad2);
  gst_element_add_pad (GST_ELEMENT (filter), filter-&amp;gt;srcpad);
  filter-&amp;gt;silent = FALSE;
  
}

/*-------------------------------------------------------------------
 * _set_property() is used to set arguments in the element.
 * they can be used when running a pipelin by just typing the
 * property name and the value right next to the plugin
 * e.g. gst-launch -v -m videontoonesrc pattern=snow ! ntoone
line_color=green ! autovideosink
 * where pattern and line_color are properties
 -------------------------------------------------------------------*/
static void
gst_ntoone_set_property (GObject * object, guint prop_id,
    const GValue * value, GParamSpec * pspec)
{
  GstNtoone *filter = GST_NTOONE (object);
   
  switch (prop_id) {
    case PROP_SILENT:
      filter-&amp;gt;silent = g_value_get_boolean (value);
      break;
    case LINE_COLOR:
      g_free (filter-&amp;gt;line_color); 
      filter-&amp;gt;line_color = g_value_dup_string (value); 
      break;
    default:
      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
      break;
  }
}

static void
gst_ntoone_get_property (GObject * object, guint prop_id,
    GValue * value, GParamSpec * pspec)
{
  GstNtoone *filter = GST_NTOONE (object);

 
  switch (prop_id) {
    case PROP_SILENT:
      g_value_set_boolean (value, filter-&amp;gt;silent);
      break;
    case LINE_COLOR:
      g_value_set_string (value, filter-&amp;gt;line_color);
      break;
    default:
      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
      break;
  }
  
}

/* GstElement vmethod implementations */

/* this function handles the link with other elements */
static gboolean
gst_ntoone_set_caps (GstPad * pad, GstCaps * caps)
{
  GstStructure *structure = gst_caps_get_structure(caps,0);
  GstNtoone *filter;
  GstPad *otherpad;

  filter = GST_NTOONE (gst_pad_get_parent (pad));
  
  gst_structure_get_int (structure, "rate", &amp;amp;filter-&amp;gt;srcpad);
  otherpad = (pad == filter-&amp;gt;srcpad) ? filter-&amp;gt;sinkpad1 : filter-&amp;gt;srcpad;
  gst_object_unref (filter);

  
  return gst_pad_set_caps (otherpad, caps);
}


static GstFlowReturn
gst_ntoone_collected (GstCollectPads * pads, GstNtoone * filter)
{
  guint size;
  GstCollectData *cdata;
  GstBuffer *outbuf, *sink1buf, *sink2buf;
  GstFlowReturn ret = GST_FLOW_OK;
  GSList *collected;
  guint nsamples;
  guint ncollected = 0;
  gboolean empty = TRUE;
  
  size = gst_collect_pads_available (pads); //Query how much bytes can be
read from each queued buffer. 
     //This means that the result of this call is the maximum 
     //number of bytes that can be read from each of the pads.
  
  GST_DEBUG_OBJECT (filter, "Starting to collect %u bytes", size);
  
  collected = pads-&amp;gt;data;
  cdata = (GstCollectData *) collected-&amp;gt;data;
  sink1buf = gst_collect_pads_take_buffer (pads, cdata, size);
  
  collected = collected-&amp;gt;next;
  cdata = (GstCollectData *) collected-&amp;gt;data;
  sink2buf = gst_collect_pads_take_buffer (pads, cdata, size);
  
  gst_pad_push(filter-&amp;gt;srcpad,sink1buf);
  
  return ret;
  
  goto eos;
 
eos:
  {
    GST_DEBUG_OBJECT (filter, "no data available, must be EOS");
    gst_buffer_unref (outbuf);
    gst_pad_push_event (filter-&amp;gt;srcpad, gst_event_new_eos ());
    return -3;
  }
  
}


/* entry point to initialize the plug-in
 * initialize the plug-in itself
 * register the element factories and other features
 */
static gboolean
plugin_init (GstPlugin * plugin)
{
  /* debug category for filtering log messages
   *
   * exchange the string 'Ntoone plugin' with your description
   */
  GST_DEBUG_CATEGORY_INIT (gst_ntoone_debug, "ntoone",
      0, "Template plugin");

  return gst_element_register (plugin, "ntoone", GST_RANK_NONE,
      GST_TYPE_NTOONE);
}

/* PACKAGE: this is usually set by autotools depending on some _INIT macro
 * in configure.ac and then written into and defined in config.h, but we can
 * just set it ourselves here in case someone doesn't use autotools to
 * compile this code. GST_PLUGIN_DEFINE needs PACKAGE to be defined.
 */
#ifndef PACKAGE
#define PACKAGE "pluginntoone"
#endif

/* gstreamer looks for this structure to register plugins
 *
 * exchange the string 'Template plugin' with your plugin description
 */
GST_PLUGIN_DEFINE (
    GST_VERSION_MAJOR,
    GST_VERSION_MINOR,
    "ntoone",
    "Template Example",
    plugin_init,
    "0.10.28",
    "GPL",
    "GStreamer",
    "http://gstreamer.net/"
)

Thanks

--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/How-to-run-a-2-to-1-element-tp4651655.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
&lt;/pre&gt;</description>
    <dc:creator>iron_guitarist1987</dc:creator>
    <dc:date>2012-05-23T14:32:52</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38924">
    <title>HD video - fast playback problem</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38924</link>
    <description>&lt;pre&gt;Hi, 

The application that I'm developing should play the video with x1, x2, x4,
x8 and x16 playback rate. 
I've trouble when playing HD video with x4 and higher playback rate,
specially on slower PC's, got updated frame once in a second or more.
The same files are playing well with VLC  on max 4x playback speed. 

Is there a way to improve the pipeline performance? 

I'm using GStreamer WinBuilds v0.10.6 from Ossbuild, 
to play video application use the following pipeline:
filsesrc location="file/location" ! decodebin2 ! ffmpegcolorspace  !
dshowvideosink





--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/HD-video-fast-playback-problem-tp4651582.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
&lt;/pre&gt;</description>
    <dc:creator>cumaniok</dc:creator>
    <dc:date>2012-05-23T13:19:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38922">
    <title>problem with gst_parse_launch</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38922</link>
    <description>&lt;pre&gt;Hi,
Following pipe is working on gst-launch.exe
gst-launch gnlfilesource location=file:///D:\\file.avi caps=video/x-raw-yuv
media-start=1000000000 duration=5000000000 media-duration=5000000000 !
decodebin ! ffmpegcolorspace ! autovideosink

but on gst_parse_launch it didn't

pipeline = gst_parse_launch("gnlfilesource location=file:///D:\\file.avi
caps=video/x-raw-yuv media-start=1000000000 duration=5000000000
media-duration=5000000000 ! decodebin ! ffmpegcolorspace ! autovideosink",
&amp;amp;error);

pipeline is NULL. Nothing were created.

But i can do that:

GstElement *gnl;
gnl = gst_element_factory_make("gnlfilesource", "gnlsource");

so gstreamer "see" gnlfilesource.
How it could be? Thanks for help.

--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/problem-with-gst-parse-launch-tp4651476.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
&lt;/pre&gt;</description>
    <dc:creator>padam</dc:creator>
    <dc:date>2012-05-23T11:38:52</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38921">
    <title>gst-plugins-base 0.11.91 compilation error</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38921</link>
    <description>&lt;pre&gt;Hi, 

anyone any idea where this compilation error may come from?

gst-plugins-base-plugins-scan.c: In function 'get_object_types':
gst-plugins-base-plugins-scan.c:109:19: error: dereferencing pointer to incomplete type
gst-plugins-base-plugins-scan.c:119:42: error: dereferencing pointer to incomplete type
gst-plugins-base-plugins-scan.c:120:49: error: dereferencing pointer to incomplete type
gst-plugins-base-plugins-scan.c:121:46: error: dereferencing pointer to incomplete type
gst-plugins-base-plugins-scan.c:122:46: error: dereferencing pointer to incomplete type
gst-plugins-base-plugins-scan.c:123:45: error: dereferencing pointer to incomplete type
gst-plugins-base-plugins-scan.c:124:45: error: dereferencing pointer to incomplete type
gst-plugins-base-plugins-scan.c:125:44: error: dereferencing pointer to incomplete type
gst-plugins-base-plugins-scan.c:126:45: error: dereferencing pointer to incomplete type
gst-plugins-base-plugins-scan.c:127:44: error: dereferencing pointer to incomplete type
gst-plugins-base-plugins-scan.c:133:17: error: dereferencing pointer to incomplete type
Compilation of scanner failed

thanks, 



&lt;/pre&gt;</description>
    <dc:creator>tomw</dc:creator>
    <dc:date>2012-05-23T10:02:16</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38916">
    <title>Building a stand-alone, static, debug'-g' version of GStreamer</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38916</link>
    <description>&lt;pre&gt;  I'd like to build a stand-alone, static, debug'-g' version of GStreamer so
I can step through simulations, bugs, and new plugin development with a
source-debugger. I'd like to install the executables, libraries, includes,
and debug versions of plugins in a directory ~/BIN under my user account. 
I'd also like to leave the system GStreamer working so I can switch back and
forth between development and a known, working system.

  Is there a better way of doing this? Please let me know. This is what I've
been able to figure out on my own:
__________________________________________

  I've successfully built gstreamer-0.10 ( from
http://gstreamer.freedesktop.org/src/ ). And I've installed my local copy to
compile and build against by doing:

$ cd ~/DEV/gstreamer-0.10/
$ ./configure --enable-debug --enable-gst-debug --enable-profiling
--enable-parse --enable-option-parsing --enable-static --disable-shared
--prefix=/home/user/BIN
$ make
$ make install

So now I've got my own debug version of the Gstreamer launcher, inspector,
includes, and libs. Everything appears to be happy, so far.

$ cd ~/BIN
$ tree -d
.
|-- bin
|-- include
|   `-- gstreamer-0.10
|       `-- gst
|           |-- base
|           |-- check
|           |-- controller
|           |-- dataprotocol
|           `-- net
|-- lib
|   |-- gstreamer-0.10
|   `-- pkgconfig
|-- libexec
|   `-- gstreamer-0.10
`-- share
    |-- aclocal
        [[...]]
__________________________________________

Next I downloaded the gst-plugins-base-0.10, built, and statically linked
against my development version:

$ cd ~/DEV/gst-plugins-base-0.10/
$ export GST_CFLAGS="-I/home/user/BIN/include/gstreamer-0.10 \
          -I/home/user/BIN/include/gstreamer-0.10/gst
-I/usr/include/glib-2.0 \
          -I/usr/lib/glib-2.0/include -I/usr/include/libxml2"

$ export GST_LIBS="-pthread -static -L/home/user/BIN/lib -lgstreamer-0.10 \
          -lxml2 -lgthread-2.0 -lrt -lgobject-2.0 -lglib-2.0"

$ ./configure --enable-debug --enable-static --enable-profiling
--disable-shared --prefix=/home/user/BIN
$ make
$ make install
__________________________________________

I can verify my debug versions of the gst-plugins-base were correctly
installed and visible:

$ cd ~/BIN/bin/
$ ./gst-inspect
audioresample:  audioresample: Audio resampler
playback:  subtitleoverlay: Subtitle Overlay
 [[...]]
audiotestsrc:  audiotestsrc: Audio test source
alsa:  alsasink: Audio sink (ALSA)
alsa:  alsasrc: Audio source (ALSA)
alsa:  alsamixer: Alsa mixer
coreelements:  valve: Valve element
  [[...]]
typefindfunctions: audio/x-musepack: mpc, mpp, mp+
typefindfunctions: video/x-ms-asf: asf, wm, wma, wmv
staticelements:  bin: Generic bin
staticelements:  pipeline: Pipeline object
Total count: 26 plugins, 178 features

However, when I try inspect one of the plugins, or use ./gst-launch, I get
"GLib-GObject-CRITICAL" errors:

$ ./gst-inspect alsasink
(gst-inspect-0.10:30950): GLib-GObject-WARNING **: cannot register existing
type `GstObject'
(gst-inspect-0.10:30950): GLib-CRITICAL **: g_once_init_leave: assertion
`initialization_value != 0' failed
(gst-inspect-0.10:30950): GLib-GObject-CRITICAL **: g_type_register_static:
assertion `parent_type &amp;gt; 0' failed
(gst-inspect-0.10:30950): GLib-CRITICAL **: g_once_init_leave: assertion
`initialization_value != 0' failed
(gst-inspect-0.10:30950): GLib-GObject-CRITICAL **: g_type_register_static:
assertion `parent_type &amp;gt; 0' failed
__________________________________________

Is there something obvious I've done wrong?  Where to go next?  

Since I've got debug turned on, I can get lot's of information. Spewage from
turning on GST_DEBUG indicates that it's using the correct library in
~/BIN/lib.  It even says it "looks good", just before it hangs 

$ export GST_DEBUG=5
$ ./gst-inspect alsasink

0:00:00.000448594 31059  0xa0bf070 INFO                GST_INIT
gst.c:613:init_pre: Initializing GStreamer Core Library version 0.10.36
0:00:00.000485536 31059  0xa0bf070 INFO                GST_INIT
gst.c:614:init_pre: Using library installed in /home/user/BIN/lib
0:00:00.000495006 31059  0xa0bf070 INFO                GST_INIT
gst.c:624:init_pre: Linux ubuntu 2.6.32-38-generic #83-Ubuntu SMP Wed Jan 4
11:13:04 UTC 2012 i686
 [[...]]
0:00:00.904396010 31156  0x8232070 DEBUG     GST_PLUGIN_LOADING
gstplugin.c:1293:gst_plugin_load_by_name: looking up plugin alsa in default
registry
0:00:00.904410607 31156  0x8232070 DEBUG     GST_PLUGIN_LOADING
gstplugin.c:1296:gst_plugin_load_by_name: loading plugin alsa from file
/home/user/BIN/lib/gstreamer-0.10/libgstalsa.so
0:00:00.904419281 31156  0x8232070 DEBUG     GST_PLUGIN_LOADING
gstplugin.c:737:gst_plugin_load_file: attempt to load plugin
"/home/user/BIN/lib/gstreamer-0.10/libgstalsa.so"
0:00:00.905904303 31156  0x8232070 LOG       GST_PLUGIN_LOADING
gstplugin.c:834:gst_plugin_load_file: Plugin 0x824ba20 for file
"/home/user/BIN/lib/gstreamer-0.10/libgstalsa.so" prepared, calling entry
function...
0:00:00.905922400 31156  0x8232070 LOG       GST_PLUGIN_LOADING
gstplugin.c:841:gst_plugin_load_file: Plugin 0x824ba20 for file
"/home/user/BIN/lib/gstreamer-0.10/libgstalsa.so" prepared, registering...
0:00:00.905933556 31156  0x8232070 LOG       GST_PLUGIN_LOADING
gstplugin.c:540:gst_plugin_register_func: plugin
"/home/user/BIN/lib/gstreamer-0.10/libgstalsa.so" looks good

(gst-inspect-0.10:866): GLib-GObject-WARNING **: cannot register existing
type `GstObject'

(gst-inspect-0.10:866): GLib-CRITICAL **: g_once_init_leave: assertion
`initialization_value != 0' failed

(gst-inspect-0.10:866): GLib-GObject-CRITICAL **: g_type_register_static:
assertion `parent_type &amp;gt; 0' failed
__________________________________________

And, here's a backtrace from gdb where the program is hanging:
__________________________________________

$ ps -aux | grep inspect
  fritzkatz   32146  0.0  0.1   9552  3036 pts/0    S    19:12   0:00
/home/user/BIN/bin/gst-inspect-0.10 alsasink

$ gdb /home/user/BIN/bin/gst-inspect-0.10 32146
 
  [[...]]

warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
0x0012d422 in __kernel_vsyscall ()

(gdb) bt
#0  0x0012d422 in __kernel_vsyscall ()
#1  0x003aa015 in ?? ()
#2  0x0066b738 in ?? ()
#3  0x0067e98b in ?? ()
#4  0x005948c2 in ?? ()
#5  0x00596482 in ?? ()
#6  0x080929a6 in gst_plugin_register_func (plugin=0x80f70bc, desc=0x0,
user_data=&amp;lt;value optimized out&amp;gt;) at gstplugin.c:557
#7  0x080943c3 in gst_plugin_load_file (filename=0x8125c40
"/home/user/BIN/lib/gstreamer-0.10/libgstalsa.so", 
    error=0xbffff04c) at gstplugin.c:843
#8  0x08094fb9 in gst_plugin_load_by_name (name=0x8125c10 "alsa") at
gstplugin.c:1297
#9  0x08095a68 in gst_plugin_feature_load (feature=0x81262d0) at
gstpluginfeature.c:111
#10 0x08051f36 in print_element_info (factory=0xfffffe00, print_names=0) at
gst-inspect.c:1332
#11 0x0805315f in main (argc=2, argv=0xbffff324) at gst-inspect.c:1619



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Building-a-stand-alone-static-debug-g-version-of-GStreamer-tp4650852.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
&lt;/pre&gt;</description>
    <dc:creator>FritzKatz</dc:creator>
    <dc:date>2012-05-23T00:58:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38915">
    <title>no such pad 'video_%04x' in element "tsdemux"</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38915</link>
    <description>&lt;pre&gt;HI,

I'm trying to build the following pipeline with a C application :
gst-launch -e udpsrc port=5000 caps="application/x-rtp, media=video,
encoding-name=MP2T-ES" ! rtpmp2tdepay ! mpegtsdemux ! filesink
location=videodstRDO.mpeg

when using gst-launch it works fine, but when I use a C application here is
the error I get (with GST_DEBUG=3) :
0:00:00.032693078 12164 0x1912010 INFO GST_ELEMENT_PADS
gstutils.c:1698:gst_element_link_pads_full: trying to link element
tsdemux:(any) to element mpeg2dec:(any)
0:00:00.032735773 12164 0x1912010 INFO GST_ELEMENT_PADS
gstelement.c:972:gst_element_get_static_pad: no such pad 'video_%04x' in
element "tsdemux"
0:00:00.032759563 12164 0x1912010 INFO GST_ELEMENT_PADS
gstutils.c:1216:gst_element_get_compatible_pad:&amp;lt;tsdemux&amp;gt; Could not find a
compatible pad to link to mpeg2dec:sink

here is the code I wrote :

...
source = gst_element_factory_make ("udpsrc", "rtpsrc");
rtpdepay = gst_element_factory_make ("rtpmp2tdepay", "rtpdepay");
tsdemux = gst_element_factory_make ("mpegtsdemux", "tsdemux");
sink = gst_element_factory_make ("filesink", "filesink");

g_object_set (source, "port", 5000, NULL);
/* we need to set caps on the udpsrc for the RTP data */
caps = gst_caps_from_string ("application/x-rtp, media=video,
encoding-name=MP2T-ES");
g_object_set (source, "caps", caps, NULL);
gst_caps_unref (caps);

g_object_set (sink, "location", "/tmp/video.mpeg", NULL);

/* build pipeline */
gst_bin_add_many (GST_BIN (pipeline), source, rtpdepay, tsdemux, sink,
NULL);
if(!gst_element_link_many (source, rtpdepay, tsdemux, sink, NULL))
{
    g_printerr ("Could not link pipeline. \n");
    return -1;
}

when I execute the application, the call to gst_element_link_many fails and
the program exit with my error msg.

Do you know what might be wrong ?

thanks,
Max


&lt;/pre&gt;</description>
    <dc:creator>Maxime Louvel</dc:creator>
    <dc:date>2012-05-22T15:56:10</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38910">
    <title>[PATCH 0/2] icydemux doesn't autoplug with master/0.11</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38910</link>
    <description>&lt;pre&gt;Hi all,
I've encountered a problem with icydemux not working with decodebin;
patches that fix it for me are following, and can be pulled from my git
tree git://github.com/an146/gst-plugins-good.git; and here's the sample
output with 'warning-if-setting-srcpad-caps-fails' one applied:

$ gst-launch-1.0 --gst-debug=3 playbin uri=http://u16b.di.fm:80/di_ambient  
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.140571669 10141      0x2619b70 WARN                GST_PADS gstpad.c:3432:gst_pad_peer_query:&amp;lt;typefindelement0:src&amp;gt; pad has no peer
0:00:00.768875073 10141      0x2619b70 WARN                GST_PADS gstpad.c:3432:gst_pad_peer_query:&amp;lt;queue2-0:src&amp;gt; pad has no peer
0:00:00.775417927 10141 0x7f0adc0239e0 WARN                icydemux gsticydemux.c:237:gst_icydemux_add_srcpad:&amp;lt;icydemux0&amp;gt; Failed to set caps on src pad
0:00:00.775472401 10141 0x7f0adc0239e0 WARN               decodebin gstdecodebin2.c:1707:analyze_new_pad:&amp;lt;icydemux0:src&amp;gt; pad has ANY caps, not able to autoplug to anything
0:00:00.898384015 10141      0x2619b70 WARN                 basesrc gstbasesrc.c:2710:gst_base_src_loop:&amp;lt;source&amp;gt; error: Internal data flow error.
0:00:00.898422780 10141      0x2619b70 WARN                 basesrc gstbasesrc.c:2710:gst_base_src_loop:&amp;lt;source&amp;gt; error: streaming task paused, reason not-linked (-1)
ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstSoupHTTPSrc:source: Internal data flow error.
Additional debug info:
gstbasesrc.c(2710): gst_base_src_loop (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstSoupHTTPSrc:source:
streaming task paused, reason not-linked (-1)
ERROR: pipeline doesn't want to preroll.

Anton Novikov (2):
  icydemux: warning if setting srcpad caps fails
  icydemux: activate srcpad before setting caps

 gst/icydemux/gsticydemux.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

&lt;/pre&gt;</description>
    <dc:creator>Anton Novikov</dc:creator>
    <dc:date>2012-05-22T11:10:49</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38908">
    <title>rtpjitterbuffer and percent property</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38908</link>
    <description>&lt;pre&gt;Hi all!

First of all, thank for your time and knowledge.

I'm using a pipeline wichi has an rtspsrc element on it. Inside this
element, two instances of rtpjitterbuffer are created. I set the buffering
mode in the rtspsrc to Low/High Watermark buffering and then parse the
buffering messages with parse_buffering() to have access to its percentage.

The buffer value goes up to 100% and then the video starts playing. I've
tried a few things, like disconnecting the network, and I can understand
that this value doesn't get updated until it buffers again. But if I ask
directly the jitterbuffers using its percent property, they doesn't show any
change at all. They get stuck at 100% even when they are just empty.

Is this a bug? Am I doing something wrong? Any clues regarding this will be
greatly apretiated.


----Code sample----

self.player=gst.parse_launch(rtspsrc name=source ! decodebin2 !
autovideosink)
bus=self.player.get_bus()
bus.connect("message", self.on_message)
self.source=self.player.get_by_name('source')
self.source.connect("element-added",self.on_element_added)
self.buffer_percent=0
self.rtpjitterbuffer0=None
self.rtpjitterbuffer1=None

//Buffer mode for rtspsrc=2, latency=4000

def on_element_added(self, gstbin, element):
    //When rtpjitterbuffers are added to rtspsrc, points them to
self.rtpjitterbuffers0 and 1

def on_message(self, bus, message)
    t=message.type
    if t == gst.MESSAGE_BUFFERING:
        self.buffer_percent=message.parse_buffering()

//I can also get buffer level info just using jitterbufferes internal
percent property like that:

print self.rtpjitterbufferX.props.percent.


However, as I said, it fills up to 100%, but never changes, even if the
playback stops due to network being stopped. ¿What am I doing wrong with
this?

Many thanks.




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/rtpjitterbuffer-and-percent-property-tp4649576.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel&amp;lt; at &amp;gt;lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
&lt;/pre&gt;</description>
    <dc:creator>Daniel Mellado</dc:creator>
    <dc:date>2012-05-22T08:29:33</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38906">
    <title>NetBuffer</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38906</link>
    <description>&lt;pre&gt;Hello, I would like to use the NetBuffer type because I want a user to be
able to send a request to a main program, communicating its ip address. The
problem is that I'm getting the error: " undefined reference to
`gst_netbuffer_new' ".
I already included &amp;lt;gst/netbuffer/gstnetbuffer.h&amp;gt;, do you know if there are
other libraries that need to be included?
Thanks


--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/NetBuffer-tp4649541.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
&lt;/pre&gt;</description>
    <dc:creator>enricom</dc:creator>
    <dc:date>2012-05-22T08:01:20</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38903">
    <title>How to generate error message when there is an internal read errorin one of the object in a pipeline</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38903</link>
    <description>&lt;pre&gt;
I am using directsoundsrc plugin. Windows OSSBuild.

There is a gst_directsound_src_read function which has a while loop reading
buffers from the device.

When I accidently unplug the device I found this while loop went into an
infinite loop. I fixed it partially.

I can detect when there is error in capture.

What I have not figured out is now how to make the pipeline stop.

while (length &amp;gt; dwBufferSize) {
    Sleep (dsoundsrc-&amp;gt;latency_time / 1000);

    hRes =
        IDirectSoundCaptureBuffer_GetCurrentPosition
(dsoundsrc-&amp;gt;pDSBSecondary,
        &amp;amp;dwCurrentCaptureCursor, NULL);
if (hRes != 0)
{
GST_ERROR("\nDevice Error HRESULT = %i",hRes);///This is where i can
detect an error
break;
}

    /* calculate the buffer */
    if (dwCurrentCaptureCursor &amp;lt; dsoundsrc-&amp;gt;current_circular_offset) {
      dwBufferSize = dsoundsrc-&amp;gt;buffer_size -
          (dsoundsrc-&amp;gt;current_circular_offset - dwCurrentCaptureCursor);
    } else {
      dwBufferSize =
          dwCurrentCaptureCursor - dsoundsrc-&amp;gt;current_circular_offset;
    }
  }   

Any suggestions.?????

Tanmay


--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/How-to-generate-error-message-when-there-is-an-internal-read-error-in-one-of-the-object-in-a-pipeline-tp4648532.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
&lt;/pre&gt;</description>
    <dc:creator>tanmay.ambre</dc:creator>
    <dc:date>2012-05-21T17:58:51</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38898">
    <title>pipeline doesn't work</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38898</link>
    <description>&lt;pre&gt;Hi,
I'm quite new to geastreamer and i have problem with build working pipeline.
After launch that pipe i doesn't get any errors, just window is open and
it's freezing.

Thanks for any suggestions.

pipeline = gst_pipeline_new("pipeline");
src = gst_element_factory_make ("filesrc", "mysrc");
g_object_set(src, "location", "D:\\file.avi", NULL);

    queue= gst_element_factory_make("queue", "vqueue");
queue2 = gst_element_factory_make("queue", "queue1");
    flt = gst_element_factory_make("capsfilter", "vfilter");
    conv = gst_element_factory_make("ffmpegcolorspace", "vconv");
    scale= gst_element_factory_make("videoscale", "vscale");
    vsink= gst_element_factory_make("dshowvideosink", "vsink");
decoder = gst_element_factory_make("ffdec_msmpeg4v2", "decoder");
mp3parse = gst_element_factory_make("mp3parse", "parser");
ffdec_mp3 = gst_element_factory_make("ffdec_mp3", "decodermp3");
wavenc = gst_element_factory_make("wavenc", "wavenc");
wavparse = gst_element_factory_make("wavparse", "wavparse");
audioconvert = gst_element_factory_make("audioconvert", "audioconvert");
audioresample = gst_element_factory_make("ffaudioresample",
"audioresample");
autoaudiosink = gst_element_factory_make("autoaudiosink", "autoaudiosink");
scaletempo = gst_element_factory_make("scaletempo", "scaletempo");
typefind = gst_element_factory_make("typefind", "typefind");
tee1 = gst_element_factory_make("tee", "tee1");
tee2 = gst_element_factory_make("tee", "tee2");

bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
gst_bus_add_watch (bus, bus_call, loop);
gst_object_unref (bus);

decodebin  = gst_element_factory_make("avidemux", "demux");

   gst_bin_add_many(GST_BIN(pipeline), src, decodebin, queue, decoder,
scale, conv,
   flt, tee1, vsink, queue2, typefind, mp3parse, ffdec_mp3, wavenc,
wavparse, audioconvert, audioresample, scaletempo, autoaudiosink, NULL);

   gst_element_link(src, decodebin);
   gst_element_link_many(queue, decoder, scale, conv,
   flt, tee1, vsink, queue2, typefind, mp3parse, ffdec_mp3, wavenc,
wavparse, audioconvert, audioresample, scaletempo, autoaudiosink, NULL);

   g_signal_connect(decodebin, "pad-added", G_CALLBACK(new_decoded_pad_cb),
NULL);
g_signal_connect (typefind, "pad-added", G_CALLBACK (on_decpad_added),
typefind);

   gst_element_set_state(pipeline, GST_STATE_PLAYING);
   g_timeout_add (200, (GSourceFunc) cb_print_position, pipeline);

g_main_loop_run(loop);
gst_element_set_state(GST_ELEMENT(pipeline), GST_STATE_NULL);
g_main_loop_unref(loop);

--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/pipeline-doesn-t-work-tp4647912.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
&lt;/pre&gt;</description>
    <dc:creator>Jones</dc:creator>
    <dc:date>2012-05-21T09:36:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38887">
    <title>Improving CI capabilities of dvbbasebin</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38887</link>
    <description>&lt;pre&gt;As more and more vendors provide CI modules that are detached from the actual tuners we should think about possibilities to support these CI systems with dvbbasebin. Usually a sec0 device seems to be used to pass the data to the ci.
Actually for a very basic support we would need some option to write the stream read from dvr device back into a sec0 device and finally read it back from there, before we further process it. Thinking of this I wonder if you would split this up into several modules? Or just handle it internally in dvbbasebin, just by setting a sec-device as property?

Actually splitting stuff up might allow more sophisticated options like remuxing multiple streams into one before passing to the CAM, so that multiple programs from different transponders can be descrambled at one go in the same CI.

What do you think how should this be handled? I am willing to contribute code for this, as far as my time allows. I just would like to ensure that I don't write code that will be rejected in the end.

-Julian 
&lt;/pre&gt;</description>
    <dc:creator>Julian Scheel</dc:creator>
    <dc:date>2012-05-20T10:55:58</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38884">
    <title>Need clarification on gstcolorbalance</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38884</link>
    <description>&lt;pre&gt;Hi,

I'm trying to add options of contrast, brightness etc. in my app.
GStreamer's videobalance and xvimagesink elements support
GstColorBalance interface. But in case of xvimagesink, I'm unable
to get a list of channels.

Following is the code snippet I'm using: -

    GstElement *a = gst_element_factory_make("xvimagesink",
"gravity-playbin-video-a");
    if(GST_IS_COLOR_BALANCE(a)){
        qDebug() &amp;lt;&amp;lt; "Color balance.";
        const GList * channels =
gst_color_balance_list_channels(GST_COLOR_BALANCE(a));
        if(!channels)
            qDebug() &amp;lt;&amp;lt; "Channels is null.";
        while ( channels ) {
            qDebug() &amp;lt;&amp;lt; "Channel name:" &amp;lt;&amp;lt;
GST_COLOR_BALANCE_CHANNEL(channels-&amp;gt;data)-&amp;gt;label;;
            channels = g_list_next(channels);
        }
    }else{
        qDebug() &amp;lt;&amp;lt; "No color balance.";
    }

    GstElement *b = gst_element_factory_make("videobalance",
"gravity-playbin-video-b");
    if(GST_IS_COLOR_BALANCE(b)){
        qDebug() &amp;lt;&amp;lt; "Color balance.";
        const GList * channels =
gst_color_balance_list_channels(GST_COLOR_BALANCE(b));
        if(!channels)
            qDebug() &amp;lt;&amp;lt; "Channels is null.";
        while ( channels ) {
            qDebug() &amp;lt;&amp;lt; "Channel name:" &amp;lt;&amp;lt;
GST_COLOR_BALANCE_CHANNEL(channels-&amp;gt;data)-&amp;gt;label;;
            channels = g_list_next(channels);
        }
    }else{
        qDebug() &amp;lt;&amp;lt; "No color balance.";
    }


Here is the output: -
Color balance.
Channels is null.
Color balance.
Channel name: "HUE"
Channel name: "SATURATION"
Channel name: "BRIGHTNESS"
Channel name: "CONTRAST"


What could be the cause of problem? How should I do it properly?

Regards,

Yogesh Marwaha
&lt;/pre&gt;</description>
    <dc:creator>Yogesh Marwaha</dc:creator>
    <dc:date>2012-05-20T07:47:01</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38883">
    <title>Generating frames from a paused video?</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38883</link>
    <description>&lt;pre&gt;Hi all,

I'm trying to put together a simple video player with overlaid controls. 
  At the moment, I'm using cairooverlay to draw the controls directly on 
the video stream.  When I receive user input, I just update some state 
variables so that when the next frame is drawn, it properly reflects the 
user's actions by prelighting controls, etc.  This works pretty well 
when the video is playing (low frame-rate videos have a bit of lag in 
the controls, but I'm willing to live with it), but it means nothing is 
updated when the video is paused.  I'm trying to work around this, but 
I'm new to gstreamer and don't know which ideas are feasible.  Any 
comments you have on which way to go (or if there's an entirely better 
way to do this) would be appreciated.

The ideas I've had so far:
1) Find a way to force cairooverlay to emit a frame down the pipeline 
when paused.  I could hook up a timer to call this occasionally when the 
movie is paused.  But I suspect being paused is an all-or-nothing thing 
for the pipeline, I can't have data flowing through only half of it.

2) Find some sort of equivalent of imagefreeze for videos, either as a 
source or a filter.  When activated, this would replace the video frames 
with a stream of that repeats the last frame over and over.  The 
pipeline would always be in the "playing" state, so the controls would 
always be updated.  But I don't know if such an element exists.

3) Use a videomixer to combine my desired video and a test source in 
such a way that only the former is visible.  (This could also up the 
refresh rate for low-frame rate videos.)  But I don't know if I can 
pause the sources to a video mixer individually, or what this would do 
to seeking.

4) What I'm doing right now is pausing the pipeline and then seeking to 
the current position every 50ms.  This triggers a new frame to go down 
the pipeline, on which I can draw the updated controls.  This works 
seamlessly for some videos, but for others it introduces half-second 
jumps on the pause, presumably because the seek is going to a keyframe 
or something.  There also seems to be a problem with seeking to the 
exact end of a video - I have to back up at least 1ns to get a new 
frame, but some videos seem to require more.  In short, this method 
seems sort of fragile, but it is the only one that I know how to make work.

So, is there anyway to make (1), (2), or (3) work, or does gstreamer 
just not work that way?  Is there a way to improve (4), or are the 
problems with it that I'm not seeing yet?  Is there a better way to 
overlay controls than a cairooverlay?

As I said, I'm new to gstreamer, so please don't assume I've considered 
something that seems obvious to you.  I'm working in Vala, but I'd be 
happy with example code in any language.

Thanks in advance,
Robert
&lt;/pre&gt;</description>
    <dc:creator>Robert Schroll</dc:creator>
    <dc:date>2012-05-20T01:42:58</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38872">
    <title>playbin2, gst_element_seek and http.</title>
    <link>http://comments.gmane.org/gmane.comp.video.gstreamer.devel/38872</link>
    <description>&lt;pre&gt;Hello, I am using the following code in my browser plugin to set position in video:  

void OVIMediaPlayer::set_position(float percents)
{
    gint64 position, length;
    GstFormat format = GST_FORMAT_TIME;
    gst_element_query_duration (pipeline, &amp;amp;format, &amp;amp;length);
    position = static_cast&amp;lt;gint64&amp;gt;(length * (percents * 0.01));
    GstState state;
    gst_element_get_state(pipeline, &amp;amp;state, NULL, GST_CLOCK_TIME_NONE);
    gst_element_set_state(pipeline, GST_STATE_PAUSED);
    gst_element_seek(bin, 1.0, format, GST_SEEK_FLAG_FLUSH, GST_SEEK_TYPE_SET, position, GST_SEEK_TYPE_NONE, GST_CLOCK_TIME_NONE);
    gst_element_set_state(pipeline, state);
    return;
}

My pipeline contains playbin2 with directdraw video sink and plays video from http server. Server supports HTTP Range Headers. My function gets percents argument in range [0; 100] to set position of video. But after each call video begins from begging.


_______________________________________________
gstreamer-devel mailing list
gstreamer-devel&amp;lt; at &amp;gt;lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
&lt;/pre&gt;</description>
    <dc:creator>Kyrylo V Polezhaiev</dc:creator>
    <dc:date>2012-05-19T08:58:53</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.video.gstreamer.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.video.gstreamer.devel</link>
  </textinput>
</rdf:RDF>

