<br><br><div class="gmail_quote">On Fri, Jul 3, 2009 at 10:50 AM,  <span dir="ltr">&lt;<a href="mailto:gstreamer-devel-request@lists.sourceforge.net">gstreamer-devel-request@lists.sourceforge.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Send gstreamer-devel mailing list submissions to<br>
        <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
or, via email, send a message with subject or body &#39;help&#39; to<br>
        <a href="mailto:gstreamer-devel-request@lists.sourceforge.net">gstreamer-devel-request@lists.sourceforge.net</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:gstreamer-devel-owner@lists.sourceforge.net">gstreamer-devel-owner@lists.sourceforge.net</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than &quot;Re: Contents of gstreamer-devel digest...&quot;<br>
<br>
<br>
Today&#39;s Topics:<br>
<br>
   1. Re: GStreamer Summit during GCDS (Colin Guthrie)<br>
   2. Udpsrc timeout,   bus message and notification when source is<br>
      unavailable (MailingList SVR)<br>
   3. Orc-0.4.1 - The Oil Runtime Compiler (David Schleef)<br>
   4. proposal:  support for row-stride in gstreamer (Rob Clark)<br>
   5. Making GStreamer (Jeffrey Barish)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Thu, 02 Jul 2009 15:10:30 +0100<br>
From: Colin Guthrie &lt;<a href="mailto:gmane@colin.guthr.ie">gmane@colin.guthr.ie</a>&gt;<br>
Subject: Re: [gst-devel] GStreamer Summit during GCDS<br>
To: <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
Message-ID: &lt;h2if4m$lub$<a href="mailto:1@ger.gmane.org">1@ger.gmane.org</a>&gt;<br>
Content-Type: text/plain; charset=UTF-8; format=flowed<br>
<br>
&#39;Twas brillig, and Christian Fredrik Kalager Schaller at 30/06/09 09:17<br>
did gyre and gimble:<br>
&gt; It will be an informal gathering where people should feel free to do<br>
&gt; lightning talk like presentations on multimedia related subjects aimed<br>
&gt; at developers. There will also be some general discussion about our<br>
&gt; GStreamer 1.0 roadmap, following on from Jan Schmidts talk on Sunday.<br>
<br>
While I sadly can&#39;t attend the summit, I&#39;d be really interested if some<br>
gstreamer+Qt/KDE guys could find some time for a confab.<br>
<br>
I&#39;d really like to see Phonon on KDE using the phonon-gstreamer backend<br>
if possible, but there are several issues to sort out. Having a<br>
gstreamer mentory/guru would surely help here!<br>
<br>
IMO having gstreamer as the defacto backend on KDE would solve a lot of<br>
bugs that are being blamed on pulseaudio right now which really boil<br>
down to Xine&#39;s poor support for the pulseaudio output layer (as Xine<br>
seems to have become the standard phonon backend right now).<br>
<br>
Hopefully the Gnome+KDE crossover will let this kind of meeting go through.<br>
<br>
:)<br>
<br>
--<br>
<br>
Colin Guthrie<br>
gmane(at)<a href="http://colin.guthr.ie" target="_blank">colin.guthr.ie</a><br>
<a href="http://colin.guthr.ie/" target="_blank">http://colin.guthr.ie/</a><br>
<br>
Day Job:<br>
   Tribalogic Limited [<a href="http://www.tribalogic.net/" target="_blank">http://www.tribalogic.net/</a>]<br>
Open Source:<br>
   Mandriva Linux Contributor [<a href="http://www.mandriva.com/" target="_blank">http://www.mandriva.com/</a>]<br>
   PulseAudio Hacker [<a href="http://www.pulseaudio.org/" target="_blank">http://www.pulseaudio.org/</a>]<br>
   Trac Hacker [<a href="http://trac.edgewall.org/" target="_blank">http://trac.edgewall.org/</a>]<br>
<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Thu, 2 Jul 2009 22:42:39 +0200<br>
From: MailingList SVR &lt;<a href="mailto:lists@svrinformatica.it">lists@svrinformatica.it</a>&gt;<br>
Subject: [gst-devel] Udpsrc timeout,    bus message and notification when<br>
        source is unavailable<br>
To: <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
Message-ID: &lt;<a href="mailto:200907022242.40006.lists@svrinformatica.it">200907022242.40006.lists@svrinformatica.it</a>&gt;<br>
Content-Type: text/plain; charset=&quot;us-ascii&quot;<br>
<br>
Hi all,<br>
<br>
I&#39;m using a simple pipeline to receive and view an rtp live stream using udpsrc to receive data. I setted the udpsrc timeout:<br>
<br>
source=gst.element_factory_make(&quot;udpsrc&quot;)<br>
source.set_property(&quot;port&quot;,self.sourceport)<br>
source.set_property(&quot;timeout&quot;,3000)<br>
source.set_property(&quot;caps&quot;,self.caps)<br>
<br>
I also have:<br>
<br>
bus = self.pipeline.get_bus()<br>
bus.add_signal_watch()<br>
bus.connect(&quot;message&quot;,self.on_message)<br>
<br>
according to the documentation I have to receive a message on the  bus after the timeout, so I disconnect the network cable to the source stream and wait for the timeout message but it seems never to arrive at least as error,warning or state change message, what wrong? How can I be notified when the source stream is not more available?<br>

<br>
thanks<br>
Nicola<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
<br>
------------------------------<br>
<br>
Message: 3<br>
Date: Thu, 2 Jul 2009 15:34:27 -0700<br>
From: David Schleef &lt;<a href="mailto:ds@entropywave.com">ds@entropywave.com</a>&gt;<br>
Subject: [gst-devel] Orc-0.4.1 - The Oil Runtime Compiler<br>
To: <a href="mailto:liboil@lists.freedesktop.org">liboil@lists.freedesktop.org</a>,       Gstreamer<br>
        &lt;<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a>&gt;,<br>
        <a href="mailto:schroedinger-devel@lists.sourceforge.net">schroedinger-devel@lists.sourceforge.net</a><br>
Message-ID: &lt;<a href="mailto:20090702223427.GA8070@entropywave.com">20090702223427.GA8070@entropywave.com</a>&gt;<br>
Content-Type: text/plain; charset=us-ascii<br>
<br>
<br>
0.4.1<br>
=====<br>
<br>
This release introduces the orcc program, which parses .orc files and<br>
outputs C source files to compile into a library or application.  The<br>
main source file implements the functions described by the .orc source<br>
code, by creating Orc programs and compiling them at runtime.  Another<br>
source file that it outputs is a test program that can be compiled and<br>
run to determine if Orc is generating code correctly.  In future<br>
releases, the orcc tool will be expanded to output assembly code, as<br>
well as make it easier to use Orc in a variety of ways.<br>
<br>
Much of Schroedinger and GStreamer have been converted to use Orc<br>
instead of liboil, as well as converting code that wasn&#39;t able to<br>
use liboil.  To enable this in Schroedinger, use the --enable-orc<br>
configure option.  The GStreamer changes are in the orc branch in<br>
the repository at <a href="http://cgit.freedesktop.org/%7Eds/gstreamer" target="_blank">http://cgit.freedesktop.org/~ds/gstreamer</a><br>
<br>
Scheduled changes for 0.4.2 include a 2-D array mode for converting<br>
the remaining liboil functions used in Schroedinger and GStreamer.<br>
<br>
<br>
Major changes:<br>
<br>
 - Add the orcc compiler.  Generates C code that creates Orc programs<br>
   from .orc source files.<br>
 - Improved testing<br>
 - Fixes in the C backend<br>
 - Fix the MMX backend to emit &#39;emms&#39; instructions.<br>
 - Add a few rules to the SSE backend.<br>
<br>
<br>
Links<br>
=====<br>
<br>
Download: <a href="http://www.schleef.org/orc/download/" target="_blank">http://www.schleef.org/orc/download/</a><br>
GIT: <a href="http://cgit.freedesktop.org/%7Eds/orc" target="_blank">http://cgit.freedesktop.org/~ds/orc</a><br>
Documentation: <a href="http://www.schleef.org/orc/documentation/" target="_blank">http://www.schleef.org/orc/documentation/</a><br>
<br>
<br>
ORC - The Oil Runtime Compiler<br>
==============================<br>
<br>
(and OIL stands for Optimized Inner Loops)<br>
<br>
Entropy Wave Inc (<a href="http://entropywave.com/" target="_blank">http://entropywave.com/</a>) presents Orc, the sucessor<br>
to Liboil - The Library of Optimized Inner Loops.<br>
<br>
Orc is a library and set of tools for compiling and executing<br>
very simple programs that operate on arrays of data.  The &quot;language&quot;<br>
is a generic assembly language that represents many of the features<br>
available in SIMD architectures, including saturated addition and<br>
subtraction, and many arithmetic operations.<br>
<br>
At this point, developers interested in using Orc should look at the<br>
examples and try out a few Orc programs in an experimental branch<br>
of their own projects.  And provide feedback on how it works.  There<br>
will likely be some major changes in ease of use from a developer&#39;s<br>
perspective over the next few releases.<br>
<br>
The 0.4 series of Orc releases will be API and ABI compatible, and<br>
will be incompatible with the 0.5 series when it comes out.  It is<br>
anticipated that 0.5 will follow in a few months.<br>
<br>
<br>
Features:<br>
<br>
 - Users can create, compile, and run simple programs that use the<br>
   vector extensions of the CPU, all directly from an application.<br>
<br>
 - Users can compile Orc programs to assembly source code to be<br>
   compiled and used without linking against the Orc library.<br>
<br>
 - The generic assembly language can be extended by an application<br>
   by adding new opcodes.<br>
<br>
 - An application can add rules for converting existing or new opcodes<br>
   to binary code for a specific target.<br>
<br>
 - Current targets: SSE, MMX, ARM, Altivec.  (ARM is very limited.)<br>
   The NEON and TI c64x+ DSP targets are not open source and can be<br>
   licensed separately from Entropy Wave.<br>
<br>
 - Programs can optionally be emulated, which is useful for testing, or<br>
   if no rules are available to convert Orc opcodes to executable code.<br>
<br>
<br>
Questions and Answers:<br>
<br>
 - Q: Why not let gcc vectorize my code?<br>
<br>
   A: Two reasons: first, since Orc&#39;s assembly language is much more<br>
   restrictive than C, Orc can generate better code than gcc, and<br>
   second, Orc can generate code for functions you define at runtime.<br>
   Many algorithms require gluing together several stages of operations,<br>
   and if each stage has several options, the total amount of code to<br>
   cover all combinations could be inconveniently large.<br>
<br>
 - Q: Why not use compiler intrinsics for SIMD code?<br>
<br>
   A: Compiler intrinsics only work for one target, and need to be<br>
   hand written.  Plus, some compilers are very picky about source<br>
   code that uses intrinsics, and will silently produce slow code.<br>
   And, of course, you can&#39;t compile intrinsics at runtime.<br>
<br>
 - Q: How big is the Orc library?<br>
<br>
   A: Compiled with only one target (SSE), the library size is about<br>
   86 kB uncompressed, or 30 kB compressed.  The goal is to keep the<br>
   uncompressed size under about 100 kB.<br>
<br>
<br>
Caveats (Known Bugs):<br>
<br>
 - ?<br>
<br>
<br>
Future directions:<br>
<br>
 - Addition of more complex loop control and array structures.<br>
<br>
 - Addition of an option to compile the Orc library with only the<br>
   runtime features for a single target, e.g., for embedded systems.<br>
<br>
 - Addition of rewrite rules, which convert an instruction that cannot<br>
   be converted to binary code into a series of instructions that can.<br>
   This is necessary since assembly instructions on most targets do<br>
   not cover all the features of the Orc assembly language.<br>
<br>
<br>
About Entropy Wave:<br>
<br>
Entropy Wave creates tools that allow content producers and distributors<br>
use open video technology.  Through use of open source software like<br>
GStreamer and Dirac, Entropy Wave&#39;s customers save money on licensing<br>
costs for encoding and streaming video on the web.  Entropy Wave was<br>
founded in 2008 by long-time open source developer David Schleef.<br>
<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 4<br>
Date: Thu, 2 Jul 2009 18:43:17 -0500<br>
From: Rob Clark &lt;<a href="mailto:rob@ti.com">rob@ti.com</a>&gt;<br>
Subject: [gst-devel] proposal:  support for row-stride in gstreamer<br>
To: Discussion of the development of GStreamer<br>
        &lt;<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a>&gt;<br>
Cc: Daniel Diaz &lt;<a href="mailto:ddiaz@ti.com">ddiaz@ti.com</a>&gt;, Bindu Kurian &lt;<a href="mailto:bkurian@ti.com">bkurian@ti.com</a>&gt;,<br>
        Ravikiran Ramachandra &lt;<a href="mailto:r.ramachandra@ti.com">r.ramachandra@ti.com</a>&gt;<br>
Message-ID: &lt;<a href="mailto:C2E6B13C-6EB6-4D1A-8D74-57865D984D91@ti.com">C2E6B13C-6EB6-4D1A-8D74-57865D984D91@ti.com</a>&gt;<br>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes<br>
<br>
Hi gstreamer folks,<br>
<br>
The following is a proposal for how to add row-stride (and possibly<br>
some related changes) to gstreamer.  I gave a couple of possible<br>
examples of where this would be useful, but it is probably not<br>
exhaustive.  Please let me know if you see any cases that I missed, or<br>
details that I overlooked, etc.<br>
<br>
<br>
<br>
Use-cases:<br>
----------<br>
  + display hardware with special constraints on image dimensions, for<br>
example<br>
    if the output buffer must have dimensions that are a power of two<br>
  + zero-copy cropping of image / videoframe (at least for interleaved<br>
color<br>
    formats.. more on this later)<br>
<br>
One example to think about is rendering onto a 3d surface.  In some<br>
cases, graphics hardware could require that the surface dimensions are<br>
a power of 2.  In this case, you would want the vsink to allocate a<br>
buffer with a rowstride that is the next larger power of 2 from the<br>
image width.<br>
<br>
<br>
Another example to think about is video stabilization.  In this use<br>
case, you would ask the camera to capture an oversized frame.  Your<br>
vstab algorithm would calculate an x,y offset of the stabilized<br>
image.  But if the decoder understands rowstride, you do not need to<br>
actually copy the image buffer.  Say, just to pick some numbers, you<br>
want your final output to be 640x480, and you want your oversized<br>
frame to be +20% in each dimension (768x576):<br>
<br>
    +--------+           +-------+           +------+<br>
    | camera |----------&gt;| vstab |----------&gt;| venc |<br>
    +--------+ width=768 +-------+ width=640 +------+<br>
              height=576          height=480<br>
           rowstride=768       rowstride=768<br>
<br>
In the case of an interleaved color format (RGB, UYVY, etc), you could<br>
simply increment the &#39;data&#39; pointer in the buffer by (y*rowstride)+x.<br>
No memcpy() required.  As long as the video encoder respects the<br>
rowstride, it will see the stabilized frame correctly.<br>
<br>
<br>
<br>
Proposal:<br>
---------<br>
<br>
In all cases that I can think of, the row-stride will not be changing<br>
dynamically.  So this parameter can be negotiated thru caps<br>
negotiation in the same way as image width/height, colorformat, etc.<br>
However, we need to know conclusively that there is no element in the<br>
pipeline that cares about the image format, but does not understand<br>
&quot;rowstride&quot;, so we cannot use existing type strings (ex. &quot;video/x-raw-<br>
yuv&quot;).  And, at least in the cases that I can think of, the video sink<br>
will dictate the row-stride.  So upstream caps-renegotiation will be<br>
used to arrive at the final &quot;rowstride&quot; value.<br>
<br>
For media types, I propose to continue using existing strings for non-<br>
stride-aware element caps, ex. &quot;video/x-raw-yuv&quot;.  For stride-aware<br>
elements, they can support a second format, ex. &quot;video/x-raw-yuv-<br>
strided&quot;, &quot;image/x-raw-rgb-strided&quot;, etc (ie. append &quot;-strided&quot; to<br>
whatever the existing string is).  In the case that a strided format<br>
is negotiated, it is required for there to also be a &quot;rowstride&quot; entry<br>
in the final negotiated caps.<br>
<br>
question: in general, most elements supporting rowstride will have no<br>
constraint on what particular rowstride values are supported.  Do they<br>
just list &quot;rowstride=[0-4294967295]&quot; in their caps template?  The<br>
video sink allocating the buffer will likely have some constraints on<br>
rowstride, although this will be a function of the width (for example,<br>
round the width up to next power of two).<br>
<br>
We will implement some sort of GstRowStrideTransform element to<br>
interface between stride-aware and non-stride-aware elements.<br>
<br>
<br>
<br>
<br>
Non-Interleaved Color Formats:<br>
------------------------------<br>
<br>
So, everything I&#39;ve said so far about zero-copy cropping works until<br>
you start considering planar/semi-planar color formats which do not<br>
have equal size planes.  For example, consider NV12:  the offset to<br>
add to the Y plane is (y*rowstride)+x, but the offset to add to UV<br>
plane is ((y/2)*rowstride)+x.  There are only three ways that I can<br>
think of to deal with this (listed in order of my preference):<br>
<br>
  1) add fields to GstBuffer to pass additional pointers to the other<br>
color<br>
     planes within the same GstBuffer<br>
  2) add a field(s) to GstBuffer to pass an offset..  either an x,y<br>
offset, or a<br>
     single value that is (y*rowstride)+x.  Either way, the various<br>
elements in<br>
     the pipeline can use this to calculate the start of the<br>
individual planes<br>
     of data.<br>
  3) pass individual planes of a single image as separate<br>
GstBuffer&#39;s.. but I&#39;m<br>
     not a huge fan of this because now every element needs to have<br>
some sort<br>
     of &quot;I&#39;ve got Y, but I&#39;m waiting for UV&quot; state.<br>
<br>
I&#39;m not sure if anyone has any thoughts about which of these three<br>
approaches is preferred.  Or any alternative ideas?<br>
<br>
<br>
<br>
BR,<br>
-Rob<br>
<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 5<br>
Date: Thu, 02 Jul 2009 23:20:10 -0600<br>
From: Jeffrey Barish &lt;<a href="mailto:jeff_barish@earthlink.net">jeff_barish@earthlink.net</a>&gt;<br>
Subject: [gst-devel] Making GStreamer<br>
To: <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
Message-ID: &lt;h2k4eb$u8a$<a href="mailto:1@ger.gmane.org">1@ger.gmane.org</a>&gt;<br>
Content-Type: text/plain; charset=us-ascii<br>
<br>
After an effort lasting many days, I have managed to make gstreamer-0.10.23<br>
and gst-plugins-base-0.10.23 cleanly.  However, gst-python-0.10.15 does not<br>
make cleanly.  I still get many warnings along the lines of<br>
<br>
Could not write method GstStructure.get_uint: No ArgType for &#39;guint*&#39;<br>
<br>
and then<br>
<br>
***INFO*** The coverage of global functions is 45.45% (10/22)<br>
<br>
The make finishes anyway, but when I try to import gst I get:<br>
<br>
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)<br>
[GCC 4.3.3] on linux2<br>
Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.<br>
&gt;&gt;&gt; import gst<br>
AttributeError: &#39;module&#39; object has no attribute &#39;Element&#39;<br>
python: symbol lookup error: gst/.libs/interfaces.so: undefined symbol:<br>
gst_navigation_command_get_type<br>
<br>
When I check interfaces.so in /usr/lib/python2.6/dist-packages/gst-0.10/gst<br>
with nm, I confirm that gst_navigation_command_get_type is undefined.<br>
<br>
I have no idea what to do now, so I would appreciate some suggestions.<br>
--<br>
Jeffrey Barish<br>
<br>
<br>
<br>
<br>
------------------------------<br>
<br>
------------------------------------------------------------------------------<br>
<br>
<br>
------------------------------<br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
<br>
<br>
End of gstreamer-devel Digest, Vol 38, Issue 4<br>
**********************************************<br>
</blockquote></div><br>Hi,<br><br>I tried to record the video stream from a vivotek camera .The stream is in mpeg4 format from the camera.I need to avoid extra encodings and decodings.So a simple pipeline to record the video is <br>
<br><br>gst-launch rtspsrc location=&quot;rtsp://<a href="http://guest:carinov123@10.0.0.102/live.sdp">guest:carinov123@10.0.0.102/live.sdp</a>&quot; name=rtsp  ! rtpmp4vdepay ! filesink location=video.mp4<br>.<br><br>but after the recording when i tried to play the video with mplayer, i got the following errors,<br>
<br>[lavf] Video stream found, -vid 0<br>VIDEO:  [FMP4]  320x240  0bpp  1000.000 fps    0.0 kbps ( 0.0 kbyte/s)<br><br><b>No pts value from demuxer to use for frame!,?% 0 0 <br>pts after filters MISSING<br></b><br>I dont know what is happening here!If i use an extra decoding ,then it should work,<br>
<br> gst-launch rtspsrc location=&quot;rtsp://<a href="http://guest:carinov123@10.0.0.102/live.sdp">guest:carinov123@10.0.0.102/live.sdp</a>&quot; name=rtsp  ! rtpmp4vdepay  ! video/mpeg, width=320, height=240, framerate=30/1 ! ffdec_mpeg4 ! videorate !  avimux !  filesink location=video.mp4 rtsp. ! fakesink<br>
<br>but this is too time consuming and needed one more encoding to get an mp4 file.How can i resolve this issue?<br><br><br>-- <br>Sreerenj B<br><a href="http://sreerenj.livejournal.com">http://sreerenj.livejournal.com</a><br>
<a href="mailto:bsreerenj@gmail.com">bsreerenj@gmail.com</a><br>mob: +91 9995377714<br><br>