From xjh41605 at gmail.com Tue Dec 1 05:41:53 2009 From: xjh41605 at gmail.com (xujh) Date: Mon, 30 Nov 2009 20:41:53 -0800 (PST) Subject: [gst-devel] Problems about playing avi using gstreamer Message-ID: <26586576.post@talk.nabble.com> Hi All: Recently i am developing videoplayer on Android using gstreamer as the base framewok. Now i have a problem when i play avi file .I played it in the command line as follows: gst-launch-0.10 -v -T filesrc location=/data/cgd.avi ! mfw_avidemuxer name=demux demux. ! queue !mfw_vpudecoder codec-type=std_avc ! mfw_v4lsink demux. ! queue ! mad ! audioconvert ! audioflingersink . At start ,the audio disappeared after seconds ,the video play well. When i played video without audio ,it played well,so as i played just mp3. I thought that it was caused by lack of resources because the cpu usage was up to 80% and the memory was nearly used. So i drop some video frames by gst_base_sink_set_max_lateness(GST_BASE_SINK(mfw_gst_v4lsink),20*GST_MSECOND); This time i can hear audio though it's not smoothly. Now i wonder what else i can do to let the audio come out smoothly ? -- View this message in context: http://old.nabble.com/Problems-about-playing-avi-using-gstreamer-tp26586576p26586576.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From xjh41605 at gmail.com Tue Dec 1 05:43:11 2009 From: xjh41605 at gmail.com (xujh) Date: Mon, 30 Nov 2009 20:43:11 -0800 (PST) Subject: [gst-devel] Problems about playing avi using gstreamer Message-ID: <26586576.post@talk.nabble.com> Hi All: Recently i am developing videoplayer using gstreamer as the base framewok. At start ,the audio disappeared after seconds ,the video play well. When i played video without audio ,it played well,so as i played just mp3. I thought that it was caused by lack of resources because the cpu usage was up to 80% and the memory was nearly used. So i drop some video frames by gst_base_sink_set_max_lateness(GST_BASE_SINK(videosink),20*GST_MSECOND); This time i can hear audio though it's not smoothly. Now i wonder what else i can do to let the audio come out smoothly ? -- View this message in context: http://old.nabble.com/Problems-about-playing-avi-using-gstreamer-tp26586576p26586576.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From bilboed at gmail.com Tue Dec 1 15:26:36 2009 From: bilboed at gmail.com (Edward Hervey) Date: Tue, 01 Dec 2009 15:26:36 +0100 Subject: [gst-devel] GNonLin 0.10.13.2 pre-release Message-ID: <1259677596.4487.7.camel@localhost> Hi all, I have just made a pre-release of GNonLin. This is mainly for the new GnlURISource element, some build fixes and documentation. You can find the tarballs here : http://gstreamer.freedesktop.org/data/src/gnonlin/pre/ If you encounter any bugs, please report them on the GStreamer bugtracker. Unless any critical bug is encountered, expect a 0.10.14 release on thurdsay evening (i.e. in 48 hours). Edward From donny.viszneki at gmail.com Tue Dec 1 16:20:23 2009 From: donny.viszneki at gmail.com (Donny Viszneki) Date: Tue, 1 Dec 2009 10:20:23 -0500 Subject: [gst-devel] JavaScript bindings ( JS to C communication ) In-Reply-To: <4bc25c2f0911300158t131df45bx238f3f3d3b683b13@mail.gmail.com> References: <4bc25c2f0911300158t131df45bx238f3f3d3b683b13@mail.gmail.com> Message-ID: <44acbb800912010720p4f4167cer201aa75f29c8f579@mail.gmail.com> What software is running your Javascript code? On Mon, Nov 30, 2009 at 4:58 AM, anil v wrote: > Hi All, > > ?? I am able to playback the mp4 file from commandline using gst-launch > playbin uri=file:///home/joe/my-random-media-file.mp4?? but instead of > commandline I want to playback the my mediafile.mp4 from JavaScript. Is > there any such mechanism to communicate from JS to C/C++ for gstreamer > plugin? > > Could any one suggest me ? > > > Thanks In advance. > > Regards, > Anil.V > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. ?http://p.sf.net/sfu/bobj-july > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- http://codebad.com/ From jyoti.d at allaboutif.com Wed Dec 2 10:30:14 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Wed, 2 Dec 2009 15:00:14 +0530 Subject: [gst-devel] statically linking gstreamer Message-ID: Hi all, I want to statically link gstreamer libraries to my executable. Can somebody help me regarding this? Thanks. Jyoti -------------- next part -------------- An HTML attachment was scrubbed... URL: From jyoti.d at allaboutif.com Wed Dec 2 10:45:50 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Wed, 2 Dec 2009 15:15:50 +0530 Subject: [gst-devel] audio-video sync problem in rtsp client Message-ID: Hi all, I have written an application to receive rtsp stream from live555 media server. The audio and video are not in sync in my application. My application is equivalent to the below pipeline: gst-launch rtspsrc location=rtsp://192.168.1.531:8554/collateral.ts name=src ! rtpmp2tdepay ! \ mpegtsdemux name=demux ! queue ! viddec ! videosink \ demux. ! queue ! auddec ! queue ! audiosink Is there any particular property I need to set or reset to get the sync. bcoz when received on vlc the same stream plays properly and with sync. Thanks, Jyoti -------------- next part -------------- An HTML attachment was scrubbed... URL: From William.Walker at Sun.COM Tue Dec 1 15:59:20 2009 From: William.Walker at Sun.COM (Willie Walker) Date: Tue, 01 Dec 2009 09:59:20 -0500 Subject: [gst-devel] Video Hackfest conclusions In-Reply-To: References: Message-ID: <4B152F48.2010702@sun.com> Sorry for the late reply to this. I'm curious how closed captioning and/or subtitles will be rolled into this. Do you video folks have any thoughts? I'm also curious if we might also want to consider some sort of gconf setting that says "give me closed captioning" that any video player can check and honor. Will Benjamin Otte wrote: > Hi, > > As you may be aware, we held a video hackfest last week in Barcelona. > Developers met to discuss how best to improve GPU support for video > applications. See http://gstreamer.freedesktop.org/wiki/VideoHackfest > for more details. In particular, you might be interested in the notes > some people took while the hackfest was going on. These can be found > at http://gstreamer.freedesktop.org/wiki/VideoHackfest/Notes > > What follows is the results we arrived at after the hackfest. They are > taken from http://gstreamer.freedesktop.org/wiki/VideoHackfest/Conclusions > but certainly deserve wide circulation. We're interested in any > comments (or questions) you might have about them, so please don't > heistate to reply. > > If you do reply, please make sure to reduce the recipient list appropriately. > > Cheers, > Benjamin, > > on behalf of all hackfest paticipants. > > > == YUV in pixman == > It has been a goal for a while to make video a first-class citizen in > the image stack. A concrete API proposal on how to integrate video > into pixman was reached and reviewed. > Links: > * http://gstreamer.freedesktop.org/wiki/VideoHackfest/YCbCr_Formats > * http://gstreamer.freedesktop.org/wiki/VideoHackfest/pixman > Actions: > * GStreamer developers to provide a specification of important YUV formats > * Write implementation > > == YUV in Cairo == > To make it easy for applications to use these different formats, the > Cairo API needs to be extended to allow them. A proposal does exist > and has been reviewed, details need to be finalized. > Links: > * http://gstreamer.freedesktop.org/wiki/VideoHackfest/Cairo > Actions: > * Finalize proposal > * Write implementation > > == locking in Cairo == > GStreamer takes a lot of freedom in deciding which threads to schedule > elements in. Most hardware backends however require proper > serialization of commands. The current gst-plugins-cairo and > gst-plugins-gl code provide different, but ugly ways to achieve this. > Cairo's internal thread safety guarantees match these requirements > very well. But the different Cairo backends don't always keep these > guarantees. Interaction with these locking mechanisms from outside > applications is not possible yet either. > Links: > * http://gstreamer.freedesktop.org/wiki/VideoHackfest/Cairo > Actions: > * Improve Cairo backend implementations, in particular X11 and GL > * Expose Cairo's locking API to allow interaction with it > * Write testcases to squash bugs > > == locking in Mesa == > The GLX specification does not allow binding the same GLX context in > multiple threads at the same time. This is a requirement for both > Cairo's and GStreamer's threading model. An extension was proposed and > initial code developed to support this requirement in the same way as > Apple's GL does by default. Windows does not support this and would > require potentially expensive fallback code. > Links: > * http://people.freedesktop.org/~anholt/MESA_multithread_makecurrent.spec > Actions: > * Get review for suggested extension and include it in future Mesa releases > * Make Windows developers investigate the situation > > == switch GStreamer to Cairo as default video transport model == > The current approach to handling video in GStreamer is very outdated. > It does not allow hw-accelerated buffers nor does it provide a unified > API to modify video buffers, which leads to fragmentation and > duplication. It was agreed that using Cairo to provide an abstraction > as a drawing API and abstraction over different backends was a good > idea. > Links: > * http://gstreamer.freedesktop.org/wiki/VideoHackfest/Notes > * http://cgit.freedesktop.org/~company/gst-plugins-cairo > Actions: > * Rework gst-plugins-cairo to match improvements listed in previous points > * Get more review on API and to avoid regressions > * Merge into gst-plugins-base > * Switch plugins gradually to use new Cairo code > > == gst-plugins-gl == > The general consensus was that gst-plugins-gl is a hack. It was > necessary in the past to get things to work, but is not a good way > forward. However, the functionality or performance provided by the > current elements needs to continue working. Developers shared the > opinion that gst-plugins-cairo with cairo-gl surfaces is the best way > to achieve this. > Links: > * http://gstreamer.freedesktop.org/wiki/VideoHackfest/Notes > Actions: > * Get review of cairo-gl/gst-plugins-cairo code from gst-plugins-gl developers > * Port gst-plugins-gl elements to use Cairo early to ensure required > features are available > > == XRenderPutImage == > Currently there is no way to upload video data to the X server for > later use. The XV extension is not sufficient for anything more > complicated than a simple video player. > Links: > * http://gstreamer.freedesktop.org/wiki/VideoHackfest/Cairo > Actions: > * Figure out the best way to move YUV data into hw-accelerated Cairo > surfaces (GL vs X) > * Possibly draft an extension to XRender to handle this in the no-GL case > > == JIT in Pixman == > ORC was investigated as a potential JIT for pixman. A lot of talk has > happened, but no clear conclusions were reached. The idea to share a > JIT with Mesa's GLSL stack was also brought up. > Links: > * http://gstreamer.freedesktop.org/wiki/VideoHackfest/Notes > Actions: > * Continue investigating JIT options > * Prototype ORC integration into Pixman > > == Video decoding Acceleration == > Hardware video decoding is a feature that everybody is very excited > about and wants to integrate into GStreamer as soon as possible. But > developers feel that the current APIs available - the focus was on > VAAPI and VDPAU - to do hardware acceleration fail to integrate well. > No developer managed to create even demo-quality integration with > gst-plugins-cairo, even though quite a few tried. In particular, both > VDPAU and VAAPI... > > ... do not integrate with existing frameworks > Both libraries fail to use (or allow easy conversion to) existing > objects (GEM handles, GL textures, ...) but only provide access to an > encapsulation. This makes it hard for a flexible framework like > GStreamer to make use of its features without limiting itself. > > ... do not have a clear scope > In particular VDPAU advertises itself as a video playback framework > using hardware acceleration. Unfortunately, they both limit themselves > to only the formats and functionalities supported by the hardware and > see fullscreen video playback as the single usecase. This needlessly > complicates integration with existing frameworks > > ... provide a very complicated API > For decoding video, an API like provided by libtheora, libmpeg2 or > even ffmpeg is very simple and allows easy integration with both the > demuxing and the postprocessing/display side. VAAPI and VDPAU require > complex setups and preprocessing of the data to work properly. > > ... overlap with GL functionality > It was felt that a lot of processing features provided by these > libraries are equally well available using shaders in GL or by > providing GL extensions. It was unclear why it is necessary to use a > separate way to do this. > > Links: > * http://gstreamer.freedesktop.org/wiki/VideoHackfest/Notes > * http://gstreamer.freedesktop.org/wiki/VideoHackfest?action=AttachFile&do=view&target=VAinGST.pdf > Actions: > * Get in contact with developers of the APIs > * Encourage revision of public > * Work closer together in integrating the provided functionality into GStreamer > > = Timeline = > The end goal of all of this is to get the code into users' hands > quickly, but allow a smooth and non-disrupting upgrade. Desired dates > have been put forth to achieve this: > * End of January: release new versions of Cairo and Pixman that > contain the new APIs reuired by GStreamer > * End of March: X server and Mesa releases are due - make sure the > required Mesa extension is part of this. Ideally XrenderPutImage would > be included, too. > * April/May, after next Fedora/Ubuntu releases: Merge Cairo support > into gst-plugins-base and start porting elements to it. Encourage > application developers (browser, Flash players) to make use of the new > APIs > * October: another Fedora/Ubuntu release that switches all users to > the new APIs > _______________________________________________ > desktop-devel-list mailing list > desktop-devel-list at gnome.org > http://mail.gnome.org/mailman/listinfo/desktop-devel-list From wanting2learn at hotmail.co.uk Tue Dec 1 16:31:44 2009 From: wanting2learn at hotmail.co.uk (LearnerMan) Date: Tue, 1 Dec 2009 07:31:44 -0800 (PST) Subject: [gst-devel] Detect the Bitrate of stream Message-ID: <26593714.post@talk.nabble.com> Hi I have to detect the bitrate and GOP size of a stream. I see an example for detecting the frame size like so: read_video_props (GstCaps *caps) { gint width, height; const GstStructure *str; g_return_if_fail (gst_caps_is_fixed (caps)); str = gst_caps_get_structure (caps, 0); if (!gst_structure_get_int (str, "width", &width) || !gst_structure_get_int (str, "height", &height)) { g_print ("No width/height available\n"); return; } g_print ("The video size of this set of capabilities is %dx%d\n", width, height); } Can I use this same method for detecting the bitrate? If so what parameter do I use instead of "width" and "height"? thanks -- View this message in context: http://old.nabble.com/Detect-the-Bitrate-of-stream-tp26593714p26593714.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From wanting2learn at hotmail.co.uk Tue Dec 1 17:09:25 2009 From: wanting2learn at hotmail.co.uk (LearnerMan) Date: Tue, 1 Dec 2009 08:09:25 -0800 (PST) Subject: [gst-devel] gst_caps_get_structure question Message-ID: <26594233.post@talk.nabble.com> Hi, The gst_buffer_get_caps function returns a GstCaps varialbe. I read in the documentation that GstCaps are represented as an array of one or more GstStructures, and each GstStructure is an array of fields where each field consists of a field name string (e.g. "width") and a typed value. I understand this so far and I can use the following to get width and height info etc: GstStructure *str = gst_caps_get_structure( caps, 0 ); My question is: in the above function the index used is '0'. What determines what index is used here? In my program if I print out the str returned I get the following output: video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)1000/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1;(). How do I find out other information about such as bit-rate etc?? -- View this message in context: http://old.nabble.com/gst_caps_get_structure-question-tp26594233p26594233.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From ds at entropywave.com Wed Dec 2 21:11:20 2009 From: ds at entropywave.com (David Schleef) Date: Wed, 2 Dec 2009 15:11:20 -0500 Subject: [gst-devel] statically linking gstreamer In-Reply-To: References: Message-ID: <20091202201120.GA32285@cooker.entropywave.com> On Wed, Dec 02, 2009 at 03:00:14PM +0530, Jyoti wrote: > Hi all, > > I want to statically link gstreamer libraries to my executable. > Can somebody help me regarding this? Don't. The smallest problem related to statically linking is that all plugins then need to be linked either (statically) into or (dynamically) against your executable. This means heavily modifying the build system of gstreamer and all the plugin packages. And then the real problems start... dave... From jyoti.d at allaboutif.com Thu Dec 3 05:24:24 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Thu, 3 Dec 2009 09:54:24 +0530 Subject: [gst-devel] statically linking gstreamer In-Reply-To: <20091202201120.GA32285@cooker.entropywave.com> References: <20091202201120.GA32285@cooker.entropywave.com> Message-ID: Thanks for the reply Dave. But if I want only few plugins to be to statically link, say only those plugins that I use in my application. The amount of modification and burden should be less. Could you please tell me what modifications are required in build system of gstreamer to statically link the plugins? Because I need to do this. On Thu, Dec 3, 2009 at 1:41 AM, David Schleef wrote: > On Wed, Dec 02, 2009 at 03:00:14PM +0530, Jyoti wrote: > > Hi all, > > > > I want to statically link gstreamer libraries to my executable. > > Can somebody help me regarding this? > > Don't. > > The smallest problem related to statically linking is that all > plugins then need to be linked either (statically) into or > (dynamically) against your executable. This means heavily > modifying the build system of gstreamer and all the plugin > packages. > > And then the real problems start... > > > > dave... > > > > ------------------------------------------------------------------------------ > Join us December 9, 2009 for the Red Hat Virtual Experience, > a free event focused on virtualization and cloud computing. > Attend in-depth sessions from your desk. Your couch. Anywhere. > http://p.sf.net/sfu/redhat-sfdev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kaustubhkhade at gmail.com Thu Dec 3 09:52:21 2009 From: kaustubhkhade at gmail.com (Kaustubh Khade) Date: Thu, 3 Dec 2009 14:22:21 +0530 Subject: [gst-devel] RTSP for H.264 Message-ID: <80769d7b0912030052r42f80e5ax78d92853e1f9624f@mail.gmail.com> Hi, I'm looking to use gst-rtsp-10.2 to deliver RTP packets with H.264 encoding to clients. Gst-rtsp has an example test-video.o which does the job, or so I've heard. Can anyone give me an insight on how to use rtsp to stream h.264 encoded data? Also if gst-rtsp is not the right way to go about it, could you tell me what i'd need to get the job done. Thanks in advance. Kaustubh Khade Currently Employed. -------------- next part -------------- An HTML attachment was scrubbed... URL: From vincent.genieux at enensys.com Thu Dec 3 10:05:03 2009 From: vincent.genieux at enensys.com (=?ISO-8859-1?Q?Vincent_G=E9nieux?=) Date: Thu, 03 Dec 2009 10:05:03 +0100 Subject: [gst-devel] audioconvert from channels=6 to channels=2 Message-ID: <4B177F3F.10202@enensys.com> I all, I would like to select the 2 first channels of an audio signal. I tried the following pipeline but it does not work : gst-launch mysrc ! 'audio/x-raw-int,endianness=1234, signed=true,width=32,depth=24,rate=48000,channels=6' ! audioconvert ! 'audio/x-raw-int,endiannes=1234, signed=true,width=16,depth=16,rate=48000,channels=2' ! filesink location=out.raw When I run this pipeline, I get the a warning message : "Failed to retrieve channel layout from caps." I suppose I should add the "channel-positions" property but I do not know how to specify it on command line. anybody help ? -- Vincent GENIEUX R&D Engineer ENENSYS Technologies Le Germanium 80 avenue des Buttes de Co?smes 35700 Rennes - FRANCE From sebastian.droege at collabora.co.uk Thu Dec 3 10:55:03 2009 From: sebastian.droege at collabora.co.uk (Sebastian =?ISO-8859-1?Q?Dr=F6ge?=) Date: Thu, 03 Dec 2009 10:55:03 +0100 Subject: [gst-devel] audioconvert from channels=6 to channels=2 In-Reply-To: <4B177F3F.10202@enensys.com> References: <4B177F3F.10202@enensys.com> Message-ID: <1259834103.12861.20.camel@odin.lan> Am Donnerstag, den 03.12.2009, 10:05 +0100 schrieb Vincent G?nieux: > I all, > > > I would like to select the 2 first channels of an audio signal. > I tried the following pipeline but it does not work : > > gst-launch mysrc ! 'audio/x-raw-int,endianness=1234, > signed=true,width=32,depth=24,rate=48000,channels=6' ! audioconvert ! > 'audio/x-raw-int,endiannes=1234, > signed=true,width=16,depth=16,rate=48000,channels=2' ! filesink > location=out.raw > > When I run this pipeline, I get the a warning message : > "Failed to retrieve channel layout from caps." > > I suppose I should add the "channel-positions" property but I do not > know how to specify it on command line. Unfortunately it's not possible to set the channel positions on the command line with gst-launch. You have to write code for this :/ But the above pipeline doesn't do what you want anyway, it will mix the 6 channels to 2 channels. What you wanted is something like: ...channels=6" ! deinterleave name=d d.src0 ! queue ! i.sink0 d.src1 ! queue ! i.sink1 interleave name=i ! filesink ... This will select the first two channels of the input without mixing them all. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: Dies ist ein digital signierter Nachrichtenteil URL: From t.i.m at zen.co.uk Thu Dec 3 10:57:40 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Thu, 03 Dec 2009 09:57:40 +0000 Subject: [gst-devel] audioconvert from channels=6 to channels=2 In-Reply-To: <4B177F3F.10202@enensys.com> References: <4B177F3F.10202@enensys.com> Message-ID: <1259834260.3887.5.camel@zingle> On Thu, 2009-12-03 at 10:05 +0100, Vincent G?nieux wrote: > I would like to select the 2 first channels of an audio signal. > I tried the following pipeline but it does not work : > > gst-launch mysrc ! 'audio/x-raw-int,endianness=1234, > signed=true,width=32,depth=24,rate=48000,channels=6' ! audioconvert ! > 'audio/x-raw-int,endiannes=1234, > signed=true,width=16,depth=16,rate=48000,channels=2' ! filesink > location=out.raw > > When I run this pipeline, I get the a warning message : > "Failed to retrieve channel layout from caps." > > I suppose I should add the "channel-positions" property but I do not > know how to specify it on command line. That's not possible with gst-launch, because when it parses those filter caps strings the channel position enum types won't be registered with the type system yet. It is possible in code though if you g_type_class_ref() the type yourself before you call gst_parse_launch(), or instantiate some element that does this for you, like audioconvert. Btw, in the second filter caps that should be 'endianness' (two s). But even if you made it work, this would downmix the 6 channels into stereo, not select the first two channels. You could try a combination of the interleave/deinterleave elements. Cheers -Tim From libing195 at 163.com Thu Dec 3 11:43:39 2009 From: libing195 at 163.com (libing195) Date: Thu, 3 Dec 2009 18:43:39 +0800 (CST) Subject: [gst-devel] How to get some running parameters of Multiudpsink? Message-ID: <6486896.470801259837019283.JavaMail.coremail@bj163app125.163.com> Hi, everyone. I will use multiudpsink to send udp data to my clients, and I want to get some running parameters of every client through multiudpsink. I have got a method from >>>http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-multiudpsink.html. first, I will set a callback handle to signal "get-stats" g_signal_connect(m_multiudpsink, "get-stats", G_CALLBACK(callback_multudpsink_state), (gpointer)data); then, emit signal "get-stats" by g_signal_emit_by_name(m_multiudpsink, "get-stats",host, port, m_Property); With the document of multiudpsink, we can get client's state will be returned by my callback function. ************************************************************* My question is how or where can I get pointer of GValueArray ? ************************************************************* GValueArray* user_function (GstMultiUDPSink *gstmultiudpsink, gchar *host, gint port, gpointer user_data) Thanks a lot!! -- ?? ???????????? ????? 0532-80874414 15954811012 libing at hisense.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From mjoachimiak at gmail.com Thu Dec 3 12:18:39 2009 From: mjoachimiak at gmail.com (Michael Joachimiak) Date: Thu, 3 Dec 2009 13:18:39 +0200 Subject: [gst-devel] RTSP for H.264 In-Reply-To: <80769d7b0912030052r42f80e5ax78d92853e1f9624f@mail.gmail.com> References: <80769d7b0912030052r42f80e5ax78d92853e1f9624f@mail.gmail.com> Message-ID: <7c857e8c0912030318n6e7a3c51uaf66f6c988aa4a69@mail.gmail.com> You can use gstrtpbin. You can use gst-launch command line from the documentaion of gstrrtpbin. I advise you to completely drop rtcp components. There is some issue with rtcp in Gstrtpbin (the streaming is very slow - about 1fps) -- Your Sincerely Michal Joachimiak -------------- next part -------------- An HTML attachment was scrubbed... URL: From wim.taymans at gmail.com Thu Dec 3 12:36:44 2009 From: wim.taymans at gmail.com (Wim Taymans) Date: Thu, 03 Dec 2009 12:36:44 +0100 Subject: [gst-devel] RTSP for H.264 In-Reply-To: <7c857e8c0912030318n6e7a3c51uaf66f6c988aa4a69@mail.gmail.com> References: <80769d7b0912030052r42f80e5ax78d92853e1f9624f@mail.gmail.com> <7c857e8c0912030318n6e7a3c51uaf66f6c988aa4a69@mail.gmail.com> Message-ID: <1259840204.7430.54.camel@metal> On Thu, 2009-12-03 at 13:18 +0200, Michael Joachimiak wrote: > You can use gstrtpbin. > You can use gst-launch command line from the documentaion of > gstrrtpbin. > I advise you to completely drop rtcp components. There is some issue > with rtcp in Gstrtpbin (the streaming is very slow - about 1fps) What issue is this? Wim > > -- > Your Sincerely > Michal Joachimiak > ------------------------------------------------------------------------------ > Join us December 9, 2009 for the Red Hat Virtual Experience, > a free event focused on virtualization and cloud computing. > Attend in-depth sessions from your desk. Your couch. Anywhere. > http://p.sf.net/sfu/redhat-sfdev2dev > _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From mjoachimiak at gmail.com Thu Dec 3 13:25:48 2009 From: mjoachimiak at gmail.com (Michael Joachimiak) Date: Thu, 3 Dec 2009 14:25:48 +0200 Subject: [gst-devel] RTSP for H.264 In-Reply-To: <1259840204.7430.54.camel@metal> References: <80769d7b0912030052r42f80e5ax78d92853e1f9624f@mail.gmail.com> <7c857e8c0912030318n6e7a3c51uaf66f6c988aa4a69@mail.gmail.com> <1259840204.7430.54.camel@metal> Message-ID: <7c857e8c0912030425v32643d6cy8a280d06b2739960@mail.gmail.com> the one between braces : " (the streaming is very slow - about 1fps)" At least it was for me and for some other guy. If you make it work normally please report here. 2009/12/3 Wim Taymans > On Thu, 2009-12-03 at 13:18 +0200, Michael Joachimiak wrote: > > You can use gstrtpbin. > > You can use gst-launch command line from the documentaion of > > gstrrtpbin. > > I advise you to completely drop rtcp components. There is some issue > > with rtcp in Gstrtpbin (the streaming is very slow - about 1fps) > > What issue is this? > > Wim > > > > > -- > > Your Sincerely > > Michal Joachimiak > > > ------------------------------------------------------------------------------ > > Join us December 9, 2009 for the Red Hat Virtual Experience, > > a free event focused on virtualization and cloud computing. > > Attend in-depth sessions from your desk. Your couch. Anywhere. > > http://p.sf.net/sfu/redhat-sfdev2dev > > _______________________________________________ gstreamer-devel mailing > list gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > ------------------------------------------------------------------------------ > Join us December 9, 2009 for the Red Hat Virtual Experience, > a free event focused on virtualization and cloud computing. > Attend in-depth sessions from your desk. Your couch. Anywhere. > http://p.sf.net/sfu/redhat-sfdev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -- Your Sincerely Michal Joachimiak -------------- next part -------------- An HTML attachment was scrubbed... URL: From somebodys.home.is at gmail.com Thu Dec 3 15:41:29 2009 From: somebodys.home.is at gmail.com (Nick Daniels) Date: Thu, 3 Dec 2009 14:41:29 +0000 Subject: [gst-devel] X Errors when overlaying xvimagesink on GTK+ windows/widgets Message-ID: Hi, > When running my test program I get the following situations with the associated errors: > > 1. Window and video appears fine. > ############################## > ### > Now playing I have managed to solve the problem of the random crashes and X errors preventing the program from working stably by using the "expose" method used by Tristan in his blog and test program ( http://tristanswork.blogspot.com/2008/09/fullscreen-video-in-gstreamer-with-gtk.html). I added the following line to my .ui file (attached in my original message) in the GtkDrawingArea widget "object". And the following handler function to my "test.c" file, also attached in the original message: void window_expose_cb(GtkWidget * widget, GdkEventExpose * event, gpointer data) { gst_x_overlay_set_xwindow_id(GST_X_OVERLAY(vidsink), GDK_WINDOW_XWINDOW(widget->window)); } Of course I then deleted the "setup_window" bus sync handler I was using before. > The "tristan-test" only overlays to the Gtk Window widget and works > fine except it throws an X error on exit with the messages in the console as follows:... This is the only problem I still have and is the error Tristan's test program has - when you close the window the following error appears: The program 'test' received an X Window System error. This probably reflects a bug in the program. The error was 'BadWindow (invalid Window parameter)'. (Details: serial 205 error_code 3 request_code 3 minor_code 0) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) I assume this is because when the gst main loop is exited by closing the window the video overlay isn't being shutdown properly? My final question: is there a specific way you are meant to exit programs that are using X overlays? Many thanks, Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: From filippo.argiolas at gmail.com Thu Dec 3 17:12:21 2009 From: filippo.argiolas at gmail.com (Filippo Argiolas) Date: Thu, 3 Dec 2009 17:12:21 +0100 Subject: [gst-devel] X Errors when overlaying xvimagesink on GTK+ windows/widgets In-Reply-To: References: Message-ID: <8ceb98f20912030812u73688d2ajdbd56a2e136af7a0@mail.gmail.com> On Thu, Dec 3, 2009 at 3:41 PM, Nick Daniels wrote: > Hi, > >> When running my test program I get the following situations with the >> associated errors: Hi, I could be wrong but it really seems the usual xoverlay+client side windows bug. Please take a look at https://bugzilla.gnome.org/show_bug.cgi?id=599885, there is an exhaustive explanation of the reason it happens and how to properly solve it. Hope this helps, Filippo From tristan at sat.qc.ca Thu Dec 3 17:32:59 2009 From: tristan at sat.qc.ca (Tristan Matthews) Date: Thu, 3 Dec 2009 11:32:59 -0500 Subject: [gst-devel] X Errors when overlaying xvimagesink on GTK+ windows/widgets In-Reply-To: <8ceb98f20912030812u73688d2ajdbd56a2e136af7a0@mail.gmail.com> References: <8ceb98f20912030812u73688d2ajdbd56a2e136af7a0@mail.gmail.com> Message-ID: <1c7708560912030832s7dc858e4u571b7755a4fa6acc@mail.gmail.com> Hi Nick, I've since changed how we use xoverlay in our application (http://svn.sat.qc.ca/trac/miville). Instead of handling the expose-event, I listen on the pipeline's bus for the "prepare-xwindow-id" message and then call gst_x_overlay_set_xwindow_id on the window. Additionally, I added a callback for the window's destroy-event which quits the GMainLoop. I'll try and do a new post soon with these details, but I'd appreciate any feedback from the gst community on my approach. The updated example lives at: http://svn.sat.qc.ca/miville/inhouse/prototypes/gstreamer/cpp/fullscreen/test.c Best, Tristan 2009/12/3 Filippo Argiolas : > On Thu, Dec 3, 2009 at 3:41 PM, Nick Daniels > wrote: >> Hi, >> >>> When running my test program I get the following situations with the >>> associated errors: > > Hi, I could be wrong but it really seems the usual xoverlay+client > side windows bug. > Please take a look at > https://bugzilla.gnome.org/show_bug.cgi?id=599885, there is an > exhaustive explanation of the reason it happens and how to properly > solve it. > > Hope this helps, > Filippo > > ------------------------------------------------------------------------------ > Join us December 9, 2009 for the Red Hat Virtual Experience, > a free event focused on virtualization and cloud computing. > Attend in-depth sessions from your desk. Your couch. Anywhere. > http://p.sf.net/sfu/redhat-sfdev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -- Tristan Matthews email: tristan at sat.qc.ca web: http://tristanswork.blogspot.com From somebodys.home.is at gmail.com Thu Dec 3 21:16:47 2009 From: somebodys.home.is at gmail.com (Nick Daniels) Date: Thu, 3 Dec 2009 20:16:47 +0000 Subject: [gst-devel] X Errors when overlaying xvimagesink on GTK+ windows/widgets Message-ID: > Hi, I could be wrong but it really seems the usual xoverlay+client > side windows bug. > Please take a look at > https://bugzilla.gnome.org/show_bug.cgi?id=599885, there is an > exhaustive explanation of the reason it happens and how to properly > solve it. > > Hope this helps, > Filippo Thanks for putting me onto this Filippo, this is what my first problem must be... > I've since changed how we use xoverlay in our application > (http://svn.sat.qc.ca/trac/miville). Instead of handling the > expose-event, I listen on the pipeline's bus for the > "prepare-xwindow-id" message and then call > gst_x_overlay_set_xwindow_id on the window. Additionally, I added a > callback for the window's destroy-event which quits the GMainLoop. > I'll try and do a new post soon with these details, but I'd appreciate > any feedback from the gst community on my approach. > The updated example lives at: > http://svn.sat.qc.ca/miville/inhouse/prototypes/gstreamer/cpp/fullscreen/test.c > Best, > Tristan Thanks Tristan, you're blog was absolutely invaluable for me getting my head around the X Overlays on GTK+. I'm a newbie to GTK, Gstreamer, Glib etc. (& C for anything more than simple engineering maths coursework) so I needed something like that to quickly introduce me! It seems the exit error I was getting was because I was using the "gtk_main" loop function instead of the "g_main_loop_run" function. I had set a destroy event but I guess exiting the gtk_main loop does not cleanup the overlays etc. I will also try and switch to "the prepare-xwindow-id" method as that's what was suggested in the xoverlay documentation. Thank you both for the quick help! Maybe now I can get on and actually make something useful! Cheers, Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: From ensonic at hora-obscura.de Thu Dec 3 23:00:45 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Fri, 04 Dec 2009 00:00:45 +0200 Subject: [gst-devel] handling seeking in audio decoder plugin In-Reply-To: <1c12dfe70911300250v2cba08aaj56bec1c745a25ef9@mail.gmail.com> References: <1c12dfe70911300250v2cba08aaj56bec1c745a25ef9@mail.gmail.com> Message-ID: <4B18350D.5080509@hora-obscura.de> Am 30.11.2009 12:50, schrieb Sameer Naik: > Hi, > I have developed an audio decoder plugin for gstreamer that uses TI's > dsp decoders that decode the audio frames on the dsp. for which codec is that? > > An overview of the plugin architecture: > In the plugin i am parsing the audio stream (if the stream is not > packetized) so as to feed entire audio frames to the dsp decoder. Due > to the parsing code i store some of the input data to parse with the > next input buffer. I would recommend you to make use of separate parsers (mp3parse, aacparse, ...). No need for you to write the parsing code and less to do when seeking. Stefan > in the stream once i have sync'd to an audioframe, > i calculate the encoded framelength and start copying the data into an > internal buffer that is designated as the dsp decoders input buffer. > Only after the entire frame has been copying, the DSP algorithm is > fired up to decode the encoded audio frame. > > Regarding seeking i have a few questions. > Firstly, on an seek event i will need to clear the data in the > decoders input buffer as well as the data that i store for parsing > with the next input buffer. I want to know whether > 1] the plugin could receive a buffer (_chain process) and an event > (_event_handler) at the same time. What i mean to say is if the > _chain function is called, could the pad _event handler be called > while the _chain function is still processing the input buffer. > 2] Or does this happen in an orderly fashion, where if the _chain > function is currently processing data, then the pad _event handler > will not be called until the _chain has finished its processing. > Currently i have specified locks on the dsp decoders input buffers, > which is required if case 1 true, while it is absolutely unnecessary > if case 2 is true. > > Secondly, as mentioned above i clear the decoders input buffer and the > other buffers on a seek event. Should i do this buffer cleanup on a > seek event or should i handle this in a new segment event or both. > > Currently seeking is working most of the time. however it does fail > sometimes. Your response will help me in narrowing things down. > > Please comment > ~Sameer > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Thu Dec 3 23:04:10 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Fri, 04 Dec 2009 00:04:10 +0200 Subject: [gst-devel] Custom signal/event handling for a bin In-Reply-To: <26575742.post@talk.nabble.com> References: <26575742.post@talk.nabble.com> Message-ID: <4B1835DA.6080300@hora-obscura.de> Am 30.11.2009 16:38, schrieb rmkart: > > Hi, > I'm new to GST. I want a bin that can handle custom event/signals. > Let's say my pipeline is in PLAYING state and now I want to unlink some > plugins and add some new plugins, this I want to achieve through a custom > event/signal from application to pipeline. > I want application to be agnostic of internal plugin manipulations, so I > will send only signal/events to my bin which will take care of plugin > manipulation. > Whether this is the right approach to do it or is there any other approach > for this. > Thanks, > RK Your description is a bit vague. But anyway you can write a custom bin (subclass GstBin) and there do what you want. In that regard it does not matter if you use a object property on the bin, an action-signal or an event to ask the bin to change the internal graph. Events have the advantage that they can be synced with the data flow. Stefan From ensonic at hora-obscura.de Thu Dec 3 23:17:53 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Fri, 04 Dec 2009 00:17:53 +0200 Subject: [gst-devel] gst_caps_get_structure question In-Reply-To: <26594233.post@talk.nabble.com> References: <26594233.post@talk.nabble.com> Message-ID: <4B183911.2090000@hora-obscura.de> Am 01.12.2009 18:09, schrieb LearnerMan: > > Hi, > > The gst_buffer_get_caps function returns a GstCaps varialbe. I read in the > documentation that GstCaps are represented as an array of one or more > GstStructures, and each GstStructure is an array of fields where each field > consists of a field name string (e.g. "width") and a typed value. > > I understand this so far and I can use the following to get width and height > info etc: > GstStructure *str = gst_caps_get_structure( caps, 0 ); > > My question is: in the above function the index used is '0'. What > determines what index is used here? The caps you show below only have one structure. If you would have caps like: video/x-raw-yuv, width=(int)640, height=(int)480, framerate=(fraction)10/1; video/x-raw-rgb, width=(int)640, height=(int)480, framerate=(fraction)10/1 then index 0 would be the yuv-format and index 1 the rgb one. btw. a framerate of 1000/1 sounds wrong - that is 1000 frames per second. Stefan > > In my program if I print out the str returned I get the following output: > video/x-raw-yuv, width=(int)640, height=(int)480, > framerate=(fraction)1000/1, format=(fourcc)I420, interlaced=(boolean)false, > pixel-aspect-ratio=(fraction)1/1;(). > > How do I find out other information about such as bit-rate etc?? > From ensonic at hora-obscura.de Thu Dec 3 23:22:23 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Fri, 04 Dec 2009 00:22:23 +0200 Subject: [gst-devel] Playbin2 and Gapless Playback In-Reply-To: <200911221147.25740.jonnobleuk@gmail.com> References: <200911221147.25740.jonnobleuk@gmail.com> Message-ID: <4B183A1F.1050901@hora-obscura.de> Am 22.11.2009 13:47, schrieb Jonathan Noble: > Hi, > I'm developing a music player and currently moving it from Phonon to > gstreamer. Although I notice playbin2 is beta and it's API is not fixed I am > experiencing flakey playback in gapless playback. > > Using the "about_to_finish" signal/message of playbin2 I queue up a track and > leave playbin2 to do it's thing. Occasionally it works, most of the time I get > an error only on StdErr: > > ** (Gereqi.py:757): CRITICAL **: deactivate_group: assertion `group->active' > failed If your gstreamer is very much up.to.date I would recomment that you file a bug. If you can attach a code snipped to reproduce it, even better. Stefan > > NOTE: Gereqi is my app name. > > I get an "audio-changed" signal and then an EOS msg type. Just spent the last > 3 days trying to figure out a way around this looking at Exaile's and Quod- > libet's backends but i'm getting no clues on what this error is. Is there > something critical to note with the use of playbin2? > > Let me know if you need my environment and some code i'm using. > > Regards > > Reg. > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From t.i.m at zen.co.uk Thu Dec 3 23:51:39 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Thu, 03 Dec 2009 22:51:39 +0000 Subject: [gst-devel] handling seeking in audio decoder plugin In-Reply-To: <1c12dfe70911300902h51c9ed9sf5145200f3a8dae4@mail.gmail.com> References: <1c12dfe70911300250v2cba08aaj56bec1c745a25ef9@mail.gmail.com> <60a9403b0911300302h478400amef58ac903723324b@mail.gmail.com> <1c12dfe70911300902h51c9ed9sf5145200f3a8dae4@mail.gmail.com> Message-ID: <1259880699.3887.18.camel@zingle> On Mon, 2009-11-30 at 22:32 +0530, Sameer Naik wrote: > According to events design doc, the plugin is supposed to discard any > input data it receives after the GST_EVENT_FLUSH_START event. This > call is not serialized. Which means the chain function would have to > be sprinkled with the is_flushing check, which is not very desirable. That's not how it works. The flush-start would be pushed out of band from a thread other than the streaming threads (and your sink event handler would/should pass it downstream). Pads will set themselves automatically to flushing when they receive flush-start. In your chain function you will then receive a wrong-state flow return when you do gst_pad_push() or gst_pad_alloc_buffer(), at which point you'd stop or skip the processing/decoding and bail out by returning wrong-state upstream. You won't receive data after the flush-start automatically, you just have to make sure you bail out quickly if needed. Cheers -Tim From nathankarthik at gmail.com Fri Dec 4 06:17:28 2009 From: nathankarthik at gmail.com (rmkart) Date: Thu, 3 Dec 2009 21:17:28 -0800 (PST) Subject: [gst-devel] Custom signal/event handling for a bin In-Reply-To: <4B1835DA.6080300@hora-obscura.de> References: <26575742.post@talk.nabble.com> <4B1835DA.6080300@hora-obscura.de> Message-ID: <26635768.post@talk.nabble.com> Hi, So you mean that object properties and action-signals can happen in application thread while the data flow will happen parallely in streaming thread, While in case of event the processing happens in the same streaming thread as that of data flow? I'm thinking of pausing the pipeline and then send the events which will do the plugin manipulation, if the pipeline is paused will the events be processed as the streaming thread will be in waiting state and it might not process the data flow and events as well. Correct me if I'm wrong. Thanks, RK Stefan Kost wrote: > > Am 30.11.2009 16:38, schrieb rmkart: >> >> Hi, >> I'm new to GST. I want a bin that can handle custom event/signals. >> Let's say my pipeline is in PLAYING state and now I want to unlink some >> plugins and add some new plugins, this I want to achieve through a custom >> event/signal from application to pipeline. >> I want application to be agnostic of internal plugin manipulations, so I >> will send only signal/events to my bin which will take care of plugin >> manipulation. >> Whether this is the right approach to do it or is there any other >> approach >> for this. >> Thanks, >> RK > > Your description is a bit vague. But anyway you can write a custom bin > (subclass > GstBin) and there do what you want. In that regard it does not matter if > you use > a object property on the bin, an action-signal or an event to ask the bin > to > change the internal graph. Events have the advantage that they can be > synced > with the data flow. > > Stefan > > ------------------------------------------------------------------------------ > Join us December 9, 2009 for the Red Hat Virtual Experience, > a free event focused on virtualization and cloud computing. > Attend in-depth sessions from your desk. Your couch. Anywhere. > http://p.sf.net/sfu/redhat-sfdev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- View this message in context: http://old.nabble.com/Custom-signal-event-handling-for-a-bin-tp26575742p26635768.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From weian.chen at intel.com Fri Dec 4 06:55:22 2009 From: weian.chen at intel.com (Chen, Weian) Date: Fri, 4 Dec 2009 13:55:22 +0800 Subject: [gst-devel] Question on re-do playback with self-developed elements Message-ID: Hi All videodecoder and videosink is the element developed by us, and we use these two elements to playback videos, following is the steps: 1. Launch totem player with a content 2. Do playback 3. After reaching the end of stream (EOS) re-do playback from GUI And every time we re-do playback we can get following warnings: First time Nothing Second time: (totem:751): GStreamer-CRITICAL **: Trying to dispose element videosink1, but it is not in the NULL state. You need to explicitly set elements to the NULL state before dropping the final reference, to allow them to clean up. Third time: (totem:751): GStreamer-CRITICAL **: Trying to dispose element videosink2, but it is not in the NULL state. You need to explicitly set elements to the NULL state before dropping the final reference, to allow them to clean up. Forth time: (totem:751): GStreamer-CRITICAL **: Trying to dispose element videosink3, but it is not in the NULL state. You need to explicitly set elements to the NULL state before dropping the final reference, to allow them to clean up. ...... Could anybody here give me some hint on what's the problem here? And why the number after videosink will increase? (videosink1, videosink2, videosink3, ....) Thanks in advanced. Weian Chen Ultra Mobility Group Intel Corporation Tel: 86-21-6116-6478 Fax: 86-21-3429-1915 iNet: 8-821-6478 -------------- next part -------------- An HTML attachment was scrubbed... URL: From msmith at xiph.org Fri Dec 4 07:02:14 2009 From: msmith at xiph.org (Michael Smith) Date: Thu, 3 Dec 2009 22:02:14 -0800 Subject: [gst-devel] Question on re-do playback with self-developed elements In-Reply-To: References: Message-ID: <3c1737210912032202t4e45a49j458f0ee8175aec4c@mail.gmail.com> On Thu, Dec 3, 2009 at 9:55 PM, Chen, Weian wrote: > Could anybody here give me some hint on what?s the problem here? > I guess some of the downwards state changes are failing. It's hard to say why - something inside your code. > > > And why the number after videosink will increase? (videosink1, videosink2, > videosink3, ?.) GStreamer gives elements a unique name (unless the application provides a name). So, every time totem creates a new video sink, it gets an incremented number as part of the automatically-created name. Mike From weian.chen at intel.com Fri Dec 4 07:17:48 2009 From: weian.chen at intel.com (Chen, Weian) Date: Fri, 4 Dec 2009 14:17:48 +0800 Subject: [gst-devel] Question on re-do playback with self-developed elements In-Reply-To: <3c1737210912032202t4e45a49j458f0ee8175aec4c@mail.gmail.com> References: <3c1737210912032202t4e45a49j458f0ee8175aec4c@mail.gmail.com> Message-ID: Thanks, Mike, please see following. thanks, Weian -----Original Message----- From: Michael Smith [mailto:msmith at xiph.org] Sent: 2009?12?4? 14:02 To: Discussion of the development of GStreamer Subject: Re: [gst-devel] Question on re-do playback with self-developed elements On Thu, Dec 3, 2009 at 9:55 PM, Chen, Weian wrote: > Could anybody here give me some hint on what?s the problem here? > I guess some of the downwards state changes are failing. It's hard to say why - something inside your code. > > > And why the number after videosink will increase? (videosink1, videosink2, > videosink3, ?.) GStreamer gives elements a unique name (unless the application provides a name). So, every time totem creates a new video sink, it gets an incremented number as part of the automatically-created name. [Weian] After playing a video, will totem de-construct the pipeline or just set the state to NULL? Mike ------------------------------------------------------------------------------ Join us December 9, 2009 for the Red Hat Virtual Experience, a free event focused on virtualization and cloud computing. Attend in-depth sessions from your desk. Your couch. Anywhere. http://p.sf.net/sfu/redhat-sfdev2dev _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: From vincent.genieux at enensys.com Fri Dec 4 10:54:56 2009 From: vincent.genieux at enensys.com (=?UTF-8?B?VmluY2VudCBHw6luaWV1eA==?=) Date: Fri, 04 Dec 2009 10:54:56 +0100 Subject: [gst-devel] audioconvert from channels=6 to channels=2 In-Reply-To: <1259834260.3887.5.camel@zingle> References: <4B177F3F.10202@enensys.com> <1259834260.3887.5.camel@zingle> Message-ID: <4B18DC70.1030301@enensys.com> > That's not possible with gst-launch, because when it parses those filter > caps strings the channel position enum types won't be registered with > the type system yet. It is possible in code though if you > g_type_class_ref() the type yourself before you call gst_parse_launch(), > or instantiate some element that does this for you, like audioconvert. > > Btw, in the second filter caps that should be 'endianness' (two s). > > But even if you made it work, this would downmix the 6 channels into > stereo, not select the first two channels. > > You could try a combination of the interleave/deinterleave elements. > > ok, thanks all for your answers. -- Vincent GENIEUX R&D Engineer ENENSYS Technologies Le Germanium 80 avenue des Buttes de Co?smes 35700 Rennes - FRANCE From jyoti.d at allaboutif.com Fri Dec 4 13:48:07 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Fri, 4 Dec 2009 18:18:07 +0530 Subject: [gst-devel] Fwd: audio-video sync problem in rtsp client In-Reply-To: References: Message-ID: ---------- Forwarded message ---------- From: Jyoti Date: Wed, Dec 2, 2009 at 3:15 PM Subject: audio-video sync problem in rtsp client To: Discussion of the development of GStreamer < gstreamer-devel at lists.sourceforge.net> Hi all, I have written an application to receive rtsp stream from live555 media server. The audio and video are not in sync in my application. My application is equivalent to the below pipeline: gst-launch rtspsrc location=rtsp://192.168.1.531:8554/collateral.ts name=src ! rtpmp2tdepay ! \ mpegtsdemux name=demux ! queue ! viddec ! videosink \ demux. ! queue ! auddec ! queue ! audiosink Is there any particular property I need to set or reset to get the sync. bcoz when received on vlc the same stream plays properly and with sync. Thanks, Jyoti -------------- next part -------------- An HTML attachment was scrubbed... URL: From sameer.subscriptions at damagehead.com Fri Dec 4 16:01:02 2009 From: sameer.subscriptions at damagehead.com (Sameer Naik) Date: Fri, 4 Dec 2009 20:31:02 +0530 Subject: [gst-devel] handling seeking in audio decoder plugin In-Reply-To: <1259880699.3887.18.camel@zingle> References: <1c12dfe70911300250v2cba08aaj56bec1c745a25ef9@mail.gmail.com> <60a9403b0911300302h478400amef58ac903723324b@mail.gmail.com> <1c12dfe70911300902h51c9ed9sf5145200f3a8dae4@mail.gmail.com> <1259880699.3887.18.camel@zingle> Message-ID: <1c12dfe70912040701p3d38cc9fg56daa1f70d66917a@mail.gmail.com> got it. thanks for the info. Regards ~Sameer On Fri, Dec 4, 2009 at 4:21 AM, Tim-Philipp M?ller wrote: > On Mon, 2009-11-30 at 22:32 +0530, Sameer Naik wrote: > >> According to events design doc, the plugin is supposed to discard any >> input data it receives after the GST_EVENT_FLUSH_START event. This >> call is not serialized. Which means the chain function would have to >> be sprinkled with the is_flushing check, which is not very desirable. > > That's not how it works. The flush-start would be pushed out of band > from a thread other than the streaming threads (and your sink event > handler would/should pass it downstream). Pads will set themselves > automatically to flushing when they receive flush-start. In your chain > function you will then receive a wrong-state flow return when you do > gst_pad_push() or gst_pad_alloc_buffer(), at which point you'd stop or > skip the processing/decoding and bail out by returning wrong-state > upstream. You won't receive data after the flush-start automatically, > you just have to make sure you bail out quickly if needed. > > Cheers > ?-Tim > > > > ------------------------------------------------------------------------------ > Join us December 9, 2009 for the Red Hat Virtual Experience, > a free event focused on virtualization and cloud computing. > Attend in-depth sessions from your desk. Your couch. Anywhere. > http://p.sf.net/sfu/redhat-sfdev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From amelotti at gmail.com Fri Dec 4 16:41:42 2009 From: amelotti at gmail.com (Luiz Augusto Amelotti) Date: Fri, 4 Dec 2009 13:41:42 -0200 Subject: [gst-devel] Compiling gstreamer plugin Message-ID: <4c3dd1e0912040741l7f1b2b41k3aa8f8a3d9724900@mail.gmail.com> hi guys, i'm new to gstreamer (and to linux), but i want to compile (to test) a plugin. But i can't find the correct parameters. Can anyone help me with this basic issue? thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From fberckel at xs4all.nl Fri Dec 4 17:18:11 2009 From: fberckel at xs4all.nl (Frans van Berckel) Date: Fri, 04 Dec 2009 17:18:11 +0100 Subject: [gst-devel] Compiling gstreamer plugin In-Reply-To: <4c3dd1e0912040741l7f1b2b41k3aa8f8a3d9724900@mail.gmail.com> References: <4c3dd1e0912040741l7f1b2b41k3aa8f8a3d9724900@mail.gmail.com> Message-ID: <1259943491.1978.10.camel@deblnxsrv254.localdomain> Hi Luiz, Did you read-up about: the Core Plugins 0.10 Plugins Reference Manual http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/index.html Frans van Berckel On Fri, 2009-12-04 at 13:41 -0200, Luiz Augusto Amelotti wrote: > hi guys, > > i'm new to gstreamer (and to linux), but i want to compile (to test) a > plugin. But i can't find the correct parameters. > Can anyone help me with this basic issue? > > thanks From anil.vemulapally at gmail.com Sat Dec 5 06:52:50 2009 From: anil.vemulapally at gmail.com (anil v) Date: Sat, 5 Dec 2009 11:22:50 +0530 Subject: [gst-devel] how to receive the RTSP stream using gstreamer Message-ID: <4bc25c2f0912042152p618abdc2r567f555909edc7d8@mail.gmail.com> Hi All, I want to receive the rtsp stream usig gstreamer's gst-launch. could you please tell me how can I receive the RTSP stream ? I am using RTSP server as Live555 server. Thanks, Anil.V -------------- next part -------------- An HTML attachment was scrubbed... URL: From kapil.agl at gmail.com Sat Dec 5 07:14:06 2009 From: kapil.agl at gmail.com (Kapil Agrawal) Date: Sat, 5 Dec 2009 11:44:06 +0530 Subject: [gst-devel] how to receive the RTSP stream using gstreamer In-Reply-To: <4bc25c2f0912042152p618abdc2r567f555909edc7d8@mail.gmail.com> References: <4bc25c2f0912042152p618abdc2r567f555909edc7d8@mail.gmail.com> Message-ID: Anil use rtspsrc element to receive. so something like, gst-launch-0.10 -v rtspsrc location= ! decodebin ! xvimagesink -kapil On Sat, Dec 5, 2009 at 11:22 AM, anil v wrote: > Hi All, > > I want to receive the rtsp stream usig gstreamer's gst-launch. could you > please tell me how can I receive the RTSP stream ? I am using RTSP server as > Live555 server. > > > Thanks, > Anil.V > > > ------------------------------------------------------------------------------ > Join us December 9, 2009 for the Red Hat Virtual Experience, > a free event focused on virtualization and cloud computing. > Attend in-depth sessions from your desk. Your couch. Anywhere. > http://p.sf.net/sfu/redhat-sfdev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- http://www.linkedin.com/in/kapilagrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: From lists at svrinformatica.it Sat Dec 5 19:39:31 2009 From: lists at svrinformatica.it (Mailing List SVR) Date: Sat, 5 Dec 2009 19:39:31 +0100 Subject: [gst-devel] gst buffer to image Message-ID: <200912051939.31342.lists@svrinformatica.it> Hi all, I'm using a simple playbin pipeline, I can get the last frame with something like this: In [124]: frame=player.get_property("frame") In [125]: frame Out[125]: now I can access frame.data that would be the raw frame data, but how to convert this frame to a jpg or png image? I tried to save the frame to a file and to convert with jpegenc and pngenc with no success, any suggestions? thanks Nicola From anil.vemulapally at gmail.com Sat Dec 5 20:15:48 2009 From: anil.vemulapally at gmail.com (anil v) Date: Sun, 6 Dec 2009 00:45:48 +0530 Subject: [gst-devel] how to receive the RTSP stream using Message-ID: <4bc25c2f0912051115o2aaf2cbbucce3d0aa0608247b@mail.gmail.com> Hi All, I have tried to play the rtsp stream playback as mentioned below using gst-launch But I Couldn't able to see the video. could any suggest me what is the problem from below log. *$gst-launch-0.10 -v rtspsrc location=rtsp://172.22.22.116:554/alvin.mpg ! decodebin ! xvimagesink* Setting pipeline to PAUSED ... Xlib: extension "Generic Event Extension" mtissing on display ":0.0". Xlib: extension "Generic Event Extension" missing on display ":0.0". /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:rtpbin0: latency = 3000 /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1: timeout = 5000000 Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0: ntp-ns-base = 3469027894831746000 New clock: GstSystemClock /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1: timeout = 0 /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0: caps = application/x-rtcp /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src: caps = application/x-rtcp /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSink:udpsink1.GstPad:sink: caps = application/x-rtcp /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0.GstProxyPad:proxypad3: caps = application/x-rtcp I could not observe any error messages. Thanks, Anil.V Message: 7 Date: Sat, 5 Dec 2009 11:44:06 +0530 From: Kapil Agrawal Subject: Re: [gst-devel] how to receive the RTSP stream using gstreamer To: Discussion of the development of GStreamer Message-ID: Content-Type: text/plain; charset="iso-8859-1" Anil use rtspsrc element to receive. so something like, gst-launch-0.10 -v rtspsrc location= ! decodebin ! xvimagesink -kapil On Sat, Dec 5, 2009 at 11:22 AM, anil v wrote: > Hi All, > > I want to receive the rtsp stream usig gstreamer's gst-launch. could you > please tell me how can I receive the RTSP stream ? I am using RTSP server as > Live555 server. > > > Thanks, > Anil.V > -------------- next part -------------- An HTML attachment was scrubbed... URL: From regomodo at googlemail.com Sat Dec 5 22:06:01 2009 From: regomodo at googlemail.com (regomodo) Date: Sat, 5 Dec 2009 21:06:01 +0000 Subject: [gst-devel] pygst tagging Message-ID: <200912052106.01076.regomodo@googlemail.com> Hi, Currently in my application I am using tagpy for audio-file tagging duties. I have seen that it is possible to use pygst for this instead. However, I can't find any documentation to figure out how to do so. Is there any documentation to do this? Would pygst allow tagging of aac files? Regards Reg From thiagossantos at gmail.com Sat Dec 5 22:34:00 2009 From: thiagossantos at gmail.com (thiagossantos at gmail.com) Date: Sat, 5 Dec 2009 19:34:00 -0200 Subject: [gst-devel] how to receive the RTSP stream using gstreamer In-Reply-To: References: <4bc25c2f0912042152p618abdc2r567f555909edc7d8@mail.gmail.com> Message-ID: On Sat, Dec 5, 2009 at 4:14 AM, Kapil Agrawal wrote: > Anil use rtspsrc element to receive. > > so something like, > gst-launch-0.10 -v rtspsrc location= ! decodebin ! xvimagesink > > You can use playbin2 directly, like: gst-launch playbin2 uri=rtsp://yoururl > > > -kapil > > On Sat, Dec 5, 2009 at 11:22 AM, anil v wrote: > >> Hi All, >> >> I want to receive the rtsp stream usig gstreamer's gst-launch. could >> you please tell me how can I receive the RTSP stream ? I am using RTSP >> server as Live555 server. >> >> >> Thanks, >> Anil.V >> >> >> ------------------------------------------------------------------------------ >> Join us December 9, 2009 for the Red Hat Virtual Experience, >> a free event focused on virtualization and cloud computing. >> Attend in-depth sessions from your desk. Your couch. Anywhere. >> http://p.sf.net/sfu/redhat-sfdev2dev >> _______________________________________________ >> gstreamer-devel mailing list >> gstreamer-devel at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> >> > > > -- > http://www.linkedin.com/in/kapilagrawal > > > ------------------------------------------------------------------------------ > Join us December 9, 2009 for the Red Hat Virtual Experience, > a free event focused on virtualization and cloud computing. > Attend in-depth sessions from your desk. Your couch. Anywhere. > http://p.sf.net/sfu/redhat-sfdev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- Thiago Sousa Santos -------------- next part -------------- An HTML attachment was scrubbed... URL: From lists at svrinformatica.it Sat Dec 5 23:27:59 2009 From: lists at svrinformatica.it (Mailing List SVR) Date: Sat, 5 Dec 2009 23:27:59 +0100 Subject: [gst-devel] gst buffer to image In-Reply-To: <200912051939.31342.lists@svrinformatica.it> References: <200912051939.31342.lists@svrinformatica.it> Message-ID: <200912052327.59362.lists@svrinformatica.it> In data sabato 5 dicembre 2009 19:39:31, Mailing List SVR ha scritto: : > Hi all, > > I'm using a simple playbin pipeline, I can get the last frame with > something like this: > > In [124]: frame=player.get_property("frame") > > In [125]: frame > Out[125]: additionally: In [34]: frame.get_caps().to_string() Out[34]: 'video/x-raw-yuv, width=(int)320, height=(int)240, framerate=(fraction)10/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1' I tried this pipeline: gst-launch-0.10 -v filesrc location=/tmp/frame ! "video/x-raw-yuv, width=(int)320, height=(int)240, framerate=(fraction)10/1, format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect- ratio=(fraction)1/1" ! jpegenc ! filesink location=test.jpg but the jpg generated is bad (attacched). I attacch also the saved frame.data > > now I can access frame.data that would be the raw frame data, but how to > convert this frame to a jpg or png image? I tried to save the frame to a > file and to convert with jpegenc and pngenc with no success, any > suggestions? > > thanks > Nicola > > --------------------------------------------------------------------------- > --- Join us December 9, 2009 for the Red Hat Virtual Experience, > a free event focused on virtualization and cloud computing. > Attend in-depth sessions from your desk. Your couch. Anywhere. > http://p.sf.net/sfu/redhat-sfdev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -------------- next part -------------- A non-text attachment was scrubbed... Name: test.jpg Type: image/jpeg Size: 618896 bytes Desc: not available URL: -------------- next part -------------- IHDE at EFDDCFEJLIJGEGGHCHKELLHHJMKMLJLLMMMOKOIPOXX`aOONMOQQUQUQSMVQSSOPQRSTPRQURPXQOUSSUVSVSUQTSTRSTUU]WYXYYX[V[TXXXXXXXXXXXYZ[[\\````````________]]]]]^^^ghijlmnommmmmmmmoooooooooooooooommmmmmmmoooooooommmmmmmmnnnnnnnnnnnnnnnnmmmmmmmmkkkkkkkkllllllllkkkkkkkkhjecddadfgjkkkgdkfgjgehheijegdegmehaji`hdfgbacbbcebcd`bbaaaaaaaaCCCDHECFGHLGKHIHMHJHLLMFHLMMKJLMQJMOQJLOOKMRLP^a\YNJUSRNMNSRPRQPPTPRQRUQSQVUQWSTRTRSSSQRVUWYWTTVW[RTYZY[XW[XZX]YXXXXXXXXZZ[\\]^^````````^^^^^^^^\\\\\[[[ghijlmnonnnnnnnnoooooooooooooooonnnnnnnnoooooooonnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmllllllllllllllllkkkkkkkkjmedddbeidielinjhgeggjdjihfdefkgehfbgfegeebcgdbbcfddfa_`aaaaaaaaGHJHDJD at GFGEGFFIPFKGFIEKKKHJMKNKLOQKGIMNMNQJKI]a`YMLPSONOOSOQSSURQRNPPTWRUTTNSUVUSVQSTUWTZVUYTTVWVUTZUQXUVWUTYXY[[[[[[[[\]]]^^__^^^^^^^^\\\\\\\\]\\[ZYXXghijlmnonnnnnnnnoooooooooooooooonnnnnnnnoooooooonnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmllllllllllllllllkkkkkkkkklhedeagfcdimefhhnjeiifdbgejcdgibefdgeeidjgdbdhfgaadecabaaaaaaaaFCCHKGCGIFFKMIIEJOLIIIKIKMOJMLLNQJNNMROMPJONQM^b^cNMOUPHPQPXWSPRORORPRVTWWPRQPQSUUXVRWYSVVVXTXWVVSZYTXYXZ]YZZW`Y^^^^^^^^]]]]^^^^^^^^^^^^]]]]]]]]_^]\ZYXXghijlmnooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmllllllllkkkkkkkkjkfffgdfefljmhgjhegkdghegjgdijefgkffeehfmbcebe`hcbdde`ccaaaaaaaaDHJEHFG???F?GLO??KKOJN??NNKR??LNK\??VSRVQSTVNP??QTQS???XQ?WX???UU[WVWWW]^????]]]]]]]]]]\\\\^^^^^^^^________``_^\[ZYghijlmnooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmllllllllkkkkkkkkmmhde`??????ii??ki??ld?????hifeggb?bf?bedaaaaaaaaCDFGLJ???JKL???J?J?M?M?P?LN??a??VPURQVN???RQQR?UPR?Y??S?Y[[\\???[ZY??[?ZZZZZZ^]]]\\[[^^^^^^^^``````````_^]\\[ghijlmnoppppppppooooooooooooooooppppppppooooooooppppppppnnnnnnnnnnnnnnnnmmmmmmmmnnnnnnnnllllllllkkkkkkkkkmfegc??gdlhhi??ki??ij??if??efji`c?gfe??a`aaaaaaaaDCIFD????JGE??LHIOI??O??????ONR??O??R??^`??PTRPPQRTUV?RS????U???]Z??\]\]???XX[?WZZZZZZZZ``_^^]\\````````^^^^^^^^]]]\\\\\ghijlmnoppppppppooooooooooooooooppppppppooooooooppppppppnnnnnnnnnnnnnnnnmmmmmmmmnnnnnnnnllllllllkkkkkkkkllifgc??figlgkj????geh??hffl??fe??cbaaaaaaaaDFHDEDJ?????HK??ONLJO?QN?Q??c_??SSTRMTRNPTRR???TXX[XY??YZ\???]X\Q[ZW]?Y??V\\??ZW?^^^^^bba`__^^````````]]]]]]]]ZZZ[[[[[ghijlmnoqqqqqqqqooooooooooooooooqqqqqqqqooooooooqqqqqqqqnnnnnnnnnnnnnnnnmmmmmmmmoooooooollllllllkkkkkkkknoiggd????l???kjf??kgf???g^??????afeaaaaaaaaIGJEIJL??MN??N?RNIK?P??LPS?PO?NT???SRSSSSSSSS?UZVV?UW??W??ZWXV[Z??Z??ZX\??Z[?^^^^^]]]]]]]]]]]]]]]][[[[[[[[ZZZ[\\]]dikjjnppooooooooqqqqqqqqqqqqqqqqooooooooppppppppppppppppppppppppoooooooommmmmmmmnnnnnnnnnnnnnnnnmmmmmmmmjikfgh?hkj???jgki??????lheh??gige??b^??e??gdg`bbaa``__EGJGFIJ??PN??O?KQNK??NNOMQ??XSN?W?c??URQRTTTTTTTT??XWYX?XV??Y???[??[VYV\W?????^_?]]]]]]]]]]]]]]]]]]]]]\\\\\\\\\\\\\[[[eiljknpqppppppppqqqqqqqqqqqqqqqqppppppppppppppppppppppppppppppppoooooooonnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmmljfgd??gehjlkh?f??khhegj??fhcdg???eb?f_cbbba``__JGIJFGJ??NLM??KI?M??O??OS???QUTSTTTTTTTT??X??RUWYZ?WU??U?[^\[[^??]^`?Y]]]]]]]]]]]]]]]]]]]]]]]]\\\\\\\\^^]]\[ZZejlkknqqppppppppqqqqqqqqqqqqqqqqppppppppppppppppppppppppppppppppoooooooonnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmlkigjh??jijjkj?lj??kfghgj??h??fff?baa```FEJEKGL??LNII??JMJKQ??N??NQS?O??UUUUUUUUUU??STWW????X??????ZX?????a^Z]???\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]^^]]\\\[fjmlloqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppppppppppppppppppppppppoooooooooooooooonnnnnnnnnnnnnnnnmmmmmmmmljmghg?????lmh??j?ii????b???b??bgc??baa``HHHJHMIGLJLIIMINNMONPNRMLRMPNMRQOMSMQPMTSNROURRV^b^VLQTOUUUUUUUUVRW[SWUWYUVYV\UXWVY][^\YUZa^ZX\ZY\_[[`ZZ^\[ZZ^WX\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]\\]]^^^_fkmllprrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppppppppppppppppppppppppoooooooooooooooonnnnnnnnnnnnnnnnmmmmmmmmnnhifgffgekkjklhojkihmgifgfghiijhfihkgffikflghgbefdcgechddccbaaaEFIELMLIEIIOJJLOPLMMOOKMPOLLNNQNMONRQNPQPQOTPRNT__a\OQRVVVVVVVVVUVXWXVY[UUXUWYWS]\\ZXY[YY[WX^]][XVYU^^\X^^X]_]^Z[[[[[[[[]]]]]]]]]]]]]]]]^^^^^^^^\\]]^_``gknmmpssrrrrrrrrqqqqqqqqqqqqqqqqrrrrrrrrppppppppppppppppppppppppooooooooppppppppnnnnnnnnnnnnnnnnmmmmmmmmnmljefdfggfhmiikijmjiljlgmjhjgfkhhlhihgghigfddgdd`chddggdddccbbaIFHHLKLIIMKIKJLLNKPSNNNNPNNOPROQKOURPPRPPPPRUVOT]aaaRUUSVVVVVVVV\_WZZYYQWXWXXWT_[XYXYZV\XYUZVX[VZ\`]ZXZYX]^]\]\][[[[[[[[]]]]]]]]]]]]]]]]^^^^^^^^^^^^^___glnmmqssrrrrrrrrqqqqqqqqqqqqqqqqrrrrrrrrppppppppppppppppppppppppooooooooppppppppnnnnnnnnnnnnnnnnmmmmmmmmmlkkhiffigpkgkrnkikipjlnijkhnhkgfmhhfdafhjehbfegfgfifedeeeddcbbbEFHJIJIJJKFJOLLNLPQQMNNMPORMNQPQPNSQPPVTORUSRRSUdgc`VUWUWWWWWWWWTXRXSVYYZXV[X\WVVY\XXWZUVWUVQWX[[Z]]Z]XYZ[Y`W^YXZZZZZZZZ]]]]]]]]]]]]]]]]________```_^^]]glommqssssssssssqqqqqqqqqqqqqqqqssssssssppppppppppppppppppppppppooooooooqqqqqqqqnnnnnnnnnnnnnnnnmmmmmmmmpokkgfhehiojhgjmkichkhlnkjmjhhgjdfejflbehdijfieeigaegefdeeddccbbIIIIIIIIJJJJJJJJLLLLLLLLPPPPPPPPRRRRRRRRVVUTTSRRedb_RTWZWWWWWWWWXXXXXXXXVVVVVVVVWWWWWWWWWWWWWWWW[[[[[[[[ZZZZZZZZZZZ[\\]]]]]]]]]]]]]]]]]]ccccccccccb`_]\\chmmklptqqqqqqqqsssssssspqrssrqpqqqqqqqqssssssssssssssssppppppppqqqqqqqqqqqqqqqqppppppppppppppppooooooooonmljihghiklmllkkkkkkkkkhhhhhhhhgggggggghhhhhhhhddddddddddddddddJJJJJJJJKKKKKKKKMMMMMMMMPPPPPPPPRRRRRRRRVVUTTSRRddb`STWZWWWWWWWWXXXXXXXXWWWWWWWWXXXXXXXXXXXXXXXX\\\\\\\\[[[[[[[[Z[[\\]]]________bbbbbbbbdddddddddcba`^]]bgmnllptrrrrrrrrsssssssspqrssrqprrrrrrrrssssssssssssssssqqqqqqqqqqqqqqqqqqqqqqqqppppppppppppppppooooooooonmljihghiklmllkkkkkkkkkiiiiiiiihhhhhhhhhhhhhhhheeeeeeeeddddddddJJJJJJJJKKKKKKKKMMMMMMMMPPPPPPPPRRRRRRRRUUUTTSSSccbaTTVYWWWWWWWWXXXXXXXXWWWWWWWWYYYYYYYYYYYYYYYY\\\\\\\\\\\\\\\\[\\]]^^^aaaaaaaaddddddddbbbbbbbbddcba`__aglnmmptrrrrrrrrssssssssqqsttsqqrrrrrrrrssssssssssssssssqqqqqqqqqqqqqqqqqqqqqqqqppppppppppppppppooooooooonmljihghiklmllkkkkkkkkkiiiiiiiihhhhhhhhhhhhhhhheeeeeeeeddddddddKKKKKKKKLLLLLLLLNNNNNNNNPPPPPPPPRRRRRRRRTTTTTTTTbccbUUVWWWWWWWWWXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYY]]]]]]]]\\\\\\\\]]]^__``aaaaaaaaaaaaaaaabbbbbbbbdddcbaa`_flommqtssssssssssssssssqrsttsrqssssssssssssssssssssssssrrrrrrrrqqqqqqqqqqqqqqqqppppppppppppppppooooooooonmljihghiklmllkkkkkkkkkjjjjjjjjiiiiiiiihhhhhhhhffffffffddddddddKKKKKKKKLLLLLLLLNNNNNNNNPPPPPPPPRRRRRRRRTTTTTTTTabccVUUVWWWWWWWWXXXXXXXXXXXXXXXX[[[[[[[[[[[[[[[[]]]]]]]]^^^^^^^^^^__`aaaaaaaaaaabbbbbbbbeeeeeeeedcccbbba^elonnqtssssssssssssssssrstuutsrssssssssssssssssssssssssrrrrrrrrqqqqqqqqqqqqqqqqppppppppppppppppooooooooonmljihghiklmllkkkkkkkkkjjjjjjjjiiiiiiiihhhhhhhhffffffffddddddddLLLLLLLLMMMMMMMMOOOOOOOOPPPPPPPPRRRRRRRRSSSTTUUU_bddWVUUWWWWWWWWXXXXXXXXYYYYYYYY[[[[[[[[[[[[[[[[^^^^^^^^^^^^^^^^_``aabbcaaaaaaaaeeeeeeeeddddddddbbbbbaaa\dlpooquttttttttssssssssrstuutsrttttttttssssssssssssssssssssssssqqqqqqqqqqqqqqqqppppppppppppppppooooooooonmljihghiklmllkkkkkkkkkkkkkkkkkjjjjjjjjhhhhhhhhggggggggddddddddLLLLLLLLMMMMMMMMOOOOOOOOPPPPPPPPRRRRRRRRRRSTTUVV^adeXVTTWWWWWWWWXXXXXXXXYYYYYYYY\\\\\\\\\\\\\\\\^^^^^^^^________aaabbccdcccccccceeeeeeee________`````aaa[clpppruttttttttssssssssstuvvutsttttttttssssssssssssssssssssssssqqqqqqqqqqqqqqqqppppppppppppppppooooooooonmljihghiklmllkkkkkkkkkkkkkkkkkjjjjjjjjhhhhhhhhggggggggddddddddMMMMMMMMNNNNNNNNPPPPPPPPPPPPPPPPRRRRRRRRRRSTTUVV^adfYVTSWWWWWWWWXXXXXXXXZZZZZZZZ]]]]]]]]]]]]]]]]________````````aabbcdddeeeeeeee````````____________````ZblqppruuuuuuuuussssssssstuvvutsuuuuuuuussssssssssssssssttttttttqqqqqqqqqqqqqqqqppppppppppppppppooooooooonmljihghiklmllkkkkkkkkkllllllllkkkkkkkkhhhhhhhhhhhhhhhhddddddddKLLMMNNOOOOOOOOOQQQQQQQQPPPPPPPPTTTTTTTTSSSSSSSSW]bc_XVTVVVVVVVVYZZ[[\\][[[[[[[[\\\\\\\\[[[[[[[[________````````````````````````^^_``abb^^^^^^^^aaaaaaaa^`oooortvvvvvvvvssssssssuuuuuuuuuuuuuuuussssssssttttttttttttttttssssssssssssssssrrrrrrrrqqqqqqqqqqqqqqqqqqplighjjkmnonnmmmmmmmmmllllllllkkkkkkkkiiiiiiiiggggggggffffffffKLLMMNNOOOOOOOOOQQQQQQQQQQQQQQQQTTTTTTTTTTTTTTTTW]bd_YVUWWWWWWWWYZZ[[\\][[[[[[[[\\\\\\\\^^^^^^^^aaaaaaaa````````````````````````^^_``abb________aaaaaaaa^`oooortvvvvvvvvttttttttuuuuuuuuuuuuuuuuttttttttttttttttttttttttssssssssssssssssrrrrrrrrqqqqqqqqqqqqqqqqqqplighjjkmnonnmmmmmmmmmllllllllkkkkkkkkiiiiiiiiggggggggffffffffKLLMMNNOOOOOOOOOQQQQQQQQQQQQQQQQTTTTTTTTTTTTTTTTW\cd`[VUWWWWWWWWYZZ[[\\]]]]]]]]]^^^^^^^^````````aaaaaaaa^^^^^^^^^^^^^^^^````````___``aaa________aaaaaaaa^`oooortvvvvvvvvttttttttuuuuuuuuuuuuuuuuttttttttttttttttttttttttssssssssssssssssrrrrrrrrqqqqqqqqqqqqqqqqqqplighjjkmnonnmmmmmmmmmllllllllkkkkkkkkiiiiiiiiggggggggffffffffKLLMMNNOOOOOOOOOQQQQQQQQRRRRRRRRTTTTTTTTUUUUUUUUV[dea]WVXXXXXXXXYZZ[[\\]]]]]]]]]^^^^^^^^````````^^^^^^^^^^^^^^^^^^^^^^^^````````````````````````aaaaaaaa^`oooortvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttttttttttttssssssssssssssssrrrrrrrrqqqqqqqqqqqqqqqqqqplighjjkmnonnmmmmmmmmmllllllllkkkkkkkkiiiiiiiiggggggggffffffffKLLMMNNOOOOOOOOOQQQQQQQQRRRRRRRRTTTTTTTTUUUUUUUUUZffc_WWXXXXXXXXYZZ[[\\]]]]]]]]]^^^^^^^^________^^^^^^^^^^^^^^^^^^^^^^^^````````````````````````aaaaaaaa^`oooortvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttttttttttttssssssssssssssssrrrrrrrrqqqqqqqqqqqqqqqqqqplighjjkmnonnmmmmmmmmmllllllllkkkkkkkkiiiiiiiiggggggggffffffffKLLMMNNOOOOOOOOOQQQQQQQQSSSSSSSSTTTTTTTTVVVVVVVVUYggdaWXYYYYYYYYYZZ[[\\]]]]]]]]]^^^^^^^^]]]]]]]]________^^^^^^^^^^^^^^^^````````aaa``___aaaaaaaaaaaaaaaa^`oooortvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuvvvvvvvvttttttttttttttttssssssssssssssssrrrrrrrrqqqqqqqqqqqqqqqqqqplighjjkmnonnmmmmmmmmmllllllllkkkkkkkkiiiiiiiiggggggggffffffffKLLMMNNOOOOOOOOOQQQQQQQQSSSSSSSSTTTTTTTTVVVVVVVVTXhgecWYYYYYYYYYYZZ[[\\][[[[[[[[\\\\\\\\]]]]]]]]________````````````````````````bba``_^^aaaaaaaaaaaaaaaa^`oooortvvvvvvvvvvvvvvvvuuuuuuuuuuuuuuuuvvvvvvvvttttttttttttttttssssssssssssssssrrrrrrrrqqqqqqqqqqqqqqqqqqplighjjkmnonnmmmmmmmmmllllllllkkkkkkkkiiiiiiiiggggggggffffffffKLLMMNNOOOOOOOOOQQQQQQQQTTTTTTTTTTTTTTTTWWWWWWWWTWhhedWYZZZZZZZZYZZ[[\\][[[[[[[[\\\\\\\\^^^^^^^^\\\\\\\\````````````````````````bba``_^^bbbbbbbbaaaaaaaa^`oooortvvvvvvvvwwwwwwwwuuuuuuuuuuuuuuuuwwwwwwwwttttttttttttttttssssssssssssssssrrrrrrrrqqqqqqqqqqqqqqqqqqplighjjkmnonnmmmmmmmmmllllllllkkkkkkkkiiiiiiiiggggggggffffffffLMMNNOOPQQQQQQQQSSSSSSSSRRRRRRRRTTTTTTTTVVWWXYYYXWfeehY[]]]]]]]]^^^^^^^^\\\\\\\\^^^^^^^^\\\\]]]]^]]_bca^bbbbbbbb````````eeeeeeeebbbbbbbbbbbbbbbbddddddddddgnqqsuxxxxxxxxyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwvvvvvvvvuuuuuuuurrrrrrrrttttttttssssssssrrrrrrrroorqihkkjkmopppooooooooommmmmmmmlllllllljjjjjjjjiiiiiiiiggggggggLMMNNOOPQQQQQQQQSSSSSSSSSSSSSSSSUUUUUUUUUUVVWWXXYWfeehZ\]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^\]]]]]]]^]^`bca^ccccccccaaaaaaaaeeeeeeeeccccccccccccccccddddddddddgnqqsuxxxxxxxxyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwvvvvvvvvuuuuuuuussssssssttttttttssssssssrrrrrrrroorqihkkjkmopppooooooooommmmmmmmlllllllljjjjjjjjiiiiiiiiggggggggLMMNNOOPQQQQQQQQSSSSSSSSTTTTTTTTVVVVVVVVUUUVWWXXYXfeeg[]________````````````````]]]]]]]]^^^^]]]]^^_acca_ccccccccbbbbbbbbeeeeeeeeccccccccccccccccddddddddddgnqqsuxxxxxxxxyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwvvvvvvvvuuuuuuuussssssssttttttttssssssssrrrrrrrroorqihkkjkmopppooooooooommmmmmmmlllllllljjjjjjjjiiiiiiiiggggggggLMMNNOOPQQQQQQQQSSSSSSSSTTTTTTTTVVVVVVVVWWWXYYZZ[Zeefg]^________````````````````^^^^^^^^`___^^^]^_`bcca`ddddddddbbbbbbbbeeeeeeeeddddddddddddddddddddddddddgnqqsuxxxxxxxxyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwvvvvvvvvuuuuuuuuttttttttttttttttssssssssrrrrrrrroorqihkkjkmopppooooooooommmmmmmmlllllllljjjjjjjjiiiiiiiiggggggggLMMNNOOPQQQQQQQQSSSSSSSSVVVVVVVVXXXXXXXXZZ[[\\]]\\eeff__________````````^^^^^^^^________aaa`_^^^^_accbbbddddddddddddddddeeeeeeeeddddddddddddddddddddddddddgnqqsuxxxxxxxxyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwvvvvvvvvuuuuuuuuttttttttttttttttssssssssrrrrrrrroorqihkkjkmopppooooooooommmmmmmmlllllllljjjjjjjjiiiiiiiiggggggggLMMNNOOPQQQQQQQQSSSSSSSSVVVVVVVVXXXXXXXX\\]]^^__]]deff``________````````^^^^^^^^aaaaaaaaccba`_^^^`cdcbbceeeeeeeeddddddddeeeeeeeeeeeeeeeeeeeeeeeeddddddddddgnqqsuxxxxxxxxyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwvvvvvvvvuuuuuuuuuuuuuuuuttttttttssssssssrrrrrrrroorqihkkjkmopppooooooooommmmmmmmlllllllljjjjjjjjiiiiiiiiggggggggLMMNNOOPQQQQQQQQSSSSSSSSWWWWWWWWYYYYYYYY\\]]^^__]_defea`]]]]]]]]^^^^^^^^````````ddddddddedcba_^^^adecbcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddddddddddgnqqsuxxxxxxxxyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwvvvvvvvvuuuuuuuuuuuuuuuuttttttttssssssssrrrrrrrroorqihkkjkmopppooooooooommmmmmmmlllllllljjjjjjjjiiiiiiiiggggggggLMMNNOOPQQQQQQQQSSSSSSSSXXXXXXXXZZZZZZZZ[[[\]]^^^_cefeba]]]]]]]]^^^^^^^^bbbbbbbbeeeeeeeeeedba_^^^adecbcdffffffffffffffffeeeeeeeeffffffffffffffffddddddddddgnqqsuxxxxxxxxyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwvvvvvvvvuuuuuuuuvvvvvvvvttttttttssssssssrrrrrrrroorqihkkjkmopppooooooooommmmmmmmlllllllljjjjjjjjiiiiiiiiggggggggOPPQQRRSRRSSTTUUSSTTUVVVZZZZZZZZYYYYYYYY]]]]]]]]]]_alhc^[\\]]^^__________`aaccdeggggggggffeeddccbcddffghffffffffgggggggghhhhhhhhhhhhhhhheeeeeeeeddddddddhffguvvtyyyyyyyy{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyxxxxxxxxwwwwwwwwttttttttuuuuuuuuuuuuuuuusssssssstsrqonmlnooppqqrppppppppnnnnnnnnmmmmmmmmlllllllljjjjjjjjiiiiiiiiOPPQQRRSSSSTUUVVUUUVWWXXYYYYYYYYYYYYYYYY]]]]]]]]]]_`lhc_[\\]]^^__________`aaccdeggggggggfffeddccbcddffghgggggggggggggggghhhhhhhhhhhhhhhhffffffffeeeeeeeehffguvvtzzzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyxxxxxxxxwwwwwwwwuuuuuuuuuuuuuuuuuuuuuuuusssssssstsrqonmlnooppqqrppppppppnnnnnnnnmmmmmmmmlllllllljjjjjjjjiiiiiiiiOPPQQRRSTTUUVVWWVVWWXXYYYYYYYYYYYYYYYYYY[[[[[[[[\\^`kiea[\\]]^^__________`aaccdegggggggggffeedddbcddffghgggggggggggggggghhhhhhhhhhhhhhhhffffffffeeeeeeeehffguvvtzzzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyxxxxxxxxwwwwwwwwuuuuuuuuuuuuuuuuuuuuuuuusssssssstsrqonmlnooppqqrppppppppnnnnnnnnmmmmmmmmlllllllljjjjjjjjiiiiiiiiOPPQQRRSUUVVWWXXUVVWWXXXXXXXXXXXYYYYYYYY[[[[[[[[\\]_kifc[\\]]^^__________`aaccdegggggggggggfeeddbcddffghhhhhhhhhgggggggghhhhhhhhhhhhhhhhggggggggffffffffhffguvvt{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyxxxxxxxxwwwwwwwwvvvvvvvvuuuuuuuuuuuuuuuusssssssstsrqonmlnooppqqrppppppppnnnnnnnnmmmmmmmmlllllllljjjjjjjjiiiiiiiiOPPQQRRSUUVVWWXXTTTUUVVWXXXXXXXXYYYYYYYY[[[[[[[[[[\^jjhe[\\]]^^__________`aaccdegggggggghhggfeeebcddffghhhhhhhhhgggggggghhhhhhhhhhhhhhhhggggggggffffffffhffguvvt{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyxxxxxxxxwwwwwwwwvvvvvvvvuuuuuuuuuuuuuuuusssssssstsrqonmlnooppqqrppppppppnnnnnnnnmmmmmmmmlllllllljjjjjjjjiiiiiiiiOPPQQRRSTTUUVVWWSSTTUUVVWWWWWWWWYYYYYYYY[[[[[[[[ZZ[]jjig[\\]]^^__________`aaccdegggggggghhhggffebcddffghiiiiiiiigggggggghhhhhhhhhhhhhhhhhhhhhhhhgggggggghffguvvt||||||||{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyxxxxxxxxwwwwwwwwwwwwwwwwuuuuuuuuuuuuuuuusssssssstsrqonmlnooppqqrppppppppnnnnnnnnmmmmmmmmlllllllljjjjjjjjiiiiiiiiOPPQQRRSSSSTUUVVTTUUVWWWWWWWWWWWYYYYYYYY]]]]]]]]ZYZ\jjji[\\]]^^__________`aaccdeggggggggiihhgfffbcddffghiiiiiiiigggggggghhhhhhhhhhhhhhhhhhhhhhhhgggggggghffguvvt||||||||{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyxxxxxxxxwwwwwwwwwwwwwwwwuuuuuuuuuuuuuuuusssssssstsrqonmlnooppqqrppppppppnnnnnnnnmmmmmmmmlllllllljjjjjjjjiiiiiiiiOPPQQRRSRRSSTTUUVVVWXXYYVVVVVVVVYYYYYYYY]]]]]]]]ZYZ[ikki[\\]]^^__________`aaccdeggggggggiihhggffbcddffghjjjjjjjjgggggggghhhhhhhhhhhhhhhhiiiiiiiihhhhhhhhhffguvvt}}}}}}}}{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyxxxxxxxxwwwwwwwwxxxxxxxxuuuuuuuuuuuuuuuusssssssstsrqonmlnooppqqrppppppppnnnnnnnnmmmmmmmmlllllllljjjjjjjjiiiiiiiiRRRRRRRRUUUUUUUUVVVVVVVVYYYYYYYYYZZ[[\\][[[[[[[[^\[ahmli^^^^^^^^````````````````eeeeeeeeddddddddggghhhhhhiijjkkljjjjjjjjggggggggggggggggggggggggggggggggkkfexyvx{||}}~~}}}}}}}}zzzzzzzzzzzzzzzz{{{{{{{{zzzzzzzzxxxxxxxxyyyyyyyywwwwwwwwwwwwwwwwvvvvvvvvrrrrrrrrsstsrpmlmnpqrqqpppppppppoooooooonnnnnnnnmmmmmmmmkkkkkkkkiiiiiiiiRRRRRRRRUUUUUUUUVVVVVVVVYYYYYYYYYZZ[[\\]\\\\\\\\^\\ahmlj________aaaaaaaaaaaaaaaaddddddddeeeeeeeefffffggghiijjkkljjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhkkgfwxvx{||}}~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyxxxxxxxxwwwwwwwwvvvvvvvvsssssssssstsrpmlmnpqrqqpppppppppoooooooonnnnnnnnmmmmmmmmkkkkkkkkiiiiiiiiRRRRRRRRUUUUUUUUVVVVVVVVYYYYYYYYYZZ[[\\]\\\\\\\\^\\`gllk________aaaaaaaaaaaaaaaaddddddddeeeeeeeeffffeeeehiijjkkljjjjjjjjhhhhhhhhiiiiiiiiiiiiiiiihhhhhhhhkjggvwwx{||}}~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyxxxxxxxxwwwwwwwwvvvvvvvvsssssssssstsrpmlmnpqrqqpppppppppoooooooonnnnnnnnmmmmmmmmkkkkkkkkiiiiiiiiRRRRRRRRUUUUUUUUVVVVVVVVYYYYYYYYYZZ[[\\]]]]]]]]]^]]`fkll````````bbbbbbbbbbbbbbbbccccccccffffffffhhgggfffhiijjkkljjjjjjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjhhuvxy{||}}~~}}}}}}}}||||||||||||||||{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyywwwwwwwwvvvvvvvvttttttttsstsrpmlmnpqrqqpppppppppoooooooonnnnnnnnmmmmmmmmkkkkkkkkiiiiiiiiRRRRRRRRUUUUUUUUVVVVVVVVYYYYYYYYYZZ[[\\]]]]]]]]]^]]`eiln````````bbbbbbbbbbbbbbbbddddddddffffffffkkjjihgghiijjkkljjjjjjjjiiiiiiiikkkkkkkkkkkkkkkkiiiiiiiijiiituxy{||}}~~}}}}}}}}||||||||||||||||{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyywwwwwwwwvvvvvvvvttttttttsstsrpmlmnpqrqqpppppppppoooooooonnnnnnnnmmmmmmmmkkkkkkkkiiiiiiiiRRRRRRRRUUUUUUUUVVVVVVVVYYYYYYYYYZZ[[\\]^^^^^^^^^^^_chmoaaaaaaaacccccccccccccccceeeeeeeeggggggggmmlkjihhhiijjkkljjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkjjjjjjjjjhjjsuyy{||}}~~}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{zzzzzzzz{{{{{{{{yyyyyyyyzzzzzzzzwwwwwwwwvvvvvvvvuuuuuuuusstsrpmlmnpqrqqpppppppppoooooooonnnnnnnnmmmmmmmmkkkkkkkkiiiiiiiiRRRRRRRRUUUUUUUUVVVVVVVVYYYYYYYYYZZ[[\\]^^^^^^^^^^^_bgmpaaaaaaaaccccccccccccccccggggggggggggggggmmljihgfhiijjkkljjjjjjjjjjjjjjjjlllllllllllllllljjjjjjjjjhkkrtyy{||}}~~}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{zzzzzzzz{{{{{{{{yyyyyyyyzzzzzzzzwwwwwwwwvvvvvvvvuuuuuuuusstsrpmlmnpqrqqpppppppppoooooooonnnnnnnnmmmmmmmmkkkkkkkkiiiiiiiiRRRRRRRRUUUUUUUUVVVVVVVVYYYYYYYYYZZ[[\\]________^^^_bgmqbbbbbbbbddddddddddddddddhhhhhhhhhhhhhhhhlkjigfeehiijjkkljjjjjjjjkkkkkkkkmmmmmmmmmmmmmmmmkkkkkkkkjhkkrszy{||}}~~}}}}}}}}~~~~~~~~~~~~~~~~{{{{{{{{zzzzzzzz||||||||yyyyyyyy{{{{{{{{wwwwwwwwvvvvvvvvvvvvvvvvsstsrpmlmnpqrqqpppppppppoooooooonnnnnnnnmmmmmmmmkkkkkkkkiiiiiiiiTTTTTTTTVVVVVVVVXXXXXXXXZZZZZZZZ]]]]]]]]^^^^^^^^_a_abclonf``baabeeeeeeeeddddddddhhhhhhhhggggggggiiiiiiiiiiiiiiiinnnnnnnnnnnnnnnnmmmmmmmmkkkkkkkkkkkkkkkkjkmnov{x{|~?????????????||||||||{{{{{{{{zzzzzzzz||||||||{{{{{{{{zzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvtuuutrponopprrstqqqqqqqqppppppppoooooooommmmmmmmlllllllljjjjjjjjTTTTTTTTVVVVVVVVXXXXXXXXZZZZZZZZ]]]]]]]]^^^^^^^^_a_abclongaabbabeeeeeeeeeeeeeeeehhhhhhhhhhhhhhhhjjjjjjjjjjjjjjjjnnnnnnnnnnnnnnnnmmmmmmmmllllllllllllllllkkmnnv{x{|~?????????????}}}}}}}}||||||||{{{{{{{{||||||||{{{{{{{{zzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvtuuutrponopprrstqqqqqqqqppppppppoooooooommmmmmmmlllllllljjjjjjjjTTTTTTTTVVVVVVVVXXXXXXXXZZZZZZZZ]]]]]]]]^^^^^^^^_a_abclongaacbbceeeeeeeeeeeeeeeehhhhhhhhhhhhhhhhjjjjjjjjjjjjjjjjnnnnnnnnnnnnnnnnmmmmmmmmllllllllllllllllkkmmnu{y{|~?????????????}}}}}}}}||||||||{{{{{{{{||||||||{{{{{{{{zzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvtuuutrponopprrstqqqqqqqqppppppppoooooooommmmmmmmlllllllljjjjjjjjTTTTTTTTVVVVVVVVXXXXXXXXZZZZZZZZ]]]]]]]]^^^^^^^^_a_abcloohbbccbceeeeeeeeffffffffhhhhhhhhiiiiiiiikkkkkkkkkkkkkkkknnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmmmmmmmmmlkmmmu|z{|~?????????????~~~~~~~~}}}}}}}}||||||||||||||||{{{{{{{{zzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvtuuutrponopprrstqqqqqqqqppppppppoooooooommmmmmmmlllllllljjjjjjjjTTTTTTTTVVVVVVVVXXXXXXXXZZZZZZZZ]]]]]]]]^^^^^^^^_a_abclophbbdccdeeeeeeeeffffffffhhhhhhhhiiiiiiiikkkkkkkkkkkkkkkknnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmmmmmmmmmmllllu|{{|~?????????????~~~~~~~~}}}}}}}}||||||||||||||||{{{{{{{{zzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvtuuutrponopprrstqqqqqqqqppppppppoooooooommmmmmmmlllllllljjjjjjjjTTTTTTTTVVVVVVVVXXXXXXXXZZZZZZZZ]]]]]]]]^^^^^^^^_a_abclopiccdddeeeeeeeeegggggggghhhhhhhhjjjjjjjjllllllllllllllllnnnnnnnnnnnnnnnnmmmmmmmmnnnnnnnnnnnnnnnnnllklt|{{|~?????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{zzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvtuuutrponopprrstqqqqqqqqppppppppoooooooommmmmmmmlllllllljjjjjjjjTTTTTTTTVVVVVVVVXXXXXXXXZZZZZZZZ]]]]]]]]^^^^^^^^_a_abcloqicceddeeeeeeeeegggggggghhhhhhhhjjjjjjjjllllllllllllllllnnnnnnnnnnnnnnnnmmmmmmmmnnnnnnnnnnnnnnnnnlljkt||{|~?????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{zzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvtuuutrponopprrstqqqqqqqqppppppppoooooooommmmmmmmlllllllljjjjjjjjTTTTTTTTVVVVVVVVXXXXXXXXZZZZZZZZ]]]]]]]]^^^^^^^^_a_abcloqicceedeeeeeeeeehhhhhhhhhhhhhhhhkkkkkkkkmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnmmmmmmmmoooooooooooooooonlljkt}|{|~?????????????????????~~~~~~~~||||||||{{{{{{{{zzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvtuuutrponopprrstqqqqqqqqppppppppoooooooommmmmmmmlllllllljjjjjjjjUUUUUUUUXXXXXXXXZZZZZZZZ]]]]]]]]\\]]^^____``aabbcdddcejmsmc^cfdeffffffffffgghhiijjjjjjjjkkkkkkkknnnnnnnnooooooooppppppppnnnnnnnnppppppppppppppppooooooooppnmmk|{???????????????????????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{zzzzzzzzyyyyyyyywwwwwwwwvwwwvtrqopqqsstussssssssqqqqqqqqppppppppqppoonnmmmmmmmmmkkkkkkkkUUUUUUUUXXXXXXXXZZZZZZZZ]]]]]]]]\\]]^_____``abbbcdddcejmsnd_dfdeggggggggffgghiiikkkkkkkkllllllllooooooooppppppppqqqqqqqqppppppppqqqqqqqqqqqqqqqqpppppppppqonml||???????????????????????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{zzzzzzzzyyyyyyyywwwwwwwwvwwwvtrqopqqsstussssssssqqqqqqqqppppppppqppoonnmmmmmmmmmkkkkkkkkUUUUUUUUXXXXXXXXZZZZZZZZ]]]]]]]]]]]^^__````aabbccdddcejmrneaefdfhhhhhhhhgghhiijjllllllllmmmmmmmmppppppppqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqqqqqqqqqonnl}}???????????????????????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{zzzzzzzzyyyyyyyywwwwwwwwvwwwvtrqopqqsstussssssssqqqqqqqqppppppppqppoonnmmmmmmmmmkkkkkkkkUUUUUUUUXXXXXXXXZZZZZZZZ]]]]]]]]]]^^_`````aabccccdddcejmrogcfgeghhhhhhhhhhiijjkkllllllllmmmmmmmmppppppppqqqqqqqqrrrrrrrrssssssssrrrrrrrrrrrrrrrrqqqqqqqqrrpoom~~???????????????????????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{zzzzzzzzyyyyyyyywwwwwwwwvwwwvtrqopqqsstussssssssqqqqqqqqppppppppqppoonnmmmmmmmmmkkkkkkkkUUUUUUUUXXXXXXXXZZZZZZZZ]]]]]]]]^^^_``aaaaabccddcdddcejmqpiehgehjjjjjjjjiijjkkllnnnnnnnnoooooooorrrrrrrrssssssssttttttttssssssssttttttttttttttttssssssssssqppn???????????????????????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{zzzzzzzzyyyyyyyywwwwwwwwvwwwvtrqopqqsstussssssssqqqqqqqqppppppppqppoonnmmmmmmmmmkkkkkkkkUUUUUUUUXXXXXXXXZZZZZZZZ]]]]]]]]^__``aaaabbccdddcdddcejmqqlhihfijjjjjjjjjjkkllmmnnnnnnnnoooooooorrrrrrrrssssssssttttttttssssssssttttttttttttttttssssssssttrqqo?????????????????????????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{zzzzzzzzyyyyyyyywwwwwwwwvwwwvtrqopqqsstussssssssqqqqqqqqppppppppqppoonnmmmmmmmmmkkkkkkkkUUUUUUUUXXXXXXXXZZZZZZZZ]]]]]]]]___`aabbbbbcddeecdddcejmpqmijhfikkkkkkkkkkkllmnnooooooooppppppppssssssssttttttttuuuuuuuuvvvvvvvvuuuuuuuuuuuuuuuuttttttttuusrrp?????????????????????????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{zzzzzzzzyyyyyyyywwwwwwwwvwwwvtrqopqqsstussssssssqqqqqqqqppppppppqppoonnmmmmmmmmmkkkkkkkkUUUUUUUUXXXXXXXXZZZZZZZZ]]]]]]]]__``aabbbbccddeecdddcejmprnjjhgjllllllllkkllmmnnppppppppqqqqqqqqttttttttuuuuuuuuvvvvvvvvxxxxxxxxvvvvvvvvvvvvvvvvuuuuuuuuuussrp?????????????????????????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{zzzzzzzzyyyyyyyywwwwwwwwvwwwvtrqopqqsstussssssssqqqqqqqqppppppppqppoonnmmmmmmmmmkkkkkkkkUVVWWXXYXYYZZ[[\ZZ[[\\]]]]^^__````aabbccccddeeffggggggggsrurjhkjllmmnnoommnnooppooopqqrroppqqrrsuuuuuuuuvvvvvvvvxxxxxxxxxxxxxxxxwwwwwwwwxxxxxxxxyyxxwwvvvtsssu}??????????????????????????????????????????????????~~}}|||||||||||||||||zzzzzzzzyyyyyyyyxwwwxwsqpqrrttuvttttttttrrrrrrrrppppppppqqqqqqqqmmmmmmmmkkkkkkkkUVVWWXXYXYYZZ[[\ZZ[[\]]]]]^^_`````aabcccccddefffhhhhhhhhssuskikjllmmnooommnnopppoppqqrrrrrrsttuuvvvvvvvvwwwwwwwwyyyyyyyyyyyyyyyyxxxxxxxxyyyyyyyyyyyxwwvvvuttsu}??????????????????????????????????????????????????~~}}|||||||||||||||||zzzzzzzzyyyyyyyyxwwwxwsqpqrrttuvttttttttrrrrrrrrppppppppppppppppnnnnnnnnllllllllUVVWWXXYXYYZZ[[\[[[\\]]^^^^__``aaaabbccdddeeffgghhhhhhhhtsvslilkmmmnnoopnnooppqqpqqrrsssttuuvvwwwwwwwwwwxxxxxxxxzzzzzzzzzzzzzzzzyyyyyyyyzzzzzzzzzzyyxxwwwuuutu|??????????????????????????????????????????????????~~}}|||||||||||||||||zzzzzzzzyyyyyyyyxwwwxwsqpqrrttuvttttttttrrrrrrrrrrrrrrrrppppppppnnnnnnnnllllllllUVVWWXXYXYYZZ[[\[[\\]^^^^^__`aaaaabbcdddeeffgghhiiiiiiiiutwtmjmlmmnnopppooppqqrrrrrsttuuuuuvvwwxxxxxxxxxzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzyyxxwvvwuv|??????????????????????????????????????????????????~~}}|||||||||||||||||zzzzzzzzyyyyyyyyxwwwxwsqpqrrttuvttttttttrrrrrrrrrrrrrrrroooooooooooooooommmmmmmmUVVWWXXYXYYZZ[[\\\\]^^_____`aabbbbbcddeeffgghhiiiiiiiiiivuxunknmnnnoppqqppqqrrssssttuvvvtuuvvwwwzzzzzzzz||||||||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||{{zzyyxwxxwv|??????????????????????????????????????????????????~~}}|||||||||||||||||zzzzzzzzyyyyyyyyxwwwxwsqpqrrttuvttttttttrrrrrrrrrrrrrrrroooooooonnnnnnnnllllllllUVVWWXXYXYYZZ[[\\]]^^____``aabbbbccddeeegghhiijjjjjjjjjjwvyvolonnooppqqqqqrrsstttuuvvwwxuuvvwwxx{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}||{{zzyxyzxw{??????????????????????????????????????????????????~~}}|||||||||||||||||zzzzzzzzyyyyyyyyxwwwxwsqpqrrttuvttttttttrrrrrrrrrrrrrrrrnnnnnnnnmmmmmmmmkkkkkkkkUVVWWXXYXYYZZ[[\]]]^__`````abbcccccdeeffhhhiijkkjjjjjjjjxwywomooooopqqrrrrrsstuuvvvwwxxywwxxyzzz||||||||????????~~}||{{{yyz{yw{??????????????????????????????????????????????????~~}}|||||||||||||||||zzzzzzzzyyyyyyyyxwwwxwsqpqrrttuvttttttttrrrrrrrrppppppppnnnnnnnnkkkkkkkkiiiiiiiiUVVWWXXYXYYZZ[[\]]^^__````aabbccccddeeffhhiijjkkkkkkkkkkxwzxpmpoooppqqrrrrssttuuvvwwxyyyyzz{{||}}}}}}}}}????????????????????????????????????????~~}}||{{yy{{yw{??????????????????????????????????????????????????~~}}|||||||||||||||||zzzzzzzzyyyyyyyyxwwwxwsqpqrrttuvttttttttrrrrrrrrppppppppmmmmmmmmjjjjjjjjhhhhhhhhUUVVWWXXZ[[\\]]^^^^^^^^^``aabbccccddeeffhhiijjkkkkkkkkkkx{{wqmorqqqrssttpqqrrsstxxyyz{{{zzz{||}}~~~???????????????????????????????????????~~}????~}}{}zyyu{????????????????????????????????????????????????????????||||||||{{{{{{{{}}||{{zzyyyyyyyywwvvuuttuuuuuuuurrrrrrrrppppppppmmmmmmmmkkkkkkkkjjjjjjjjhhhhhhhhUUVVWXXXZ[[\\]]^________``aabcccccddefffhhiijkkklllllllluy|ztonpqrrsstttssstuuvvxxyyz{{{z{{||}}~~?????????????????????????????????????????????????~~}|}zzyu{????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}}}}}}}}}zzzyxxwwyyyyyyyyvvuuttssqqqqqqqqoooooooooooooooonnnnnnnnllllllllkkkkkkkkiiiiiiiiVVVWWXXYZ[[\\]]^________aaabbccddddeeffgiiijjkklmmmmmmmmrx}|vqoorssttuuuuvvwwxxxxxyyz{{{|||}~~????????????????????????????????????????????????????~}~{{{v{????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}}}}}}}}}{{{zyyxxyyyyyyyyuuttsrrrppppppppnnnnnnnnoooooooonnnnnnnnmmmmmmmmlllllllljjjjjjjjVVWWXYYYZ[[\\]]^````````aabbcdddddeefgggiijjklllmmmmmmmmrw}}wrpqtttuvvwwvwwxxyyyyyzz{{||}~~???????????????????????????????????????????????????????????~?{||w|????????????????????????????????????????????????????????~~~~~~~~{{{{{{{{{{{zzyyxwwwwwwwwttssrrqqrrrrrrrrppppppppnnnnnnnnoooooooommmmmmmmlllllllljjjjjjjjWWWXYYZZZ[[\\]]^````````bbbcddeeeeefgghhjjjkllmmoooooooorx|{wssuuuvvwxxxvwwxxyyz{{||}}~~??????????????????????????????????????????????????????????????????|~~x|????????????????????????????????????????????????????????????????}}}}}}}}yyyyyyyyxwwvvuuuttttttttttssrrqqrrrrrrrrqqqqqqqqoooooooooooooooooooooooonnnnnnnnllllllllWXXYYZZZZ[[\\]]^aaaaaaaabccddeeeeffgghhhjkkllmmmoooooooorw||wtuwvwwxxyyzxxxyyzz{}~~??????????????????????????????????????????????????????????????????????|?y|????????????????????????????????????????????????????????||||||||wwwwwwwwxxwwvuuuttttttttuuttsrrrppppppppppppppppppppppppppppppppoooooooonnnnnnnnllllllllXXXYZZ[[Z[[\\]]^aaaaaaaacccdeefffffghhiikkklmmnnppppppppov}~zvuvxxxyyzz{zz{{|}}}???????????????????????????????????????????????????????????????????????????}??z}????????????????????????????????????????????????????????||||||||zzzzzzzzwwwwwwwwyyxxwvvvvvvvvvvvvvuuttssqqqqqqqqrrrrrrrrrrrrrrrrppppppppppppppppoooooooommmmmmmmXXYYZZ[[Z[[\\]]^bbbbbbbbccddeeffffgghhiikkllmmnnqqqqqqqqlt~?}wutxxyyz{{{|}}~~????????????????????????????????????????????????????????????????????????????}??{}????????????????????????????????????????????????????????zzzzzzzzyyyyyyyyyyyyyyyyvvuuttssxxxxxxxxwwvvuuttuuuuuuuuuuuuuuuussssssssqqqqqqqqqqqqqqqqppppppppnnnnnnnnXYYZZ[[\[\\]]^^_^_``bbcddeeffgghhhiijjkkkklmnoppppqqrrssqr|}~~ttxxxyzz{{}}~??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}zzzzzzzzxxxxxxxxxxxxxxxxwwwwwwwwxxxxxxxxxxxxxxxxrssttuuvuuuuuuuuttttttttrrrrrrrrqqqqqqqqoooooooommmmmmmmXYYZZ[[\[\\]]^^_^_``bbcddeeffgghhhiijkkkkklmnoppppqqrsssst~??vvxyyzz{{{}~~??????????????????????????????????????????????????????????????????????????????????}z????????????????????????????????????????||||||||{{{{{{{{yyyyyyyyyyyyyyyyxxxxxxxxyyyyyyyyxxxxxxxxrssttuuvuuuuuuuuttttttttrrrrrrrrqqqqqqqqoooooooommmmmmmmXYYZZ[[\[\\]]^^_^_``bbcddeeffgghiiijjkklllmnoppqqqrrssttuv????xxyzz{{|||~?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~{{{{{{{{||||||||||||||||{{{{{{{{zzzzzzzzyyyyyyyyxxxxxxxxrssttuuvuuuuuuuuttttttttrrrrrrrrqqqqqqqqoooooooommmmmmmmXYYZZ[[\[\\]]^^_^_``bbcddeeffgghiijjklllllmnopqqrrssttuuuv????yy{{{|}}~~?????????????????????????????????????????????????????????????????????????????????????~yw????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}||||||||zzzzzzzzxxxxxxxxrssttuuvuuuuuuuuttttttttrrrrrrrrqqqqqqqqoooooooommmmmmmmXYYZZ[[\[\\]]^^_^_``bbcddeeffgghjjjkllmmmmnopqrrssttuuvvuu????xx||}}~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}zzzzzzzzxxxxxxxxrssttuuvuuuuuuuuttttttttrrrrrrrrqqqqqqqqoooooooommmmmmmmXYYZZ[[\[\\]]^^_^_``bbcddeeffgghjkkllmmmmnnopqrrttuuvvwwuu????xx}~~???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{{{{{{{{xxxxxxxxrssttuuvuuuuuuuuttttttttrrrrrrrrqqqqqqqqoooooooommmmmmmmXYYZZ[[\[\\]]^^_^_``bbcddeeffgghkkklmmnnnnopqrssuuuvvwxxww????zz?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{{{{{{{{xxxxxxxxrssttuuvuuuuuuuuttttttttrrrrrrrrqqqqqqqqoooooooommmmmmmmXYYZZ[[\[\\]]^^_^_``bbcddeeffgghkkllmmnnnnopqrssuuvvwwxxyy????||??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}||||||||||||||||xxxxxxxxrssttuuvuuuuuuuuttttttttrrrrrrrrqqqqqqqqoooooooommmmmmmmZ[[\\]]^^__``aabbccddeeffgghhiijjjklmnoooooppqqrwwwwxz{|y}??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}|||||||||{{zzyyxtuuvvwwxwwwwwwwwuuuuuuuussssssssqqqqqqqqoooooooonnnnnnnnZ[[\\]]^^__``aabbccddeeffgghhiijjjklmnooppqqrsssuwy{||{z}????~z????????????????????????????????????????????????????????????????????????????????????????wupoogbg????????????????????????????????????????????????????????????????????????}}}}}}}}|||||||||{{zzyyxtuuvvwwxwwwwwwwwuuuuuuuussssssssqqqqqqqqoooooooonnnnnnnnZ[[\\]]^^__``aabbccddeeffgghhiijkklmnooprsstuvwwzyxxy{~y{??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}|||||||||{{zzyyxtuuvvwwxwwwwwwwwuuuuuuuussssssssqqqqqqqqoooooooonnnnnnnnZ[[\\]]^^__``aabbccddeeffgghhiijkklmnopprrstuwxxwxz{||}|?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}|||||||||{{zzyyxtuuvvwwxwwwwwwwwuuuuuuuussssssssqqqqqqqqoooooooonnnnnnnnZ[[\\]]^^__``aabbccddeeffgghhiijllmnopqqttuwyz{|yy{|}~~~}}????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}|||||||||{{zzyyxtuuvvwwxwwwwwwwwuuuuuuuussssssssqqqqqqqqoooooooonnnnnnnnZ[[\\]]^^__``aabbccddeeffgghhiijlmmnopqqpprtvwyywvuuvxz|????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}|||||||||{{zzyyxtuuvvwwxwwwwwwwwuuuuuuuussssssssqqqqqqqqoooooooonnnnnnnnZ[[\\]]^^__``aabbccddeeffgghhiijmmnopqrrlmoqsuvw?????????????????????????????????????????????????????????????????????z??????????????????????????????????????????????????????????????????????}}}}}}}}|||||||||{{zzyyxtuuvvwwxwwwwwwwwuuuuuuuussssssssqqqqqqqqoooooooonnnnnnnnZ[[\\]]^^__``aabbccddeeffgghhiijmmnopqrryz{~???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}|||||||||{{zzyyxtuuvvwwxwwwwwwwwuuuuuuuussssssssqqqqqqqqoooooooonnnnnnnn[\]][Z[]]^`aba_^eeeddddcijkmoprrvvxy{}~????????????????????????????????????~|ury????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{{{{{{{{wwwwwwwwxxxxxxxxvvvvvvvvvuuttssrsssssssssrrqqppoqppoonnmY[]]\\^`Z\^aceffijklmooprstuwxyyyyyz{|}}?????????????????????????}rRGY`o|??????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{{{{{{{{wwwwwwwwxxxxxxxxvvvvvvvvvuuttssrsssssssssrrqqppoqppoonnmZ\^___bdiijkmoqrrrrrqqqqvvwxxyyzzz{{{{{{||}}~????????????????v}????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{{{{{{{{wwwwwwwwxxxxxxxxvvvvvvvvvuuttssrsssssssssrrqqppoqppoonnmgillklnponmlmnprrrrrrrrrwwxxxxxxzz{{||}}yyzz{{||?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{{{{{{{{wwwwwwwwxxxxxxxxvvvvvvvvvuuttssrsssssssssrrqqppoqppoonnmghjihghjnnmlmnqrssrqpoonpppppqqqmmnpqsttwwxxyyzz~?????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{{{{{{{{wwwwwwwwxxxxxxxxvvvvvvvvvuuttssrsssssssssrrqqppoqppoonnmijlkihijonmlllllonmkigfefgghhijjlmnprtuvwwwxyyzz~??????????????n?????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{{{{{{{{wwwwwwwwxxxxxxxxvvvvvvvvvuuttssrsssssssssrrqqppoqppoonnmefhhffhjcccba`^]bbcdeefggghjklmnnopqrsttwxxyyzz{???????????????w??????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{{{{{{{{wwwwwwwwxxxxxxxxvvvvvvvvvuuttssrsssssssssrrqqppoqppoonnmXZ\\\]_a[]_abba`bccefghhffhikmnoqqqrrrssxxyyz{{{????????????????q??????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{{{{{{{{wwwwwwwwxxxxxxxxvvvvvvvvvuuttssrsssssssssrrqqppoqppoonnm\]]^^__`abbccddeeffgghhijkkllmmnopqqsstuxyz{}~?????????????????v??????????????????????????????????????????????????????????????????????????????????????????????????~~}}|||||||||uuvvwwxxyyyyyyyyyxxwwvvuuuuuuuuussssssssrrrrrrrrrqqppoon\]]^^__`abbccddeeffgghhijkkllmmnopqqsstuxyz{}~?????????????????{?????????????????????????????????????????????????????????????????????????????????????????????????~~}}|||||||||uuvvwxxxyyyyyyyyyxxwwvvuuuuuuuuussssssssrrrrrrrrrqqppoon\]]^^__`abbccddeeffgghhijkkllmmnopqqsstuxyz{}~?????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}|||||||||vvvwwxxyyyyyyyyyyxxwwvvuuuuuuuuussssssssrrrrrrrrrqqppoon\]]^^__`abbccddeeffgghhijkkllmmnopqqsstuxyz{}~??????????????????y??????????????????????????????????????????????????????????????????????????????????????????????~~}}|||||||||vvwwxyyyyyyyyyyyyxxwwvvuuuuuuuuussssssssrrrrrrrrrqqppoon\]]^^__`abbccddeeffgghhijkkllmmnopqqsstuxyz{}~??????????????????y????????????????????????????????????????????????????????????????????????????????????????????????~~}}|||||||||wwwxyyzzyyyyyyyyyxxwwvvuuuuuuuuussssssssrrrrrrrrrqqppoon\]]^^__`abbccddeeffgghhijkkllmmnopqqsstuxyz{}~???????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}|||||||||wxxyyzzzyyyyyyyyyxxwwvvuuuuuuuuussssssssrrrrrrrrrqqppoon\]]^^__`abbccddeeffgghhijkkllmmnopqqsstuxyz{}~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}|||||||||xxxyzz{{yyyyyyyyyxxwwvvuuuuuuuuussssssssrrrrrrrrrqqppoon\]]^^__`abbccddeeffgghhijkkllmmnopqqsstuxyz{}~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}|||||||||xxyyzz{{yyyyyyyyyxxwwvvuuuuuuuuussssssssrrrrrrrrrqqppoon\\]]^^__abbccddedeffhhijjkllnnoppqrrttuvwxyz|}~??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}}}}}}}}xxxxxxxxzzzzzzzzxxxxxxxxvvvvvvvvtttttttttssrrqqppppppppp\\]]^___abbccddedeffhhijjkllnnoppqrrttuvwxyz|}~??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}}}}}}}}xxxxxxxxzzzzzzzzxxxxxxxxvvvvvvvvtttttttttssrrqqppppppppp]]]^^__`abbccddedeffhhijjkllnnoppqrrttuvwxyz|}~?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}}}}}}}}xxxxxxxxzzzzzzzzxxxxxxxxvvvvvvvvtttttttttssrrqqppppppppp]]^^_```abbccddedeffhhijjkllnnoppqrrttuvwxyz|}~?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}}}}}}}}xxxxxxxxzzzzzzzzxxxxxxxxvvvvvvvvtttttttttssrrqqppppppppp^^^_``aaabbccddedeffhhijjkllnnoppqrrttuvwxyz|}~?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}}}}}}}}xxxxxxxxzzzzzzzzxxxxxxxxvvvvvvvvtttttttttssrrqqppppppppp^__``aaaabbccddedeffhhijjkllnnoppqrrttuvwxyz|}~??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}}}}}}}}xxxxxxxxzzzzzzzzxxxxxxxxvvvvvvvvtttttttttssrrqqppppppppp___`aabbabbccddedeffhhijjkllnnoppqrrttuvwxyz|}~???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}}}}}}}}xxxxxxxxzzzzzzzzxxxxxxxxvvvvvvvvtttttttttssrrqqppppppppp__``aabbabbccddedeffhhijjkllnnoppqrrttuvwxyz|}~???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}}}}}}}}xxxxxxxxzzzzzzzzxxxxxxxxvvvvvvvvtttttttttssrrqqppppppppp]^^__``aabbccddeeffgghhijkkllmmnopqqsstuxxy{|~?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}zzxxxxzz{{{{{{{{yyyyyyyyvvvvvvvvttttttttsssssssspppppppp]^^__``aabbccddeeffgghhijkkllmmnopqqsstuxxy{|}~???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}zzxxxxzz{{{{{{{{yyyyyyyyvvvvvvvvttttttttsssssssspppppppp]^^__``aabbccddeeffgghhijkkllmmnopqqsstuwxyz|}~???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}zzxxxxzz{{{{{{{{yyyyyyyyvvvvvvvvttttttttsssssssspppppppp]^^__``aabbccddeeffgghhijkkllmmnopqqsstuwwxz{|}~??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}zzxxxxzz{{{{{{{{yyyyyyyyvvvvvvvvttttttttsssssssspppppppp]^^__``aabbccddeeffgghhijkkllmmnopqqsstuvwxyz|}}?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}zzxxxxzz{{{{{{{{yyyyyyyyvvvvvvvvttttttttsssssssspppppppp]^^__``aabbccddeeffgghhijkkllmmnopqqsstuuvwxz{|}~???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}zzxxxxzz{{{{{{{{yyyyyyyyvvvvvvvvttttttttsssssssspppppppp]^^__``aabbccddeeffgghhijkkllmmnopqqsstuuvwxy{||~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}zzxxxxzz{{{{{{{{yyyyyyyyvvvvvvvvttttttttsssssssspppppppp]^^__``aabbccddeeffgghhijkkllmmnopqqsstuuuvxyz||~~???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}zzxxxxzz{{{{{{{{yyyyyyyyvvvvvvvvttttttttsssssssspppppppp\]]^^__``aabbccddeeffgghhiijjkklnooppqqrvvwxyz{{}}?????????????????s????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~zzxxxxzz{{{{{{{{{zzyyxxwwwwwwwwwuuuuuuuussssssssqqqqqqqq\]]^^__``aabbccddeeffgghhiijjkklnooppqqrvvwxyz{{}}~????????????????n???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~zzxxxxzz{{{{{{{{{zzyyxxwwwwwwwwwuuuuuuuussssssssqqqqqqqq\]]^^__``aabbccddeeffgghhiijjkklnooppqqruvvwxyzz||}????????????????n~?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~zzxxxxzz{{{{{{{{{zzyyxxwwwwwwwwwuuuuuuuussssssssqqqqqqqq\]]^^__``aabbccddeeffgghhiijjkklnooppqqruuvwxyzz{{|~???????????????ni?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~zzxxxxzz{{{{{{{{{zzyyxxwwwwwwwwwuuuuuuuussssssssqqqqqqqq\]]^^__``aabbccddeeffgghhiijjkklnooppqqrttuvwxyyzz{}~???????????????}f??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~zzxxxxzz{{{{{{{{{zzyyxxwwwwwwwwwuuuuuuuussssssssqqqqqqqq\]]^^__``aabbccddeeffgghhiijjkklnooppqqrstuvwxxyyyz|}???????????????j????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~zzxxxxzz{{{{{{{{{zzyyxxwwwwwwwwwuuuuuuuussssssssqqqqqqqq\]]^^__``aabbccddeeffgghhiijjkklnooppqqrsstuvwxxxyz{}~????????????t????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~zzxxxxzz{{{{{{{{{zzyyxxwwwwwwwwwuuuuuuuussssssssqqqqqqqq\]]^^__``aabbccddeeffgghhiijjkklnooppqqrsstuvwxxxxy{|}~???????????y??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~zzxxxxzz{{{{{{{{{zzyyxxwwwwwwwwwuuuuuuuussssssssqqqqqqqqVWZ]^_``]_befedbihfdba``ghhiijjkoooooooosttsqqtvyyzz{{||~~??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}|}{ywvwyz{{{{{{{{{zzyyxxwyxxwwvvuuuuuuuuussssssssqqqqqqqqYZ[]^___dc`_`cgi`beec^WSTVZ_ekoqnnnoopppmnopsuvwxxyyzz{{~~~????~???????~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}|}{ywvwyz{{{{{{{{{zzyyxxwyxxwwvvuuuuuuuuussssssssqqqqqqqq\\\\]^__cbaaabbcYYYXVRNL at BFLRW[^efhkmpqronopruwxwwwxyyzz}~~??????????z?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}|}{ywvwyz{{{{{{{{{zzyyxxwyxxwwvvuuuuuuuuussssssssqqqqqqqq\\\\\^_`]^``_[WUPNJGFFGHBCDEGIJJYZ^bfknpstssrsuwvvwwxxyy}}}~??????????{????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}|}{ywvwyz{{{{{{{{{zzyyxxwyxxwwvvuuuuuuuuussssssssqqqqqqqqZZ[[\]^^[ZWTQNLKCCCCDDDDFFFFFFFFPRTX\_bdllnquwusvvwwxxyy||}}~??????w????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}|}{ywvwyz{{{{{{{{{zzyyxxwyxxwwvvuuuuuuuuussssssssqqqqqqqqXY[\\[ZXSQMIEDCC>?@BCDEEDCCCCCCCMNOQSUVW]\`juzxtwwwxyyzz|||}}~~?????y???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~}}|}{ywvwyz{{{{{{{{{zzyyxxwyxxwwvvuuuuuuuuussssssssqqqqqqqqY[\][WSOFFECB@>=>=<<=@CDDDDDCCCCKLMNPQSSWWZajt{~xxyyzz{{{{||}~~~??????m??????????{n^f|???????????????????????????u?????????????????????????????????????????????????????????????????????????????????????????????~~}}|}{ywvwyz{{{{{{{{{zzyyxxwyxxwwvvuuuuuuuuussssssssqqqqqqqqZ\^^[TMI?????>>=;:989;=?@@ABCDEEGHJMQSVW[]^\^i|?yyzz{{||{{||}}~~?????[???mgZ\dlp?{??????????????????????????????h?????????????????????????????????????????????????????????????????????????????????????????????~~}}|}{ywvwyz{{{{{{{{{zzyyxxwyxxwwvvuuuuuuuuussssssssqqqqqqqqYYYVQH@;<<;::9886789;<=>==>?@ABBHIJKLNOOWTXX_bpz??yyuz~}?x|??|??}????ae????????????????????????????????u{??????????????????????????????????????????????????????????????????????????????????????????~}{yxxxy{{{{{{{{{zzyyxxwzyyxxwwvvvvvvvvvttttttttqqqqqqqq\XQIB=:9::99877656789;<<==>?@ABBGHIJLMNOQORRY\is?????|}}ywz~??}??????[h???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~}{yxxxy{{{{{{{{{zzyyxxwzyyxxwwvvvvvvvvvttttttttqqqqqqqqUND:4357777665554567899:<==>?@AAFGHIJLMMLJNNTVcl????????ty{|}|{}y|????w?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~}{yxxxy{{{{{{{{{zzyyxxwzyyxxwwvvvvvvvvvttttttttqqqqqqqqA>9522454444443345567788<<=>?@AADEFGIJKLLJNNRS_g???~|????~zz}zy?}?????????????????}}}?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~}{yxxxy{{{{{{{{{zzyyxxwzyyxxwwvvvvvvvvvttttttttqqqqqqqq444444443333334466677788;;<=>?@@BCDEGHIJKIMMQP[c???~fjz???zw??}}??????yi???QYRVROSW`l?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~}{yxxxy{{{{{{{{{zzyyxxwzyyxxwwvvvvvvvvvttttttttqqqqqqqq333333333334455599999999;;<=>??@AABDEFGHHFJIMKU\sy??jehs???????||~????i?XQpf???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~}{yxxxy{{{{{{{{{zzyyxxwzyyxxwwvvvvvvvvvttttttttqqqqqqqq5421112344556778<<;;;;;;::;<=>???@ABDEFGFDHGJHPWqx??{pfj???????~??????~???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~}{yxxxy{{{{{{{{{zzyyxxwzyyxxwwvvvvvvvvvttttttttqqqqqqqq3221123355667899>>====<<::;<=>????@BCDEFFEIHJHPVfoyw??ut~?????~|{~y??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~}{yxxxy{{{{{{{{{zzyyxxwzyyxxwwvvvvvvvvvttttttttqqqqqqqq-/1223575678:<=>HGECA>=<@??>=<;;>??@@AABEEDEFHKL\`lv???|??????zz~}???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}|zxwwwx{{{{{{{{yyyyyyyywwwwwwwwuuuuuuuussssssssrrrrrrrr.034458:89;=?ACDJIHFDA@?AA@?>=<;>??@@AABEEDEFHKLX[en}???}?????x{?{~??????M????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}|zxwwwx{{{{{{{{yyyyyyyywwwwwwwwuuuuuuuussssssssrrrrrrrr02578:=@>?ACFHJKMLKIGEDCCCB@?>=<>??@@AABEEDEFHKLST\cs|????}???}~?????^??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}|zxwwwx{{{{{{{{yyyyyyyywwwwwwwwuuuuuuuussssssssrrrrrrrr36:<=?CEEEGHJLMNNMLKJHHGFEDCA?>>>??@@AABEEDEFHKLPPW\js???ry???s???????X?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}|zxwwwx{{{{{{{{yyyyyyyywwwwwwwwuuuuuuuussssssssrrrrrrrr8;?ABDHKKKKLLLLLNMMLKKJJIHGECA@?>??@@AABEEDEFHKLOOUXbhrv??qn????????????`?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}|zxwwwx{{{{{{{{yyyyyyyywwwwwwwwuuuuuuuussssssssrrrrrrrr>ADFGILNOOONMMLLNNNNNNMMLKJGECA@>??@@AABEEDEFHKLNOTU[]egz?smw??????????Ri?????????????????????????????????????????????????????????????????????????????????????????????????????????????????}|zxwwwx{{{{{{{{yyyyyyyywwwwwwwwuuuuuuuussssssssrrrrrrrrDFIJJKNPQQPPPOOOQQQQQRRRNMLIGDBA>??@@AABEEDEFHKLLMRQVV]`\h??}|??????????j]????????????????????????????????????????????????????????????????????????????????????????????????????????????}|zxwwwx{{{{{{{{yyyyyyyywwwwwwwwuuuuuuuussssssssrrrrrrrrGIKLLMOQQQQRRRSSSSTTTUUUPOMJGECB>??@@AABEEDEFHKLJKPNRRZ^]_py??~?????????jR???????????????????????????????????????????????????????????????????????????????????????????????????????????}|zxwwwx{{{{{{{{yyyyyyyywwwwwwwwuuuuuuuussssssssrrrrrrrrLMNOQRTTQQQQQQQQTTTTTTTTSQNKIIIJEEDDCCBBEFGHJKLMNOQSUWYZd^bj???}????????|X???????????????????????????????????????????????????????????????????????????????????????????????????????????~{yxwxxzzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvttttttttrrrrrrrrNNOPQRSSRRRRRRRRTTTTTTTTTROLJIIIEEEDCCBBEFGHJKLMNOQSUWYZ_[dfy???????????}]?????????????????????????????????????????????????????????????????????????????????????????????????????????~{yxwxxzzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvttttttttrrrrrrrrQQQQRRRRRRRRRRRRUUUUUUUUUSPMKIHHFFEEDDCCEFGHJKLMNOQSUWYZ\Zdcjr???????????a???????????????????????????????????????????????????????????????????????????????????????????????????????????~{yxwxxzzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvttttttttrrrrrrrrSSSRQQPPRRRRRRRRTTTTTTTTUTROLIHGGGFFEEDDEFGHJKLMNOQSUWYZ]\cbgm~??????????b???????????????????????????????????????????????????????????????????????????????????????????????????????????~{yxwxxzzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvttttttttrrrrrrrrTSSRQPOOQQQQQQQQSSSSSSSSTSRPMKIHHHGGFFEEEFGHJKLMNOQSUWYZ\^``hkqu?????????o???????????????????????????????????????????????????????????????????????????????????????????????????????????~{yxwxxzzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvttttttttrrrrrrrrRQQPOONNOOOOOOOOQQQQQQQQRRRQOMKIIIHHGGFFEFGHJKLMNOQSUWYZY^^_ehkr?????????o???????????????????????????????????????????????????????????????????????????????????????????????????????????~{yxwxxzzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvttttttttrrrrrrrrOOONNMMMMMMMMMMMNNNNNNNNPPQQQOMLJJIIHGGGEFGHJKLMNOQSUWYZX\^`aejp????????t?????????????????????????????????????????????????????????????????????????????????????????????????????????~{yxwxxzzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvttttttttrrrrrrrrMMMMMMMMLLLLLLLLMMMMMMMMNOQRQPNMJJIIHHGGEFGHJKLMNOQSUWYZ[[_c_dijuy??????w??????????????????????????????????????????????????????????????????????????????????????????????????????????~{yxwxxzzzzzzzzyyyyyyyyxxxxxxxxvvvvvvvvttttttttrrrrrrrrKKKKKKKKJJJJJJJJKLLMNOPQPOONMLLKJJJJJJJJJJJJJJJJOPQSUWXYYZ]`dgjkt|}????????????????????????????????????????????????????????????????????????????????????????????????????????????????~}{yxxxyzzzzzzzzyyyyyyyyxxxxxxxxxwwvvuuttttttttttssrrqqpJJJJJJJJIIIIIIIIIJJKLMNNPPOONMMMKKKKKKKKKKKKKKKKOPQSUWXYY[]`dgikmu??????????????????????????????????????????????????????????????????????????????????????????????????????????????????~}{yxxxyzzzzzzzzyyyyyyyyxxxxxxxxxwwvvuuttttttttttssrrqqpIIIIIIIIHHHHHHHHGHHIJKLMQQPPOOONLLLLLLLLKKKKKKKKOPQSUWXYZ[]`dgijlrz~??????????????????????????????????????????????????????????????????????????????????????????????????????????????~}{yxxxyzzzzzzzzyyyyyyyyxxxxxxxxxwwvvuuttttttttttssrrqqpHHHHHHHHHHHHHHHHGGHIJKLLQQQQPPPPLLLLLLLLLLLLLLLLOPQSUWXY[\^acfhiorqs?????????????????????????????????????????????????????????????????????????????????????????????????????????????????~}{yxxxyzzzzzzzzyyyyyyyyxxxxxxxxxwwvvuuttttttttttssrrqqpFFFFFFFFFFFFFFFFHHIJKLMMPPPPQQQQNNNNNNNNLLLLLLLLOPQSUWXY\]^acfghppmq???????????????????????????????????????????????????????????????????????????????????????????????????????????????~}{yxxxyzzzzzzzzyyyyyyyyxxxxxxxxxwwvvuuttttttttttssrrqqpEEEEEEEEFFFFFFFFGHIJKLLMNOOOPPQQNNNNNNNNMMMMMMMMOPQSUWXY\]_aceghpmos??????y?????????????????????????????????????????????????????????????????????????????????????????????????????????~}{yxxxyzzzzzzzzyyyyyyyyxxxxxxxxxwwvvuuttttttttttssrrqqpDDDDDDDDEEEEEEEEEFGHIJJKMMMNOOPPOOOOOOOOMMMMMMMMOPQSUWXY]^_acefglkps?????????????????????????????????????????????????????????????????????????????????????????????????????????????~}{yxxxyzzzzzzzzyyyyyyyyxxxxxxxxxwwvvuuttttttttttssrrqqpCCCCCCCCDDDDDDDDCDEFGHHIKLLMNOOPPPPPPPPPNNNNNNNNOPQSUWXY]^_acefgekoq???????????????????????????????????????????????????????????????????????????????????????????????????????????????~}{yxxxyzzzzzzzzyyyyyyyyxxxxxxxxxwwvvuuttttttttttssrrqqp????????CCCCCCCCCDDEEFFGGHIIKKLMQQPPPPOOOOOOOOOORRSSTTUU[\]_`bddifks??????~??????????????????????????????????????????????????????????????????????????????????????????????????????~~}|||||{yxvuuzzzzzzzzzzyyxxwwyyyyyyyyttttttttnnnnnnnnmmmmmmmm@@@@@@@@CCCCCCCCCDDEEFFGGHIIKKLMPPPPPPPPPPPPPPPPRRSSTUUU[[]^`bcdhgms?????????????????????????????????????????????????????????????????????????????????????????????????????????????~}}}~}|{zyxwyyyyyyyyyxxwwvvuuuuuuuuuqqqqqqqqoooooooonnnnnnnnAAAAAAAACCCCCCCCCDDEEFFGGHIIKKLMPPPPPPPPQQQQQQQQSSTTUUVVZ[\^`bcddfmqyy?????{????????????????????????????????????????????????????????????????????????????????????????????????????~~}??~~}}}||{yxxwwwwwwwwwwvvuuttsssssssssppppppppppppppppnnnnnnnnAAAAAAAACCCCCCCCCDDEEFFGGHIIKKLMOOOPPQQQRRRRRRRRTTUUVVWWZZ\]_abchjpv???????v????????????????????????????????????????????????????????????????????????????????????????????????~}}||~~}}||{{yyxxwvuuvvvvvvvvuuttssrrttttttttrrrrrrrrppppppppooooooooCCCCCCCCCCCCCCCCCDDEEFFGGHIIKKLMNNOPPQRRTTTTTTTTUUVVWWXXYZ[]_`bbhhnu??????i?????????????????????????????????????????????????????????????????????????????????????????????????~~}}|{{{{{zzyxxxxxwwvvvuuuuuuuuuuuttssrrttttttttssssssssrrrrrrrrooooooooCCCCCCCCCCCCCCCCCDDEEFFGGHIIKKLMMNNOQRRSUUUUUUUUVVWWXXYYXYZ\^`abccgo??????v????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~|||{{zzyyyxxwvvvyyxxxxxxuuuuuuuuwvvuuttsssssssssrrrrrrrrrrrrrrrrppppppppDDDDDDDDCCCCCCCCCDDEEFFGGHIIKKLMMMNOQRSSVVVVVVVVWWWXYYZZXYZ\^_aaeein???????{?????????????????????????????????????????????????????????????????????????????????~~~~~~~~{{{{{{{{{{{zzyyxyyxxwwvvxxxxxxxxvvvvvvvvyxxwwvvuuuuuuuuuttttttttssssssssppppppppEEEEEEEECCCCCCCCCDDEEFFGGHIIKKLMLMNOQRSTWWWWWWWWWWXXYYZZXXZ[]_`adfilz?????~?????????????????????????????????????????????????????????????????????????zzzzzzzz||||||||zzzzzzzz{{zzyxxxzzzyxxwwuuuuuvvvwwwwwwwwzzyyxxwwyyyyyyyywwwwwwwwttttttttqqqqqqqqDDCCCBBBEEEEEEEEABBCCDDEDEFFHHIJLNPPOOQSWWWWWWWWYYYYYYYY[[\]]^__``ikz?????????????????????????\??????????????????????????????????????????????~~~~~~~~}}}}}}}}zzzzzzzz{{{{{{{{||||||||{|}{wuvwwxxyyzz{yyyyyyyyyxxwwvvuwvvuuttsssssssssqqqqqqqqBBBBBAAADDDDDDDDABBCCDDEDEFFHHIJKMOPOOQSVVWWWWXXZZZZZZZZ[[\]]^__a`ghuz??????????????????????????t??????????????????????????????????????????????????????~~~~~~~~||||||||||||||||||||||||{|}{wuvwwxxyyzz{yyyyyyyyyxxwwvvuwvvuuttsssssssssqqqqqqqq???@@@@@CCCCCCCCABBCCDDEDEFFHHIJKMOOOOQSVVVWWXXX[[[[[[[[\\\]]^^^a`edos?????z??????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~{|}{wuvwwxxyyzz{yyyyyyyyyxxwwvvuwvvuuttsssssssssqqqqqqqq;<<=>>??CCCCCCCCABBCCDDEDEFFHHIJJLNONNPRUUVWWXYY[[[[[[[[]]]]]]]]a_dblp~?????h???????????????????rmaXXfi}y}u????????????????????????????????????????????????????????????????????????~~~~~~~~{|}{wuvwwxxyyzz{yyyyyyyyyxxwwvvuwvvuuttsssssssssqqqqqqqq789:;==>AAAAAAAAABBCCDDEDEFFHHIJJLNNMNPRTTUVXYZZ]]]]]]]]]]]]]]]]__eblp?????c??????????????????{rnqy{qz?????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~{|}{wuvwwxxyyzz{yyyyyyyyyxxwwvvuwvvuuttsssssssssqqqqqqqq44679;<=AAAAAAAAABBCCDDEDEFFHHIJIKMMMMOQSTUVXYZ[]]]]]]]]^^^]]\\\^_fdmp~?????gy???????????????{~~?zmdciz??????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~{|}{wuvwwxxyyzz{yyyyyyyyyxxwwvvuwvvuuttsssssssssqqqqqqqq113579;<@@@@@@@@ABBCCDDEDEFFHHIJIKMMLMOQSSTVXZ[[^^^^^^^^__^]]\[[^`hfmmz????ag???????????????{tjbbx|??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????||||||||{|}{wuvwwxxyyzz{yyyyyyyyyxxwwvvuwvvuuttsssssssssqqqqqqqq/02469:;????????ABBCCDDEDEFFHHIJIKMMLLNPRSTVXZ[\__________^]]\[[^`iflkvz????y_??????????ynmqqrstvvw????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~||||||||{|}{wuvwwxxyyzz{yyyyyyyyyxxwwvvuwvvuuttsssssssssqqqqqqqq/0123566;<<=>?@@DDDDCCCCDEEFFGGHJJKLMNOOSTUWXZ\\Z[\\^^_`^^]]\\[[aaeekmsu????p?????wydb`]YVSR`gpz????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{|}{wuvwxxzzzzxxyyyyyyyywwwwwwwwttttttttssssssssqqqqqqqq./013456:;;=>??@DDCCCCCCDEEFFGGHJJKLMNOOSSUVXZ[\Z[\\^^_`^^^]\\[[]^ddihll?????v??rmZK;749?E^duv|~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{|}{wuvwxxzzzzxxyyyyyyyywwwwwwwwttttttttssssssssqqqqqqqq-./0134499:;=>?@CCCCCCCCDEEFFGGHIJJKLMNNRSTVXZ[\Z[\\^^_`__^^]]\\[]bbgfln??????nc_ez?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{|}{wuvwxxzzzzxxyyyyyyyywwwwwwwwttttttttssssssssqqqqqqqq+,-.0123678:<=>?AABBCCCCDEEFFGGHIIJKLMNNRRTUWYZ[Z[\\^^_```__^^]]]^b`fitz????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{|}{wuvwxxzzzzxxyyyyyyyywwwwwwwwttttttttssssssssqqqqqqqq)*+,./014568:<>>@@AABCCDDEEFFGGHHHIJKLMMQRSUWXZZZ[\\^^_`aa``__^^^_cafjx????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{|}{wuvwxxzzzzxxyyyyyyyywwwwwwwwttttttttssssssssqqqqqqqq(()+,-./23579;=>>?@ABCCDDEEFFGGHHHIJKLLMPQRTVXYZZ[\\^^_`bbaa``__\^dbeht{??????????????????????????????????????????????????????????????????????????????????????????????????}?????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{|}{wuvwxxzzzzxxyyyyyyyywwwwwwwwttttttttssssssssqqqqqqqq&'()+,-.01368;<==>?@ACDDDEEFFGGHGGHIJKLLPQRTVWYYZ[\\^^_`ccbaa```Z]b`cft|??????????????????y|~????????????????????????????????????????????????????????????????????????????{?????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{|}{wuvwxxzzzzxxyyyyyyyywwwwwwwwttttttttssssssssqqqqqqqq&&')*+,-01258:<===>@ACDDDEEFFGGHGGHIJKLLPPRSUWXYZ[\\^^_`ccbbaa``Z\`\agy???????vt~}}?????????????????????????????????????????????????????????????????????????????????????y?????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}{|}{wuvwxxzzzzxxyyyyyyyywwwwwwwwttttttttssssssssqqqqqqqq.--,+**)./1368:;=>?ACDFFEEEFGGHHIJJKKLLMOPQRTUVWXYZ[]^_`bbccca`_YZ_^fjty???????z~~????????????????????????????????????????????????????????????????????????????????????{{y~????????????????????????????????????????????????????????????}}}}}}}}||||||||}|{zxwvuwxxyyzz{xxxxxxxxvvvvvvvvttttttttrrrrrrrrqqqqqqqq--,,+**)-.0368:;==?@BDEFCCDDEFFFIJJKKLLMOPQRTUVWXYZ[]^_`abccba_^ZZ^]ditz??~???x~~~?????????????????????????????????????????????????????????????????????????}}z~????????????????????????????????????????????????????????????}}}}}}}}||||||||}|{zxwvuwxxyyzz{xxxxxxxxvvvvvvvvttttttttrrrrrrrrqqqqqqqq,,++**))-.02579:<=>@ACDEBBCCDDEEIJJKKLLMOPQRTUVWXYZ[]^_`abbcba_^ZY\Zbgtz?}{??~w}}~~??????????????????????????????????????????????????????????????????????~~|~????????????????????????????????????????????????????????????}}}}}}}}||||||||}|{zxwvuwxxyyzz{xxxxxxxxvvvvvvvvttttttttrrrrrrrrqqqqqqqq****)))),-/14689;<=?@BCDCCCDDEEFIJJKKLLMOPQRTUVWXYZ[]^_``abba`^]ZXZX_esz~{z~??~w||}}~~???????????????????????????????????????????????????????????????????????????????}????????????????????????????????????????????????????????????}}}}}}}}||||||||}|{zxwvuwxxyyzz{xxxxxxxxvvvvvvvvttttttttrrrrrrrrqqqqqqqq(((())))+,.03578:;<>?ABCDEEFFGGGIJJKKLLMOPQRTUVWXYZ[]^_```aaa_^]XWYV^dry|zz~???y{{||}}~~??????????????????????????????????????????????????????????????????????????}????????????????????????????????????????????????????????????}}}}}}}}||||||||}|{zxwvuwxxyyzz{xxxxxxxxvvvvvvvvttttttttrrrrrrrrqqqqqqqq&&''(())*+-/24679:;=>@ABEEFFGGHHIJJKKLLMOPQRTUVWXYZ[]^_`_`aa`_]\VUXV]cpvzxx~???zzz{{||}}~~~~~~~~??????????????????????????????????????????????????????????????????????????}????????????????????????????????????????????????????????????}}}}}}}}||||||||}|{zxwvuwxxyyzz{xxxxxxxxvvvvvvvvttttttttrrrrrrrrqqqqqqqq%%&&'(())*,.146789:<>?AADDDEFFGGIJJKKLLMOPQRTUVWXYZ[]^_`__```^]\SSWW^cntwuu{??xyyzz{|||}}}}}}}}??????????????????????????????????????????????????????????????????|????????????????????????????????????????????????????????????}}}}}}}}||||||||}|{zxwvuwxxyyzz{xxxxxxxxvvvvvvvvttttttttrrrrrrrrqqqqqqqq$%%&'(())*,.135688:;=?@ABBCCDEEEIJJKKLLMOPQRTUVWXYZ[]^_`__```^\[RRWW_cmrtrsy??}wyyzz{{||||||||||~~~~~~~~????????????????????????????????????????????~~}}}}}}}}?|~????????????????????????????????????????????????????????????}}}}}}}}||||||||}|{zxwvuwxxyyzz{xxxxxxxxvvvvvvvvttttttttrrrrrrrrqqqqqqqq"$%%%)%,+,-/..434:;:;=8=<=BEBDIJKMIKNQMNNPRQPOQTVVWYZ\]][\`a\ZWWONWS__mptvst~??wwxxyyzzy{wx{y?{~~~~~~~~}z{}?}????????????????????????????????~~~~~~~~~~~~~~~~?}????????????????????????????????????????????????????????????~~~~~~~~|||||||||||||||||{zywvutvwwxxyyzxxxxxxxxxwwvvuutttttttttsssssssspppppppp&&$')&,+*,/0003378B==B=?@A at CEGGHKFLMMKPOMOROROSTVVWYZ[\]]`_^]aQSNQUV`^srtvst~??wwwxxyzzzyxzzx~z}}}}}}}}~~~~~~~~?~}~???????????????~}}}}}}}}}}}}}}}}?~}~????????????????????????????????????????????????????????????~~~~~~~~|||||||||||||||||{zywvutvwwxxyyzxxxxxxxxxwwvvuutttttttttsssssssspppppppp(%#$&)+/.,2/737479=;=59A>=??GGIHGHIFPMNOPPQROPQRUVWXZ[\]]Y\`Z\RLMMVWbcnmsust~??~vvwwxxyyzyw?{|}}||||||||}}}}}}}}}~{{~|{}}}}}}}}~~~~~~~~~~}}|}}}}}}}}||||||||?~|}????????????????????????????????????????????????????????????~~~~~~~~|||||||||||||||||{zywvutvwwxxyyzxxxxxxxxxwwvvuutttttttttsssssssspppppppp'&#*$%')(,13586<97:<5<;9=?>CAFFGGIJHNNOOORPORQPSUUVXYZ[\Z]^\\[VPNPVY_cuwsurs}??~uuvvwwxxy|zuxy{z||||||||}}}}}}}}|}~}}||}}}}}}}}~~~~~~~~~}}||||||||||||||||||}{|????????????????????????????????????????????????????????????~~~~~~~~|||||||||||||||||{zywvutvwwxxyyzxxxxxxxxxwwvvuutttttttttsssssssspppppppp&(%$(($%+,0268:9<;;=<69<;=>?DFGHJIMJRMPRTNSQTRWQTUVWXZ[[b\bcVUNMLOY_jmoortqs|??}ttuuvvww{}wv|ztzzzzzzzzz{{{{{{{{~{z~~}z}}}}}}}}||||||||}}}}}}}}??~}}}||||||||zzzzzzzz~|z{???????????????????????????????????????????????????????????~~~~~~~~|||||||||||||||||{zywvutvwwxxyyzxxxxxxxxxwwvvuutttttttttsssssssspppppppp*')'*),')+1377449<:72768=;@BBDIFMNTJQMSNPRSUNPQSSTUVXYZ[`a\bVVPPRRW^ktvxqsqr|?}ssttuuvvquvqz|uxzzzzzzzz{{{{{{{{}?}}z|~}}}}}}}}||||||||}}}}}}}}?~~}}}{{{{{{{{zzzzzzzz}{yz~???????????????????????????????????????????????????????????~~~~~~~~|||||||||||||||||{zywvutvwwxxyyzxxxxxxxxxwwvvuutttttttttsssssssspppppppp%++*&-'-**,.2488:79:4357:=B>D?EHGGGLKOOPPQPPSSRSSTUVWYZZaad[UMILVU\bownpqspr{?|rrsstuuu}wwtuzvuyyyyyyyyzzzzzzzzzr}}z?|w{{{{{{{{{{{{{{{{||||||||~}}||{{{{{{{{{{{yyyyyyyy|zyz}???????????????????????????????????????????????????????????~~~~~~~~|||||||||||||||||{zywvutvwwxxyyzxxxxxxxxxwwvvuutttttttttsssssssspppppppp)(-*'',???6???DJCHNKO??P?R??Q?WV?e???pn?ru??q??usv???v??vs??v?ytxsr???wxvxvzu{vzxxzsywyvsyxwvvwxy||{{zzyyxwuttuwxwzzxz??????????????????????????????????????????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{|{zywvutuvvwwxxywwwwwwwwuuuuuuuuttttttttrrrrrrrrrqqppoon,+/./??67???????1,*23???>?@?GMJNK???Z????D??EUY?pp??sn?xr??su{??sxw??t??wqwyxww??wus???vv{ttsxrxvvvwzywvuvwvttttvw{{zzyyxxxwuttuwxwyxwy~??????????????????????????????????????????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{|{zywvutuvvwwxxywwwwwwwwuuuuuuuuttttttttrrrrrrrrrqqppoon-1-.3??566:??71??-12-.2?.076??IKI????PT????SNE??CX[??nk?ot??zo??t??sru??s??turtwxx??xvy??zwv???vuuwuyyttxvtw{|qsswuussssuuzzyyxxwwxwuttuwxuwvuw}??????????????????????????????????????????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{|{zywvutuvvwwxxywwwwwwwwuuuuuuuuttttttttrrrrrrrrrqqppoon/10310??5,??+.-0).??.1??5:=C at DHKNP???QT?a??LJB??P\d??ro??y???qptnuq???t??vrvvtw???wrtxvvsxuus{vvwrsxtvutsstuvyyxxwwvvxwuttuwxstsqt{??????????????????????????????????????????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{|{zywvutuvvwwxxywwwwwwwwuuuuuuuuttttttttrrrrrrrrrqqppoon026718:?????&*-2-*+?????27?KN??OOM??RPVW????m??on??kl{?????qromrp???u??usquqtt??v??su??vx??ur??vvrtvwvuttuvwxxxwvvuuxwuttuwxqrpnry?????????????????????????????????????????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{|{zywvutuvvwwxxywwwwwwwwuuuuuuuuttttttttrrrrrrrrrqqppoon556:8<>=<;>>73))(,()*+-./0.0245543;<>BFKPRMPTUUTTU[X_\ccddMGDAIOX[iijjkklllmonlg~???pqqqqqqqqrrrrrrrrssssssssssssssssuuuuuuuuttttttttywutsrssuuuuuuuuvvuuttssvxzywtsttpqrou??????????????????????????????????????????????????}}}}}}}}||||||||{{{{{{{{zzzzzzzz|{zywvuttuuvvwwxwwwwwwwwttttttttssssssssrrrrrrrroooooooo9:;<===<>=73))(,(()*,-..0011245589;>BGKNMPSTTSSTXX_]gd__HDEDNT_ciiijkklllpnojisxyzrnqoluppppppppqqqqqqqqrrrrrrrrrrrrrrrrttttttttssssssssxwusrrssttttttttvvuutsssvxzyvtstspqrnt??????????????????????????????????????????}}}}}}}}||||||||{{{{{{{{zzzzzzzz|{zywvuttuuvvwwxwwwwwwwwttttttttssssssssrrrrrrrroooooooo;;;;<=>>>=62))(+&'()*+,,10//0256678;?CGJLORSRRSTVZ``keVUCBFJX_hjhiijjkkkkkignjyuywfounqpppppppppqqqqqqqqrrrrrrrrrrrrrrrrssssssssssssssssxwusrrrsttttttttuuuttssrvxzyvsssrpprmr??????????????????????????????????????????}}}}}}}}||||||||{{{{{{{{zzzzzzzz|{zywvuttuuvvwwxwwwwwwwwttttttttssssssssrrrrrrrroooooooo=<;:;=?@><41)*()&&''()**////0234778;>BFHMOQRQQSUW_ddlbMKCCKTcimjhhhijjkkoipimjwywokmlpnooooooooppppppppqqqqqqqqqqqqqqqqssssssssrrrrrrrrwvtrqqrrssssssssuuttsrrruwyxusrspporlo????????????????????????????????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{zzzzzzzz|{zywvuttuuvvwwxwwwwwwwwttttttttssssssssrrrrrrrroooooooo>=<;<=?A>;30)*'(&&'''(((,-.011116679;?BDNPRRQRTV]ejig\HEEKX_jikigghhijjjhikllmwtzwkpplnnooooooooppppppppqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrwutrqqqrsssssssstttsrrqqtwxxurrrnpnqkm???????????????????????????????????????~~~~~~~~}}}}}}}}||||||||{{{{{{{{zzzzzzzz|{zywvuttuuvvwwxwwwwwwwwttttttttssssssssrrrrrrrroooooooo=====>@@>:1/)*''''''((((*+.0110/44458;>?QRSRRSVXbgpm^UIILUdgidhjggghhiijlofkjhp|{ykhkkoqnnnnnnnnooooooooppppppppppppppppqqqqqqqqqqqqqqqqvusqpppqrrrrrrrrtssrrqqqtvxwtrqqlpmqjj~??????????????????????????????????????}}}}}}}}}}}}}}}}||||||||{{{{{{{{zzzzzzzz|{zywvuttuuvvwwxwwwwwwwwttttttttssssssssrrrrrrrroooooooo<=>??@??>:0.)*&&))((((((++,.//0044457:<>STTTSTX[dgspTPPRY^gfgbgiffgghiiikhglhlotv{nnlnfnnnnnnnnnooooooooppppppppppppppppppppppppqqqqqqqqvtsqpppqrrrrrrrrsssrqqppsvwwtqqqkpmqih~~~??????????????????????????????????????}}}}}}}}}}}}}}}}||||||||{{{{{{{{zzzzzzzz|{zywvuttuuvvwwxwwwwwwwwttttttttssssssssrrrrrrrroooooooo;<>@A@?>>:0-)*&%*)))))((-,++,.0277789<>@TUUTTUY\eetqNNWZebc`fehgffgghhiijkhkkkssu}ifnnlmmmmmmmmmnnnnnnnnoooooooooooooooooooooooopppppppputrpooppqqqqqqqqssrrqqppsuwvsqpqjplqig~~}~??????????????????????????????????????||||||||}}}}}}}}||||||||{{{{{{{{zzzzzzzz|{zywvuttuuvvwwxwwwwwwwwttttttttssssssssrrrrrrrroooooooo???????????????????????????????????????????????????~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~???????????????????????????????????????????????????~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~???????????????????????????????????????????????????~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~???????????????????????????????????????????????????~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~???????????????????????????????????????????????????~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~???????????????????????????????????????????????????~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~???????????????????????????????????????????????????~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~???????????????????????????????????????????????????~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?????????????????????????????????~~}}|}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?????????????????????????????????~~}}|}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?????????????????????????????????~~}}|}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?????????????????????????????????~~}}|}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?????????????????????????????????~~}}|}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?????????????????????????????????~~}}|}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?????????????????????????????????~~}}|}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?????????????????????????????????~~}}|}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~???????????????????????????~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~???????????????????????????~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~???????????????????????????~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~???????????????????????????~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~???????????????????????????~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~???????????????????????????~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~???????????????????????????~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~???????????????????????????~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~??????????????????????????????????????????????????????????????????~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~??????????????????????????????????????????????????????????????????????????~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~??????????????????????????????????????????????????????????????????~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????~~~~~~~~??~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????~~~~~~~~}}}}}}}}??~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????}}}}}}}}~~~~~~~~}}}}}}}}??~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~??~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????~~~~~~~~}}}}}}}}}}}}}}}}??~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~??????????????????????????????????~}||}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~??~~|~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~??????????????????????????????????~}||}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~??~~|~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~??????????????????????????????????~}||}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~??~~|~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~??????????????????????????????????~}||}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~??~~|~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~??????????????????????????????????~}||}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~??~~|~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~??????????????????????????????????~}||}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~??~~|~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~??????????????????????????????????~}||}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~??~~|~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~??????????????????????????????????~}||}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~??~~|~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~???????????????????????????????????}|w~}}}}}}}}||||||||}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~???????????????????????????????????|{|}~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~??????????????????????????????????y~~?|}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~??????????????????????????????????v?~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~???????????????????????????????????z|}{?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~?????????????????????????????????~?y|}?????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~?????????????????????????????????x?}~?????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~????????????????????????????????}?}y????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~??????{???????????~?????????????????????????????????????~??~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?????????{???}}~~?????????????????????????????????????????~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?????}}z~????????????????????????????????????????????????~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~????????????????????????????????????????????????????????~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~?~{{~????????????????????????????????????????????~}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~||}}~??|?|?????????????????????????????????????????????~~?~|~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~||}}~~~???|???????????????????????????????????????????}}?~{~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|||||||||}}~~?||||||||~~x{?????????????????????????~~~~~~~~~~~~~~~~}}??}}?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|||||||||}}~~?}}}}}}}}~~??|~????????????????????????~~~~~~~~~~~~~~~~~{??|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|||||||||}}~~?}}}}}}}}????~~????????????????????????~~~~~~~~~~~~~~~~?{~??{}?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|||||||||}}~~?~~~~~~~~?~~??~~~~~~~~~~~~~~~~|~??}}?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|||||||||}}~~?~~~~~~~~}?||}}?~~~~~~~~~~~~~~~~~~???~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|||||||||}}~~?{{?~~||~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}?~??~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|||||||||}}~~?~|?~?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}??|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|||||||||}}~~??????????~?{????}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~?~{???z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}?????????~}|???{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~||???~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}?????????x??}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~||???~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}?????????}~|?~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~||???~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}?????????~}??|}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~||???~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}?????????~|??~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~||???~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}?????????}?~?}?}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~||???~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}????????|?~~~?}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~||???~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}?????????}??~}?}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~||???~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~?????}?}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~}???~~~~~~~~~~~~~~~~~~~~~~~~????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~???????~~~~~~~~~~~~~~~~????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~???~??{?????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~???????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~???~??z?????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}|}}~~?????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}|}}~~?????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}|}}~~?????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}|}}~~?????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}|}}~~?????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}|}}~~?????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}|}}~~?????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}|}}~~?????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}||||||||}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~}}}}}}}}||||||||}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~}}}}}}}}||||||||}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~}}}}}}}}||||||||}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~}}}}}}}}||||||||}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~}}}}}}}}||||||||}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~}}}}}}}}||||||||}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~}}}}}}}}||||||||}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}}}}}}}}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????}}}}}}}}~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~????????????????????????????????????????|}}~~?????????????????????????????????????????????????????????????????????????~~~~~~~~????????????????????????|}}~~?????????????????????????????????????????????????????????????????????????~~~~~~~~????????????????????????|}}~~?????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~|}}~~?????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~|}}~~?????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}|}}~~?????????????????????????????????????????????????????????????????????????~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}|}}~~?????????????????????????????????????????????????????????????????????????~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}|||||||||||||||||}}~~?????????????????????????????????????????????????????????????????????????}}}}}}}}????????~~~~~}??}~~~~~~~~~~~~~~~~~~~~~~~~~|}}~~?????????????????????????????????????????????????????????????????????????~~~~~~~~????????????????~~~~}??}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|}}~~?????????????????????????????????????????????????????????????????????????~~~~~~~~????????????????~}??}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|}}~~?????????????????????????????????????????????????????????????????????????????????????????????~}??}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}|}}~~??????????????????????????????????????????????????????????????????????????????????????????????~~}??}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}|}}~~??????????????????????????????????????????????????????????????????????????????????????????????????????~~}??}~~~~~~~~~~~~~~~~~~~~~~~~~|||||||||}}~~??????????????????????????????????????????????????????????????????????????????????????????????????????~~~}??}~~~~~~~~~~~~~~~~~~~~~~~~~|||||||||}}~~??????????????????????????????????????????????????????????????????????????????????????????????????????~~~}??}~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{|}}~~?????????????????????????????????????????????????????????????????????????????????????????????~~??????????~~}}}}}}}}}}????????????????????????????????????????????????????????????????????????????????????????????????????~~???????????~~}}~~~~~~~~????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~~~~~~~~~~??????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????~~??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? From anil.vemulapally at gmail.com Sun Dec 6 04:50:51 2009 From: anil.vemulapally at gmail.com (anil v) Date: Sun, 6 Dec 2009 09:20:51 +0530 Subject: [gst-devel] how to receive the RTSP stream using gstreamer In-Reply-To: <4bc25c2f0912042152p618abdc2r567f555909edc7d8@mail.gmail.com> References: <4bc25c2f0912042152p618abdc2r567f555909edc7d8@mail.gmail.com> Message-ID: <4bc25c2f0912051950p1ba93ec6if9cc36f685f88eda@mail.gmail.com> Hi thiago, I have tried as you mentioned below but still I am unable to see the video. Here I have pasted the log. $ gst-launch playbin2 uri=rtsp://172.22.22.116:554/video.mpg Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock The same url I have tried using the vlc playing properly. I have tried with local file using gst-launch which is playing properly. Thanks, Anil.V Message: 3 Date: Sat, 5 Dec 2009 19:34:00 -0200 From: "thiagossantos at gmail.com" Subject: Re: [gst-devel] how to receive the RTSP stream using gstreamer To: Discussion of the development of GStreamer Message-ID: Content-Type: text/plain; charset="iso-8859-1" On Sat, Dec 5, 2009 at 4:14 AM, Kapil Agrawal wrote: > Anil use rtspsrc element to receive. > > so something like, > gst-launch-0.10 -v rtspsrc location= ! decodebin ! xvimagesink > > You can use playbin2 directly, like: gst-launch playbin2 uri=rtsp://yoururl > > > -kapil > > On Sat, Dec 5, 2009 at 11:22 AM, anil v wrote: > >> Hi All, >> >> I want to receive the rtsp stream usig gstreamer's gst-launch. could >> you please tell me how can I receive the RTSP stream ? I am using RTSP >> server as Live555 server. >> >> >> Thanks, >> Anil.V >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From lists at svrinformatica.it Sun Dec 6 09:02:42 2009 From: lists at svrinformatica.it (Mailing List SVR) Date: Sun, 6 Dec 2009 09:02:42 +0100 Subject: [gst-devel] gst buffer to image In-Reply-To: <200912052327.59362.lists@svrinformatica.it> References: <200912051939.31342.lists@svrinformatica.it> <200912052327.59362.lists@svrinformatica.it> Message-ID: <200912060902.42744.lists@svrinformatica.it> I solved myself pushing the frame to a second pipeline, thanks Nicola In data sabato 5 dicembre 2009 23:27:59, Mailing List SVR ha scritto: : > In data sabato 5 dicembre 2009 19:39:31, Mailing List SVR ha scritto: > : > Hi all, > > > > I'm using a simple playbin pipeline, I can get the last frame with > > something like this: > > > > In [124]: frame=player.get_property("frame") > > > > In [125]: frame > > Out[125]: > > additionally: > > In [34]: frame.get_caps().to_string() > Out[34]: 'video/x-raw-yuv, width=(int)320, height=(int)240, > framerate=(fraction)10/1, format=(fourcc)I420, interlaced=(boolean)false, > pixel-aspect-ratio=(fraction)1/1' > > I tried this pipeline: > > gst-launch-0.10 -v filesrc location=/tmp/frame ! "video/x-raw-yuv, > width=(int)320, height=(int)240, framerate=(fraction)10/1, > format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect- > ratio=(fraction)1/1" ! jpegenc ! filesink location=test.jpg > > but the jpg generated is bad (attacched). I attacch also the saved > frame.data > > > now I can access frame.data that would be the raw frame data, but how to > > convert this frame to a jpg or png image? I tried to save the frame to a > > file and to convert with jpegenc and pngenc with no success, any > > suggestions? > > > > thanks > > Nicola > > > > ------------------------------------------------------------------------- > >-- --- Join us December 9, 2009 for the Red Hat Virtual Experience, a free > > event focused on virtualization and cloud computing. > > Attend in-depth sessions from your desk. Your couch. Anywhere. > > http://p.sf.net/sfu/redhat-sfdev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From ivan.murashko at gmail.com Sun Dec 6 11:04:06 2009 From: ivan.murashko at gmail.com (Ivan Murashko) Date: Sun, 6 Dec 2009 13:04:06 +0300 Subject: [gst-devel] Plugin to output RTMP In-Reply-To: <60a9403b0905211354n539fb379m9aba3376ba1b5e6d@mail.gmail.com> References: <60a9403b0905211354n539fb379m9aba3376ba1b5e6d@mail.gmail.com> Message-ID: <9c6ce7150912060204m768b312bn50b22cde4caf4b8a@mail.gmail.com> Hello all I am interested on such plugin too. Is it available or may be somebody has been started the implementation? I want to join. On Thu, May 21, 2009 at 11:54 PM, Tiago Katcipis wrote: > Im interessested on a plugin for gstreamer that outputs rmtp, but it seens > that there is no support for rmtp on gstreamer. Is there anyone working on > something like that or if i want to build a plugin to output rmtp i will > have to start from zero. If i have to start from zero, which would be the > best way to start? > > best regards, > Katcipis > > -- Best regards, Ivan -------------- next part -------------- An HTML attachment was scrubbed... URL: From hadess at hadess.net Sun Dec 6 12:39:30 2009 From: hadess at hadess.net (Bastien Nocera) Date: Sun, 06 Dec 2009 11:39:30 +0000 Subject: [gst-devel] Plugin to output RTMP In-Reply-To: <9c6ce7150912060204m768b312bn50b22cde4caf4b8a@mail.gmail.com> References: <60a9403b0905211354n539fb379m9aba3376ba1b5e6d@mail.gmail.com> <9c6ce7150912060204m768b312bn50b22cde4caf4b8a@mail.gmail.com> Message-ID: <1260099570.3311.1941.camel@localhost.localdomain> On Sun, 2009-12-06 at 13:04 +0300, Ivan Murashko wrote: > Hello all > > I am interested on such plugin too. Is it available or may be somebody > has been started the implementation? I want to join. > > On Thu, May 21, 2009 at 11:54 PM, Tiago Katcipis > wrote: > Im interessested on a plugin for gstreamer that outputs rmtp, > but it seens that there is no support for rmtp on gstreamer. > Is there anyone working on something like that or if i want to > build a plugin to output rmtp i will have to start from zero. > If i have to start from zero, which would be the best way to > start? > > best regards, > Katcipis https://bugzilla.gnome.org/show_bug.cgi?id=566604 From ensonic at hora-obscura.de Sun Dec 6 12:47:04 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Sun, 06 Dec 2009 13:47:04 +0200 Subject: [gst-devel] Custom signal/event handling for a bin In-Reply-To: <26635768.post@talk.nabble.com> References: <26575742.post@talk.nabble.com> <4B1835DA.6080300@hora-obscura.de> <26635768.post@talk.nabble.com> Message-ID: <4B1B99B8.9020605@hora-obscura.de> Am 04.12.2009 07:17, schrieb rmkart: > > Hi, > So you mean that object properties and action-signals can happen in > application thread while the data flow will happen parallely in streaming > thread, While in case of event the processing happens in the same streaming > thread as that of data flow? > > I'm thinking of pausing the pipeline and then send the events which will do > the plugin manipulation, if the pipeline is paused will the events be > processed as the streaming thread will be in waiting state and it might not > process the data flow and events as well. > Correct me if I'm wrong. > Thanks, > RK > > Stefan Kost wrote: >> >> Am 30.11.2009 16:38, schrieb rmkart: >>> >>> Hi, >>> I'm new to GST. I want a bin that can handle custom event/signals. >>> Let's say my pipeline is in PLAYING state and now I want to unlink some >>> plugins and add some new plugins, this I want to achieve through a custom >>> event/signal from application to pipeline. >>> I want application to be agnostic of internal plugin manipulations, so I >>> will send only signal/events to my bin which will take care of plugin >>> manipulation. >>> Whether this is the right approach to do it or is there any other >>> approach >>> for this. >>> Thanks, >>> RK If you pause the pipeline anyway, juts use a gobject-property or an action signal to request the new configuration. Stefan >> >> Your description is a bit vague. But anyway you can write a custom bin >> (subclass >> GstBin) and there do what you want. In that regard it does not matter if >> you use >> a object property on the bin, an action-signal or an event to ask the bin >> to >> change the internal graph. Events have the advantage that they can be >> synced >> with the data flow. >> >> Stefan >> >> ------------------------------------------------------------------------------ >> Join us December 9, 2009 for the Red Hat Virtual Experience, >> a free event focused on virtualization and cloud computing. >> Attend in-depth sessions from your desk. Your couch. Anywhere. >> http://p.sf.net/sfu/redhat-sfdev2dev >> _______________________________________________ >> gstreamer-devel mailing list >> gstreamer-devel at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> >> > From confusosk8 at gmail.com Sun Dec 6 13:47:20 2009 From: confusosk8 at gmail.com (Gabriel Duarte) Date: Sun, 6 Dec 2009 10:47:20 -0200 Subject: [gst-devel] gst buffer to image In-Reply-To: <200912060902.42744.lists@svrinformatica.it> References: <200912051939.31342.lists@svrinformatica.it> <200912052327.59362.lists@svrinformatica.it> <200912060902.42744.lists@svrinformatica.it> Message-ID: <669348040912060447k320f30ebg2f724e663be7aa6d@mail.gmail.com> How! On Sun, Dec 6, 2009 at 6:02 AM, Mailing List SVR wrote: > I solved myself pushing the frame to a second pipeline, > > thanks > Nicola > > In data sabato 5 dicembre 2009 23:27:59, Mailing List SVR ha scritto: > : > In data sabato 5 dicembre 2009 19:39:31, Mailing List SVR ha scritto: > > : > Hi all, > > > > > > I'm using a simple playbin pipeline, I can get the last frame with > > > something like this: > > > > > > In [124]: frame=player.get_property("frame") > > > > > > In [125]: frame > > > Out[125]: > > > > additionally: > > > > In [34]: frame.get_caps().to_string() > > Out[34]: 'video/x-raw-yuv, width=(int)320, height=(int)240, > > framerate=(fraction)10/1, format=(fourcc)I420, interlaced=(boolean)false, > > pixel-aspect-ratio=(fraction)1/1' > > > > I tried this pipeline: > > > > gst-launch-0.10 -v filesrc location=/tmp/frame ! "video/x-raw-yuv, > > width=(int)320, height=(int)240, framerate=(fraction)10/1, > > format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect- > > ratio=(fraction)1/1" ! jpegenc ! filesink location=test.jpg > > > > but the jpg generated is bad (attacched). I attacch also the saved > > frame.data > > > > > now I can access frame.data that would be the raw frame data, but how > to > > > convert this frame to a jpg or png image? I tried to save the frame to > a > > > file and to convert with jpegenc and pngenc with no success, any > > > suggestions? > > > > > > thanks > > > Nicola > > > > > > > ------------------------------------------------------------------------- > > >-- --- Join us December 9, 2009 for the Red Hat Virtual Experience, a > free > > > event focused on virtualization and cloud computing. > > > Attend in-depth sessions from your desk. Your couch. Anywhere. > > > http://p.sf.net/sfu/redhat-sfdev2dev > > > _______________________________________________ > > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > ------------------------------------------------------------------------------ > Join us December 9, 2009 for the Red Hat Virtual Experience, > a free event focused on virtualization and cloud computing. > Attend in-depth sessions from your desk. Your couch. Anywhere. > http://p.sf.net/sfu/redhat-sfdev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -- Gabriel Duarte Linux User #471185 Rio de Janeiro - RJ http://kinuxlinux.org/gabriel_duarte Phones: (55) (21) 9463-7760 /*Mobile*/ (55) (21) 2464-9302 /*Home*/ (55) (21) 2529-5080 /*Work*/ -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS d- s: a--- C++ UL+++ P L++++ E- W+ N++ o++ K++ w--- O- M- V- PS++ PE++ Y PGP- t++ 5-- X+++ R tv++ b++ DI+ D++ G++ e+ h* r+ y++++ ------END GEEK CODE BLOCK------ -------------- next part -------------- An HTML attachment was scrubbed... URL: From lists at svrinformatica.it Mon Dec 7 01:48:51 2009 From: lists at svrinformatica.it (Mailing List SVR) Date: Mon, 7 Dec 2009 01:48:51 +0100 Subject: [gst-devel] gst buffer to image In-Reply-To: <669348040912060447k320f30ebg2f724e663be7aa6d@mail.gmail.com> References: <200912051939.31342.lists@svrinformatica.it> <200912060902.42744.lists@svrinformatica.it> <669348040912060447k320f30ebg2f724e663be7aa6d@mail.gmail.com> Message-ID: <200912070148.51758.lists@svrinformatica.it> In data domenica 6 dicembre 2009 13:47:20, Gabriel Duarte ha scritto: : > How! Basically you have to use a pipeline like this gst.parse_launch('fakesrc name=src ! queue name=queue ! ffmpegcolorspace ! video/x-raw-rgb,width=320,height=240 ! pngenc ! fakesink name=sink signal- handoffs=true') and then push the frame with something like: queue.get_pad('src').push(frame) this way you'll get a png image, Nicola > > On Sun, Dec 6, 2009 at 6:02 AM, Mailing List SVR wrote: > > I solved myself pushing the frame to a second pipeline, > > > > thanks > > Nicola > > > > In data sabato 5 dicembre 2009 23:27:59, Mailing List SVR ha scritto: > > : > In data sabato 5 dicembre 2009 19:39:31, Mailing List SVR ha scritto: > > > : > Hi all, > > > > > > > > I'm using a simple playbin pipeline, I can get the last frame with > > > > something like this: > > > > > > > > In [124]: frame=player.get_property("frame") > > > > > > > > In [125]: frame > > > > Out[125]: > > > > > > additionally: > > > > > > In [34]: frame.get_caps().to_string() > > > Out[34]: 'video/x-raw-yuv, width=(int)320, height=(int)240, > > > framerate=(fraction)10/1, format=(fourcc)I420, > > > interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1' > > > > > > I tried this pipeline: > > > > > > gst-launch-0.10 -v filesrc location=/tmp/frame ! "video/x-raw-yuv, > > > width=(int)320, height=(int)240, framerate=(fraction)10/1, > > > format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect- > > > ratio=(fraction)1/1" ! jpegenc ! filesink location=test.jpg > > > > > > but the jpg generated is bad (attacched). I attacch also the saved > > > frame.data > > > > > > > now I can access frame.data that would be the raw frame data, but how > > > > to > > > > > > convert this frame to a jpg or png image? I tried to save the frame > > > > to > > > > a > > > > > > file and to convert with jpegenc and pngenc with no success, any > > > > suggestions? > > > > > > > > thanks > > > > Nicola > > > > ------------------------------------------------------------------------- > > > > > >-- --- Join us December 9, 2009 for the Red Hat Virtual Experience, a > > > > free > > > > > > event focused on virtualization and cloud computing. > > > > Attend in-depth sessions from your desk. Your couch. Anywhere. > > > > http://p.sf.net/sfu/redhat-sfdev2dev > > > > _______________________________________________ > > > > gstreamer-devel mailing list > > > > gstreamer-devel at lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > ------------------------------------------------------------------------- > >----- Join us December 9, 2009 for the Red Hat Virtual Experience, > > a free event focused on virtualization and cloud computing. > > Attend in-depth sessions from your desk. Your couch. Anywhere. > > http://p.sf.net/sfu/redhat-sfdev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From thiagossantos at gmail.com Mon Dec 7 10:00:45 2009 From: thiagossantos at gmail.com (thiagossantos at gmail.com) Date: Mon, 7 Dec 2009 07:00:45 -0200 Subject: [gst-devel] how to receive the RTSP stream using gstreamer In-Reply-To: <4bc25c2f0912051950p1ba93ec6if9cc36f685f88eda@mail.gmail.com> References: <4bc25c2f0912042152p618abdc2r567f555909edc7d8@mail.gmail.com> <4bc25c2f0912051950p1ba93ec6if9cc36f685f88eda@mail.gmail.com> Message-ID: On Sun, Dec 6, 2009 at 1:50 AM, anil v wrote: > Hi thiago, > I have tried as you mentioned below but still I am unable to see the > video. Here I have pasted the log. > > $ gst-launch playbin2 uri=rtsp://172.22.22.116:554/video.mpg > Setting pipeline to PAUSED ... > Pipeline is live and does not need PREROLL ... > Setting pipeline to PLAYING ... > New clock: GstSystemClock > > > The same url I have tried using the vlc playing properly. I have tried > with local file using gst-launch which is playing properly. > File a bug about it at bugzilla.gnome.org and, if possible, provide us with a way to reproduce the problem and/or debug logs of the problem. > > Thanks, > Anil.V > > > Message: 3 > Date: Sat, 5 Dec 2009 19:34:00 -0200 > From: "thiagossantos at gmail.com" > Subject: Re: [gst-devel] how to receive the RTSP stream using > gstreamer > To: Discussion of the development of GStreamer > > > Message-ID: > > > Content-Type: text/plain; charset="iso-8859-1" > > > On Sat, Dec 5, 2009 at 4:14 AM, Kapil Agrawal wrote: > > > Anil use rtspsrc element to receive. > > > > so something like, > > gst-launch-0.10 -v rtspsrc location= ! decodebin ! > xvimagesink > > > > > > You can use playbin2 directly, like: > > gst-launch playbin2 uri=rtsp://yoururl > > > > > > > > -kapil > > > > On Sat, Dec 5, 2009 at 11:22 AM, anil v >wrote: > > > >> Hi All, > >> > >> I want to receive the rtsp stream usig gstreamer's gst-launch. could > >> you please tell me how can I receive the RTSP stream ? I am using RTSP > >> server as Live555 server. > >> > >> > >> Thanks, > >> Anil.V > >> > -- Thiago Sousa Santos -------------- next part -------------- An HTML attachment was scrubbed... URL: From lijinsyam at gmail.com Mon Dec 7 14:58:09 2009 From: lijinsyam at gmail.com (LIJIN SYAM K) Date: Mon, 7 Dec 2009 19:28:09 +0530 Subject: [gst-devel] JPEG Decoder Failure Message-ID: <269ea9750912070558p605c1ceg7a16caab1b8dd3bd@mail.gmail.com> Hi all, I am here trying to play my axis camera using gst-launch and playbin2. The link is fine but it is not playing in gst-launch. I tested the link in vlc and firefox ,it work fine. The log is here. playbin2 uri="http://root:password at 10.0.0.160/axis-cgi/mjpg/video.cgi" Setting pipeline to PAUSED ... /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: connection-speed = 0 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: download = FALSE /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: subtitle-encoding = NULL /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: uri = " http://root:password at 10.0.0.160/axis-cgi/mjpg/video.cgi" /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: use-buffering = FALSE /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-duration = -1 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-size = -1 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: source = (GstSoupHTTPSrc) source Pipeline is PREROLLING ... /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = multipart/x-mixed-replace /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind: force-caps = multipart/x-mixed-replace /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20: sink-caps = multipart/x-mixed-replace /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:src: caps = multipart/x-mixed-replace /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstQueue2:queue20.GstPad:sink: caps = multipart/x-mixed-replace /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstQueue2:queue20.GstPad:src: caps = multipart/x-mixed-replace /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:sink: caps = multipart/x-mixed-replace /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstGhostPad:sink: caps = multipart/x-mixed-replace /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstGhostPad:sink.GstProxyPad:proxypad0: caps = multipart/x-mixed-replace /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultipartDemux:multipartdemux0.GstPad:sink: caps = multipart/x-mixed-replace /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:sink0: caps = image/jpeg /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-buffers = 5 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-time = 0 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0: max-size-bytes = 2097152 /GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector0.GstPlaybin2SelectorPad:sink0: always-ok = FALSE /GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector0: active-pad = (GstPlaybin2SelectorPad) sink0 /GstPlayBin2:playbin20/GstPlaybin2InputSelector:playbin2inputselector0.GstPlaybin2SelectorPad:sink0: tags = ((GstTagList*) 0x83fda00) /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:src0: caps = image/jpeg /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstJpegDec:jpegdec0.GstPad:sink: caps = image/jpeg /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0.GstGhostPad:src0: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)704, height=(int)480, framerate=(fraction)0/1 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstDecodePad:src0: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)704, height=(int)480, framerate=(fraction)0/1 /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstJpegDec:jpegdec0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)704, height=(int)480, framerate=(fraction)0/1 ERROR: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstJpegDec:jpegdec0: Failed to decode JPEG image Additional debug info: gstjpegdec.c(802): gst_jpeg_dec_decode_direct (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstJpegDec:jpegdec0: Unsupported subsampling schema: v_samp factors: 1 1 1 ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0.GstGhostPad:src0: caps = NULL /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstDecodePad:src0: caps = NULL /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstJpegDec:jpegdec0.GstPad:src: caps = NULL /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstJpegDec:jpegdec0.GstPad:sink: caps = NULL /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:sink0: caps = NULL /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultiQueue:multiqueue0.GstPad:src0: caps = NULL /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultipartDemux:multipartdemux0.GstPad:src_0: caps = NULL /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstMultipartDemux:multipartdemux0.GstPad:sink: caps = NULL /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:src: caps = NULL /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:sink: caps = NULL /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstGhostPad:sink: caps = NULL /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstQueue2:queue20.GstPad:src: caps = NULL /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstQueue2:queue20.GstPad:sink: caps = NULL /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = NULL Can anybody tell me how to fix this error. Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.i.m at zen.co.uk Mon Dec 7 17:36:47 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Mon, 07 Dec 2009 16:36:47 +0000 Subject: [gst-devel] JPEG Decoder Failure In-Reply-To: <269ea9750912070558p605c1ceg7a16caab1b8dd3bd@mail.gmail.com> References: <269ea9750912070558p605c1ceg7a16caab1b8dd3bd@mail.gmail.com> Message-ID: <1260203807.15691.11.camel@zingle> On Mon, 2009-12-07 at 19:28 +0530, LIJIN SYAM K wrote: > I am here trying to play my axis camera using gst-launch and > playbin2. The link is fine but it is not playing in gst-launch. I > tested the link in vlc and firefox ,it work fine. The log is here. > playbin2 > element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstJpegDec:jpegdec0: Failed to decode JPEG image > Additional debug info: > gstjpegdec.c(802): gst_jpeg_dec_decode_direct > (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstJpegDec:jpegdec0: > Unsupported subsampling schema: v_samp factors: 1 1 1 > > Can anybody tell me how to fix this error. What version of gst-plugins-good are you using? As far as I can tell none of our releases have this particular code in line 802. In order to get it fixed, please file a bug in bugzilla and provide test data so we can reproduce the problem (e.g. a single .jpeg frame, or a few seconds worth of gst-launch-0.10 http://.... ! multipartdemux ! gdppay ! filesink location=foo-mjpeg.gdp output) Cheers -Tim From lazyt at gmx.net Mon Dec 7 22:16:54 2009 From: lazyt at gmx.net (Thomas Loewe) Date: Mon, 7 Dec 2009 13:16:54 -0800 (PST) Subject: [gst-devel] How to use multiqueue with gst-launch? Message-ID: <26684239.post@talk.nabble.com> Hi, i have problems with the following pipeline to stream a ts with h.264 over network: "gst-launch souphttpsrc location=http://url ! mpegtsdemux name=dmx dmx. ! queue2 max-size-buffers=0 max-size-time=0 max-size-bytes=0 ! ffdec_h264 ! directdrawsink dmx. ! queue2 max-size-buffers=0 max-size-time=0 max-size-bytes=0 ! a52dec ! audioconvert ! directsoundsink" With an additional queue before the videosink it runs much better, but stuttering video also occurs after some seconds. It only works with sync=0 for the videosink. How must the above pipeline be changed to replace the 2 queues with 1 multiqueue? Or is there any other thing (better buffering?) to make the stream run smoother? Thanks, Thomas -- View this message in context: http://old.nabble.com/How-to-use-multiqueue-with-gst-launch--tp26684239p26684239.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From peteraward at gmail.com Tue Dec 8 04:46:36 2009 From: peteraward at gmail.com (Peter Ward) Date: Tue, 8 Dec 2009 14:46:36 +1100 Subject: [gst-devel] Removing video sinks from a tee dynamically Message-ID: <8ca3cc820912071946h3cd6c34y915fc706662b2d21@mail.gmail.com> I'm trying to remove a video sink from a tee, and I'm getting the following X error: $ python removal.py (removal.py:5342): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-0.10/libgstpython_d.so': /usr/lib/gstreamer-0.10/libgstpython_d.so: undefined symbol: _Py_RefTotal No accelerated IMDCT transform found X Error of failed request: BadShmSeg (invalid shared segment parameter) Major opcode of failed request: 132 (XVideo) Minor opcode of failed request: 19 () Segment id in failed request: 0x4800009 Serial number of failed request: 255 Current serial number in output stream: 256 Could someone enlighten me as to why the code crashes, and/or what the right way to fix it is? (the code is also at http://paste.pocoo.org/show/155358/) Thanks, Peter -- Peter Ward http://identi.ca/flowblok/ http://flowblok.selfip.net:8001/ -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: removal.py Type: text/x-python Size: 666 bytes Desc: not available URL: From nico at inattendu.org Tue Dec 8 07:44:44 2009 From: nico at inattendu.org (Nicolas Bertrand) Date: Tue, 08 Dec 2009 10:44:44 +0400 Subject: [gst-devel] gstrreamer and optparse Message-ID: <4B1DF5DC.9040603@inattendu.org> Hello, I facing some problems using gst and optparse under python . When I use the -h option in my app , I have the help options of gstreamer not of my app. I use python 2.6 and python-gst 0.10.17-1 under ubuntu karmic Do you have and idea of how I can display my options instead of gstreamer one ? Here after the sample code : from optparse import OptionParser from optparse import make_option import gst if __name__ == '__main__' : option_list = [ make_option("-f", "--file", action="store", type="string", dest="filename", help=u'"Luciole project file (.xml) to load', metavar="FILE"), make_option("-v", "--verbose", action="store_true", dest="is_verbose", default=False, help=u'Toogle verbosity')] usage = "usage: %prog [options] " parser = OptionParser(option_list=option_list,usage=usage) (options, args2) = parser.parse_args() The output is : Usage: test_opt_gst.py [OPTION...] - GStreamer initialization Help Options: -h, --help Show help options --help-all Show all help options --help-gst Show GStreamer Options Thanks in advance Cheers Nico From costa_albert at yahoo.fr Wed Dec 9 10:57:43 2009 From: costa_albert at yahoo.fr (Albert Costa) Date: Wed, 9 Dec 2009 09:57:43 +0000 (GMT) Subject: [gst-devel] Sample code using camerabin Message-ID: <924803.5042.qm@web28402.mail.ukl.yahoo.com> Hi, I wonder if anyone has a simple example of code using camerabin? I had developped my own pipeline for display/record but would like to compare it to camerabin that seems interesting. I would appreciate if anyone has already some running example (on win32 even better). Best regards, Al -------------- next part -------------- An HTML attachment was scrubbed... URL: From ylatuya at gmail.com Wed Dec 9 12:35:53 2009 From: ylatuya at gmail.com (Andoni Morales) Date: Wed, 9 Dec 2009 12:35:53 +0100 Subject: [gst-devel] Sample code using camerabin In-Reply-To: <924803.5042.qm@web28402.mail.ukl.yahoo.com> References: <924803.5042.qm@web28402.mail.ukl.yahoo.com> Message-ID: <772db3280912090335g328a922fq624ed159680415ba@mail.gmail.com> 2009/12/9 Albert Costa : > Hi, > I wonder if anyone has a simple example of code using camerabin? I had > developped my own pipeline for display/record but would like to compare it > to camerabin that seems interesting. I would appreciate if anyone has > already some running example (on win32 even better). > Best regards, > Al Some time ago I started working on a video capturer for windows and linux using camerabin[0]. Don't expect to much, it's a prototype in a very early stage of development and it's a long time don't work on it, but it might help you. Andoni [0]http://git.gnome.org/cgit/longomatch/tree/libcesarplayer/src/gst-camera-capturer.c > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- Andoni Morales Alastruey LongoMatch:The Digital Coach http://www.longomatch.ylatuya.es From lists at svrinformatica.it Wed Dec 9 13:22:48 2009 From: lists at svrinformatica.it (Mailing List SVR) Date: Wed, 9 Dec 2009 13:22:48 +0100 Subject: [gst-devel] angstrom, gstreamer omapfb inside a window Message-ID: <200912091322.48695.lists@svrinformatica.it> Hi, I'm trying to use gstreamer on angstrom to provide basic video playback for my beagleboard app, I'm unable to embed the video widget inside my window, I'm using a really simple pipeline: gst.parse_launch("playbin uri=file:///tmp/test.avi") and I set the window to which attach the video, as usual, with set_xwindow_id, the video goes fullscreen and not in my window (the same code works fine in a standard pc) Seems there are problems with omapfbsink, here is the error: Error: ('Resource not found.', 'omapfb.c(221): gst_omapfbsink_handle_xevents (): /GstPipeline:pipeline0/GstOmapFbSink:o) any hints? Nicola From lists at svrinformatica.it Wed Dec 9 14:00:30 2009 From: lists at svrinformatica.it (Mailing List SVR) Date: Wed, 9 Dec 2009 14:00:30 +0100 Subject: [gst-devel] angstrom, gstreamer omapfb inside a window In-Reply-To: <200912091322.48695.lists@svrinformatica.it> References: <200912091322.48695.lists@svrinformatica.it> Message-ID: <200912091400.30752.lists@svrinformatica.it> Using xvimagesink instead of omapfbsink works but after some stop/play sequence I get this error: (player.py:2226): GStreamer-CRITICAL **: gst_pad_alloc_buffer_full: assertion `size >= 0' failed Error: ('GStreamer encountered a general stream error.', 'gstavidemux.c(4219): gst_avi_demux_loop (): /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstAviDemux:avidemux0:\nstreaming stopped, reason error') Nicola In data mercoled? 9 dicembre 2009 13:22:48, Mailing List SVR ha scritto: : > Hi, > > I'm trying to use gstreamer on angstrom to provide basic video playback for > my beagleboard > app, > > I'm unable to embed the video widget inside my window, I'm using a really > simple pipeline: > > gst.parse_launch("playbin uri=file:///tmp/test.avi") > > and I set the window to which attach the video, as usual, with > set_xwindow_id, the video goes fullscreen and not in my window (the same > code works fine in a standard pc) > > Seems there are problems with omapfbsink, here is the error: > > Error: ('Resource not found.', 'omapfb.c(221): > gst_omapfbsink_handle_xevents (): /GstPipeline:pipeline0/GstOmapFbSink:o) > > > > any hints? > > Nicola > > > --------------------------------------------------------------------------- > --- Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From lijinsyam at gmail.com Wed Dec 9 14:02:51 2009 From: lijinsyam at gmail.com (LIJIN SYAM K) Date: Wed, 9 Dec 2009 18:32:51 +0530 Subject: [gst-devel] JPEG Decoder Failure In-Reply-To: <1260203807.15691.11.camel@zingle> References: <269ea9750912070558p605c1ceg7a16caab1b8dd3bd@mail.gmail.com> <1260203807.15691.11.camel@zingle> Message-ID: <269ea9750912090502x32b63013h3e7ac057bda973ea@mail.gmail.com> Hi, I updated the gst-plugin-good to the latest version and working fine . Thanks a lot -Lijin > > What version of gst-plugins-good are you using? As far as I can tell > none of our releases have this particular code in line 802. > > In order to get it fixed, please file a bug in bugzilla and provide test > data so we can reproduce the problem (e.g. a single .jpeg frame, or a > few seconds worth of gst-launch-0.10 http://.... ! multipartdemux ! > gdppay ! filesink location=foo-mjpeg.gdp output) > > Cheers > -Tim > > > > > ------------------------------------------------------------------------------ > Join us December 9, 2009 for the Red Hat Virtual Experience, > a free event focused on virtualization and cloud computing. > Attend in-depth sessions from your desk. Your couch. Anywhere. > http://p.sf.net/sfu/redhat-sfdev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From costa_albert at yahoo.fr Wed Dec 9 15:19:40 2009 From: costa_albert at yahoo.fr (Albert Costa) Date: Wed, 9 Dec 2009 14:19:40 +0000 (GMT) Subject: [gst-devel] Re : Sample code using camerabin In-Reply-To: <772db3280912090335g328a922fq624ed159680415ba@mail.gmail.com> References: <924803.5042.qm@web28402.mail.ukl.yahoo.com> <772db3280912090335g328a922fq624ed159680415ba@mail.gmail.com> Message-ID: <709465.97008.qm@web28403.mail.ukl.yahoo.com> Thanks a lot Andoni, I'll take a look at it as soon as I can. Regards Al ________________________________ De : Andoni Morales ? : Discussion of the development of GStreamer Envoy? le : Mer 9 D?cembre 2009, 12 h 35 min 53 s Objet : Re: [gst-devel] Sample code using camerabin 2009/12/9 Albert Costa : > Hi, > I wonder if anyone has a simple example of code using camerabin? I had > developped my own pipeline for display/record but would like to compare it > to camerabin that seems interesting. I would appreciate if anyone has > already some running example (on win32 even better). > Best regards, > Al Some time ago I started working on a video capturer for windows and linux using camerabin[0]. Don't expect to much, it's a prototype in a very early stage of development and it's a long time don't work on it, but it might help you. Andoni [0]http://git.gnome.org/cgit/longomatch/tree/libcesarplayer/src/gst-camera-capturer.c > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- Andoni Morales Alastruey LongoMatch:The Digital Coach http://www.longomatch.ylatuya.es ------------------------------------------------------------------------------ Return on Information: Google Enterprise Search pays you back Get the facts. http://p.sf.net/sfu/google-dev2dev _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: From lists at svrinformatica.it Wed Dec 9 17:19:37 2009 From: lists at svrinformatica.it (Mailing List SVR) Date: Wed, 9 Dec 2009 17:19:37 +0100 Subject: [gst-devel] seek simple, bug on arm? Message-ID: <200912091719.38259.lists@svrinformatica.it> Hi, I'm having some issue with seek and seek_simple on beagleboard(arm7), my code is as follow: pos_int = self.player.query_position(gst.Format(gst.FORMAT_TIME), None)[0] seek_ns = pos_int + (1 * 1000000000/10) self.player.seek_simple(self.time_format, gst.SEEK_FLAG_FLUSH, seek_ns) on my notebook (x86_64) all is fine, on beagleboard the query_position doesn't correspond with the viewed position: 1) I have a test video with timestamp overlay, the video start at 15:26:25 if I stop for example at 15:26:28 after 3 seconds, I correctly read pos_int as 3.0000000 2) from the previous position I seek using seek simple, the position returned by query_position is correctly 3.1000000 but the timestamp on video goes to 15:26:31 so the position I read doesn't correspond with the position I see. If I do another seek I read the position as 3.2000000 but the timestamp on the video go to 15:26:34 3) after some seek simple I see an error like this GStreamer-CRITICAL **: gst_pad_alloc_buffer_full: assertion `size >= 0' failed 4) on a standard pc the same code works as expected 5) I'm using gstreamer built by angstrom developer (0.10.25) is there some obviuos error in my code? Can be a problem related to angstrom? Nicola From merunga at gmail.com Wed Dec 9 18:55:43 2009 From: merunga at gmail.com (mariano) Date: Wed, 9 Dec 2009 14:55:43 -0300 Subject: [gst-devel] would my app be possible with gstreamer? Message-ID: <4d9743be0912090955r2fa1e931hb1fa018a1e91b7da@mail.gmail.com> Hi, Following your suggestion at apps sectionin the page, I write to ask if the app that we have in mind is possible with gstreamer. The idea is to manage data and media from different sources, in a graph where each element/node could be scripted, for example with conditions for triggering them depending on pipeline global variables. For example, depending on what happens inside an element, to transform and send the result data to one source pad or another (branching) or keep on processing the same element till it receives a signal/event from outside (conditional looping). Being able to receive events from this sources, would also be really indispensable, but as far as I know, that's completely possible. We would also like to "talk" to different pieces of hardware, each one with an specific protocol, for example copperlan, osc, midi, ad-hoc serial-based protocols and so on. The app would play as a translator and mapper between all these heterogeneous data. We also have kind of a big requirement on using Qt as the GUI framework, I guess that would be also possible, but I could not find any non-trivial resources on this subject. I would really appreciate your help thanks in advance mariano -------------- next part -------------- An HTML attachment was scrubbed... URL: From dome at tel.co.th Wed Dec 9 18:52:29 2009 From: dome at tel.co.th (Dome Charoenyost) Date: Thu, 10 Dec 2009 00:52:29 +0700 Subject: [gst-devel] replace ezstream with gst-launch Message-ID: <8ccbff060912090952i3405d940p6983d5c8bd0dad1c@mail.gmail.com> Dear All, Now i'm using ezstream to stream .ogv to icecast2. i want to replace by gst-launch but i don't know how to loop play when end of file. can someone help me ? Best Regards. Dome C. -------------- next part -------------- An HTML attachment was scrubbed... URL: From lsandoval at ti.com Thu Dec 10 00:39:38 2009 From: lsandoval at ti.com (Leonardo Sandoval) Date: Wed, 09 Dec 2009 17:39:38 -0600 Subject: [gst-devel] rtspsrc and video depay not working Message-ID: <1260401978.6264.61.camel@lsandoval-desktop> Hi, for some reason, the rtspsrc is not able to caps negotiate with a video depay, like in this pipeline: root at zoom3:/usr/bin# gst-launch rtspsrc protocols=tcp location=rtsp://10.87.228.215/sample.mp4 ! rtph263pdepay ! fakesink -v Setting pipeline to PAUSED ... /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRTPDec:rtpdec0: latency = 3000 Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Internal data flow error. Additional debug info: gstrtspsrc.c(3351): gst_rtspsrc_loop (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: streaming task paused, reason not-negotiated (-4) Execution ended after 9246825 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRTPDec:rtpdec0.GstPad:recv_rtp_src_1_1859506124_97: caps = NULL Setting pipeline to NULL ... Freeing pipeline ... root at zoom3:/usr/bin# I also tried using a audio depay (instead of the video) and in this case, the pipeline works. Also, placing an audio BEFORE a video depay works. In order to see why the caps negotiation fails, I printed out the buffers caps, and these are all NULLS but there is commit (http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f68303a2e290c14c91deb5ec33abe885980010e) in gst-plugins-good repository which handles this latter case. Anyone has an idea of what is going on? -------------- next part -------------- An HTML attachment was scrubbed... URL: From raju01e at gmail.com Thu Dec 10 09:49:52 2009 From: raju01e at gmail.com (raju03e) Date: Thu, 10 Dec 2009 00:49:52 -0800 (PST) Subject: [gst-devel] Is it possible to send signals from application to plugin. Message-ID: <26723867.post@talk.nabble.com> Hi, I am a newbee to gstreamer. I am trying to explore about signals. I have a query, Is it possible to send signals from application to plugin. -- View this message in context: http://old.nabble.com/Is-it-possible-to-send-signals-from-application-to-plugin.-tp26723867p26723867.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From t.i.m at zen.co.uk Thu Dec 10 10:17:53 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Thu, 10 Dec 2009 09:17:53 +0000 Subject: [gst-devel] rtspsrc and video depay not working In-Reply-To: <1260401978.6264.61.camel@lsandoval-desktop> References: <1260401978.6264.61.camel@lsandoval-desktop> Message-ID: <1260436673.3750.1.camel@zingle> On Wed, 2009-12-09 at 17:39 -0600, Leonardo Sandoval wrote: > for some reason, the rtspsrc is not able to caps negotiate with a > video depay, like in this pipeline: > > root at zoom3:/usr/bin# gst-launch rtspsrc protocols=tcp > location=rtsp://10.87.228.215/sample.mp4 ! rtph263pdepay ! fakesink > -v > ... > Anyone has an idea of what is going on? Does it work with gst-launch-0.10 playbin2 uri=rtsp://... ? If yes, what's the output of gst-launch -v in that case? Cheers -Tim From t.i.m at zen.co.uk Thu Dec 10 10:22:12 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Thu, 10 Dec 2009 09:22:12 +0000 Subject: [gst-devel] Is it possible to send signals from application to plugin. In-Reply-To: <26723867.post@talk.nabble.com> References: <26723867.post@talk.nabble.com> Message-ID: <1260436932.3750.5.camel@zingle> On Thu, 2009-12-10 at 00:49 -0800, raju03e wrote: > I am a newbee to gstreamer. I am trying to explore about signals. > I have a query, Is it possible to send signals from application to plugin. Sure, the most common methods of app -> element communication are: 1. g_object_{set|get} 2. g_signal_emit_by_name() (ie. action properties) 3. make the element implement an interface (see e.g. GstUriHandler or GstXOverlay) 4. you can gst_element_send_event (element/pipeline, ...) a custom event. 5. if the element/plugin is a static plugin and not an installed .so you can just add API for it and use that. Cheers -Tim From lists at svrinformatica.it Thu Dec 10 11:02:28 2009 From: lists at svrinformatica.it (Mailing List SVR) Date: Thu, 10 Dec 2009 11:02:28 +0100 Subject: [gst-devel] [Angstrom-distro-users] seek simple, bug on arm? In-Reply-To: <200912091719.38259.lists@svrinformatica.it> References: <200912091719.38259.lists@svrinformatica.it> Message-ID: <200912101102.28103.lists@svrinformatica.it> This is an angstrom bug: gstreamer from ubuntu karmic arm ports works as expected, Nicola In data mercoled? 9 dicembre 2009 17:19:37, Mailing List SVR ha scritto: : > Hi, > > I'm having some issue with seek and seek_simple on beagleboard(arm7), my > code is as follow: > > pos_int = self.player.query_position(gst.Format(gst.FORMAT_TIME), None)[0] > seek_ns = pos_int + (1 * 1000000000/10) > self.player.seek_simple(self.time_format, gst.SEEK_FLAG_FLUSH, seek_ns) > > on my notebook (x86_64) all is fine, on beagleboard the query_position > doesn't correspond with the viewed position: > > 1) I have a test video with timestamp overlay, the video start at 15:26:25 > if I stop for example at 15:26:28 after 3 seconds, I correctly read > pos_int as 3.0000000 > 2) from the previous position I seek using seek simple, the position > returned by query_position is correctly 3.1000000 but the timestamp on > video goes to 15:26:31 so the position I read doesn't correspond with the > position I see. If I do another seek I read the position as 3.2000000 but > the timestamp on the video go to 15:26:34 > 3) after some seek simple I see an error like this GStreamer-CRITICAL **: > gst_pad_alloc_buffer_full: assertion `size >= 0' failed > 4) on a standard pc the same code works as expected > 5) I'm using gstreamer built by angstrom developer (0.10.25) > > is there some obviuos error in my code? Can be a problem related to > angstrom? > > Nicola > > _______________________________________________ > Angstrom-distro-users mailing list > Angstrom-distro-users at linuxtogo.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-users > From lists at svrinformatica.it Thu Dec 10 14:34:06 2009 From: lists at svrinformatica.it (Mailing List SVR) Date: Thu, 10 Dec 2009 14:34:06 +0100 Subject: [gst-devel] Installation error Message-ID: <200912101434.06274.lists@svrinformatica.it> Hi, I'm experiencing this installation error: root at beagleboard:~/gstreamer/gstreamer-0.10.25# ./configure --disable-debug -- disable-gst-debug --prefix=/opt/gstreamer/ .... .... Configuration Version : 0.10.25 Source code location : . Prefix : /opt/gstreamer Compiler : gcc Package name : GStreamer source release Package origin : Unknown package origin Documentation (manuals) : no Documentation (API) : no Debug Logging : no Pipeline XML load/save : yes Command-line parser : yes Option parsing in gst_init : yes Tracing subsystem : yes Allocation tracing : yes Plugin registry : yes Plugin support : yes Network support : yes Unit testing support : yes Debug : no Profiling : no Building examples : yes Building test apps : yes Building tests that fail : no root at beagleboard:~/gstreamer/gstreamer-0.10.25# make Making all in pkgconfig Making all in gst Making all in parse CC lex._gst_parse_yy.o ./grammar.y: conflicts: 37 shift/reduce, 5 reduce/reduce make[4]: *** [grammar.tab.c] Error 141 make[3]: *** [all-recursive] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 I'm building on arm what's wrong? From lists at svrinformatica.it Thu Dec 10 15:38:21 2009 From: lists at svrinformatica.it (Mailing List SVR) Date: Thu, 10 Dec 2009 15:38:21 +0100 Subject: [gst-devel] Installation error In-Reply-To: <200912101434.06274.lists@svrinformatica.it> References: <200912101434.06274.lists@svrinformatica.it> Message-ID: <200912101538.22181.lists@svrinformatica.it> In data gioved? 10 dicembre 2009 14:34:06, Mailing List SVR ha scritto: : > Hi, > > I'm experiencing this installation error: > > root at beagleboard:~/gstreamer/gstreamer-0.10.25# ./configure --disable-debug > -- disable-gst-debug --prefix=/opt/gstreamer/ > .... > .... > > Configuration > Version : 0.10.25 > Source code location : . > Prefix : /opt/gstreamer > Compiler : gcc > Package name : GStreamer source release > Package origin : Unknown package origin > > Documentation (manuals) : no > Documentation (API) : no > > Debug Logging : no > Pipeline XML load/save : yes > Command-line parser : yes > Option parsing in gst_init : yes > Tracing subsystem : yes > Allocation tracing : yes > Plugin registry : yes > Plugin support : yes > Network support : yes > Unit testing support : yes > > Debug : no > Profiling : no > > Building examples : yes > Building test apps : yes > Building tests that fail : no > > root at beagleboard:~/gstreamer/gstreamer-0.10.25# make > Making all in pkgconfig > Making all in gst > Making all in parse > CC lex._gst_parse_yy.o > ./grammar.y: conflicts: 37 shift/reduce, 5 reduce/reduce the file grammar.tab.c is not created why? > make[4]: *** [grammar.tab.c] Error 141 > make[3]: *** [all-recursive] Error 1 > make[2]: *** [all] Error 2 > make[1]: *** [all-recursive] Error 1 > make: *** [all] Error 2 > > I'm building on arm > > what's wrong? > > > > > > --------------------------------------------------------------------------- > --- Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From t.i.m at zen.co.uk Thu Dec 10 15:45:21 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Thu, 10 Dec 2009 14:45:21 +0000 Subject: [gst-devel] Installation error In-Reply-To: <200912101538.22181.lists@svrinformatica.it> References: <200912101434.06274.lists@svrinformatica.it> <200912101538.22181.lists@svrinformatica.it> Message-ID: <1260456321.3750.7.camel@zingle> On Thu, 2009-12-10 at 15:38 +0100, Mailing List SVR wrote: > the file grammar.tab.c is not created why? What's the output of make V=1 ? Cheers -Tim From lists at svrinformatica.it Thu Dec 10 16:05:54 2009 From: lists at svrinformatica.it (Mailing List SVR) Date: Thu, 10 Dec 2009 16:05:54 +0100 Subject: [gst-devel] Installation error In-Reply-To: <1260456321.3750.7.camel@zingle> References: <200912101434.06274.lists@svrinformatica.it> <200912101538.22181.lists@svrinformatica.it> <1260456321.3750.7.camel@zingle> Message-ID: <200912101605.54862.lists@svrinformatica.it> In data gioved? 10 dicembre 2009 15:45:21, Tim-Philipp M?ller ha scritto: : > On Thu, 2009-12-10 at 15:38 +0100, Mailing List SVR wrote: > > the file grammar.tab.c is not created why? > > What's the output of make V=1 ? attacched thanks Nicola > > Cheers > -Tim > > > --------------------------------------------------------------------------- > --- Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -------------- next part -------------- root at beagleboard:~/gstreamer/gstreamer-0.10.25# make V=1 Making all in pkgconfig Making all in gst Making all in parse /bin/sh ../../libtool --tag=CC --mode=compile /bin/sh /home/root/gstreamer/gstreamer-0.10.25/common/shave cc gcc -DHAVE_CONFIG_H -I. -I../.. -I../../libs -I../.. -I../../libs -I../.. -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -Wall -Wdeclaration-after-statement -Wvla -Wpointer-arith -g -O2 -MT libgstparse_la-lex._gst_parse_yy.lo -MD -MP -MF .deps/libgstparse_la-lex._gst_parse_yy.Tpo -c -o libgstparse_la-lex._gst_parse_yy.lo lex._gst_parse_yy.c --shave-mode=compile libtool: compile: /bin/sh /home/root/gstreamer/gstreamer-0.10.25/common/shave cc gcc -DHAVE_CONFIG_H -I. -I../.. -I../../libs -I../.. -I../../libs -I../.. -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -Wall -Wdeclaration-after-statement -Wvla -Wpointer-arith -g -O2 -MT libgstparse_la-lex._gst_parse_yy.lo -MD -MP -MF .deps/libgstparse_la-lex._gst_parse_yy.Tpo -c lex._gst_parse_yy.c --shave-mode=compile -fPIC -DPIC -o .libs/libgstparse_la-lex._gst_parse_yy.o gcc -DHAVE_CONFIG_H -I. -I../.. -I../../libs -I../.. -I../../libs -I../.. -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -Wall -Wdeclaration-after-statement -Wvla -Wpointer-arith -g -O2 -MT libgstparse_la-lex._gst_parse_yy.lo -MD -MP -MF .deps/libgstparse_la-lex._gst_parse_yy.Tpo -c lex._gst_parse_yy.c -fPIC -DPIC -o .libs/libgstparse_la-lex._gst_parse_yy.o libtool: compile: /bin/sh /home/root/gstreamer/gstreamer-0.10.25/common/shave cc gcc -DHAVE_CONFIG_H -I. -I../.. -I../../libs -I../.. -I../../libs -I../.. -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -Wall -Wdeclaration-after-statement -Wvla -Wpointer-arith -g -O2 -MT libgstparse_la-lex._gst_parse_yy.lo -MD -MP -MF .deps/libgstparse_la-lex._gst_parse_yy.Tpo -c lex._gst_parse_yy.c --shave-mode=compile -o libgstparse_la-lex._gst_parse_yy.o >/dev/null 2>&1 ./grammar.y: conflicts: 37 shift/reduce, 5 reduce/reduce make[4]: *** [grammar.tab.c] Error 141 make[3]: *** [all-recursive] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 root at beagleboard:~/gstreamer/gstreamer-0.10.25# From lists at svrinformatica.it Thu Dec 10 16:20:39 2009 From: lists at svrinformatica.it (Mailing List SVR) Date: Thu, 10 Dec 2009 16:20:39 +0100 Subject: [gst-devel] Installation error In-Reply-To: <1260456321.3750.7.camel@zingle> References: <200912101434.06274.lists@svrinformatica.it> <200912101538.22181.lists@svrinformatica.it> <1260456321.3750.7.camel@zingle> Message-ID: <200912101620.39703.lists@svrinformatica.it> In data gioved? 10 dicembre 2009 15:45:21, Tim-Philipp M?ller ha scritto: : > On Thu, 2009-12-10 at 15:38 +0100, Mailing List SVR wrote: > > the file grammar.tab.c is not created why? > > What's the output of make V=1 ? additionally during the configure I see this: /bin/sh: can't open /home/root/gstreamer/gstreamer-0.10.25/common/shave make use of stddef.h in _stdint.h (no helpful system typedefs seen) can make some difference? Nicola > > Cheers > -Tim > > > --------------------------------------------------------------------------- > --- Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From ensonic at hora-obscura.de Thu Dec 10 22:54:04 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Thu, 10 Dec 2009 23:54:04 +0200 Subject: [gst-devel] Question on re-do playback with self-developed elements In-Reply-To: References: <3c1737210912032202t4e45a49j458f0ee8175aec4c@mail.gmail.com> Message-ID: <4B216DFC.1060506@hora-obscura.de> Am 04.12.2009 08:17, schrieb Chen, Weian: > > > Thanks, Mike, please see following. > > > > thanks, > > Weian > > -----Original Message----- > From: Michael Smith [mailto:msmith at xiph.org] > Sent: 2009?12?4? 14:02 > To: Discussion of the development of GStreamer > Subject: Re: [gst-devel] Question on re-do playback with self-developed > elements > > > > On Thu, Dec 3, 2009 at 9:55 PM, Chen, Weian wrote: > > > >> Could anybody here give me some hint on what?s the problem here? > >> > > > > I guess some of the downwards state changes are failing. It's hard to > > say why - something inside your code. > > > >> > >> > >> And why the number after videosink will increase? (videosink1, videosink2, > >> videosink3, ?.) > > > > GStreamer gives elements a unique name (unless the application > > provides a name). So, every time totem creates a new video sink, it > > gets an incremented number as part of the automatically-created name. > > > > [Weian] After playing a video, will totem de-construct the pipeline or > just set the state to NULL? Most app throw away everything and start with a new playbin every time. Element reuse need more testing. Stefan > > > > Mike > > > > ------------------------------------------------------------------------------ > > Join us December 9, 2009 for the Red Hat Virtual Experience, > > a free event focused on virtualization and cloud computing. > > Attend in-depth sessions from your desk. Your couch. Anywhere. > > http://p.sf.net/sfu/redhat-sfdev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > ------------------------------------------------------------------------------ > Join us December 9, 2009 for the Red Hat Virtual Experience, > a free event focused on virtualization and cloud computing. > Attend in-depth sessions from your desk. Your couch. Anywhere. > http://p.sf.net/sfu/redhat-sfdev2dev > > > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Thu Dec 10 22:57:06 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Thu, 10 Dec 2009 23:57:06 +0200 Subject: [gst-devel] gst buffer to image In-Reply-To: <200912070148.51758.lists@svrinformatica.it> References: <200912051939.31342.lists@svrinformatica.it> <200912060902.42744.lists@svrinformatica.it> <669348040912060447k320f30ebg2f724e663be7aa6d@mail.gmail.com> <200912070148.51758.lists@svrinformatica.it> Message-ID: <4B216EB2.4060304@hora-obscura.de> Am 07.12.2009 02:48, schrieb Mailing List SVR: > In data domenica 6 dicembre 2009 13:47:20, Gabriel Duarte ha scritto: > : > How! > > Basically you have to use a pipeline like this > > gst.parse_launch('fakesrc name=src ! queue name=queue ! ffmpegcolorspace ! > video/x-raw-rgb,width=320,height=240 ! pngenc ! fakesink name=sink signal- > handoffs=true') > > and then push the frame with something like: > > queue.get_pad('src').push(frame) > > this way you'll get a png image, irks, thats quite a hack. You should atleast use the handoff signal in fakesrc or even better use appsrc. Both playbin and camerabin have such code (see gstscreenshot.c in -base/gst/playback/) Stefan > > Nicola > >> >> On Sun, Dec 6, 2009 at 6:02 AM, Mailing List SVR > wrote: >>> I solved myself pushing the frame to a second pipeline, >>> >>> thanks >>> Nicola >>> >>> In data sabato 5 dicembre 2009 23:27:59, Mailing List SVR ha scritto: >>> : > In data sabato 5 dicembre 2009 19:39:31, Mailing List SVR ha scritto: >>>> : > Hi all, >>>>> >>>>> I'm using a simple playbin pipeline, I can get the last frame with >>>>> something like this: >>>>> >>>>> In [124]: frame=player.get_property("frame") >>>>> >>>>> In [125]: frame >>>>> Out[125]: >>>> >>>> additionally: >>>> >>>> In [34]: frame.get_caps().to_string() >>>> Out[34]: 'video/x-raw-yuv, width=(int)320, height=(int)240, >>>> framerate=(fraction)10/1, format=(fourcc)I420, >>>> interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1' >>>> >>>> I tried this pipeline: >>>> >>>> gst-launch-0.10 -v filesrc location=/tmp/frame ! "video/x-raw-yuv, >>>> width=(int)320, height=(int)240, framerate=(fraction)10/1, >>>> format=(fourcc)I420, interlaced=(boolean)false, pixel-aspect- >>>> ratio=(fraction)1/1" ! jpegenc ! filesink location=test.jpg >>>> >>>> but the jpg generated is bad (attacched). I attacch also the saved >>>> frame.data >>>> >>>>> now I can access frame.data that would be the raw frame data, but how >>> >>> to >>> >>>>> convert this frame to a jpg or png image? I tried to save the frame >>>>> to >>> >>> a >>> >>>>> file and to convert with jpegenc and pngenc with no success, any >>>>> suggestions? >>>>> >>>>> thanks >>>>> Nicola >>> >>> ------------------------------------------------------------------------- >>> >>>>> -- --- Join us December 9, 2009 for the Red Hat Virtual Experience, a >>> >>> free >>> >>>>> event focused on virtualization and cloud computing. >>>>> Attend in-depth sessions from your desk. Your couch. Anywhere. >>>>> http://p.sf.net/sfu/redhat-sfdev2dev >>>>> _______________________________________________ >>>>> gstreamer-devel mailing list >>>>> gstreamer-devel at lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>> >>> ------------------------------------------------------------------------- >>> ----- Join us December 9, 2009 for the Red Hat Virtual Experience, >>> a free event focused on virtualization and cloud computing. >>> Attend in-depth sessions from your desk. Your couch. Anywhere. >>> http://p.sf.net/sfu/redhat-sfdev2dev >>> _______________________________________________ >>> gstreamer-devel mailing list >>> gstreamer-devel at lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> > > ------------------------------------------------------------------------------ > Join us December 9, 2009 for the Red Hat Virtual Experience, > a free event focused on virtualization and cloud computing. > Attend in-depth sessions from your desk. Your couch. Anywhere. > http://p.sf.net/sfu/redhat-sfdev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Thu Dec 10 22:59:58 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Thu, 10 Dec 2009 23:59:58 +0200 Subject: [gst-devel] pygst tagging In-Reply-To: <200912052106.01076.regomodo@googlemail.com> References: <200912052106.01076.regomodo@googlemail.com> Message-ID: <4B216F5E.4040207@hora-obscura.de> Am 05.12.2009 23:06, schrieb regomodo: > Hi, > > Currently in my application I am using tagpy for audio-file tagging duties. I > have seen that it is possible to use pygst for this instead. However, I can't > find any documentation to figure out how to do so. > > Is there any documentation to do this? Would pygst allow tagging of aac files? It not very straight forward. You would basically remux the files and when doing that replace the metadata. Reading the metadata is easy. The more difficult part would be to choose the right muxer for the demuxer in use. Then you would use the tagsetter interface on the pipeline to write the changed tags. Stefan > > Regards > > Reg > > ------------------------------------------------------------------------------ > Join us December 9, 2009 for the Red Hat Virtual Experience, > a free event focused on virtualization and cloud computing. > Attend in-depth sessions from your desk. Your couch. Anywhere. > http://p.sf.net/sfu/redhat-sfdev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From t.i.m at zen.co.uk Thu Dec 10 23:59:16 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Thu, 10 Dec 2009 22:59:16 +0000 Subject: [gst-devel] Question on re-do playback with self-developed elements In-Reply-To: <4B216DFC.1060506@hora-obscura.de> References: <3c1737210912032202t4e45a49j458f0ee8175aec4c@mail.gmail.com> <4B216DFC.1060506@hora-obscura.de> Message-ID: <1260485956.3269.7.camel@zingle> On Thu, 2009-12-10 at 23:54 +0200, Stefan Kost wrote: > > [Weian] After playing a video, will totem de-construct the pipeline or > > just set the state to NULL? > > Most app throw away everything and start with a new playbin every time. Element > reuse need more testing. I don't think that's true. All apps I know create a playbin(2) element once at startup and re-use that, setting the state to NULL or READY when changing between songs/videos. Totem certainly does. playbin(2) is meant to be reused. However, playbin(2) will likely remove and free any demuxer/decoder elements it plugged for a stream (after setting them to NULL state), and re-create them for the next stream if needed. Cheers -Tim From todd.fischer at ridgerun.com Fri Dec 11 00:08:02 2009 From: todd.fischer at ridgerun.com (Todd Fischer) Date: Thu, 10 Dec 2009 16:08:02 -0700 Subject: [gst-devel] D-Bus controller GStreamer daemon Message-ID: <1260486482.3615.21992.camel@sax-lx> Hi, Question: Who do I ask to get permission to use a D-Bus name containing "org.freedesktop.gstreamer"? We have started work on a GStreamer daemon (http://sourceforge.net/apps/mediawiki/harrier) that is controlled via D-Bus messages. Does anyone know of other work done in this area? Background: We call the GStreamer daemon gstd. We have a command line utility, call gst-client that can interact with gstd. For example, gst-client create "videotestsrc pattern=0 ! warptv ! ffmpegcolorspace ! ximagesink" The create option returns an ID for the created pipeline - in this case it will be ID 0. gstd allows multiple pipelines to exist at the same time. Now we can start the stream playing: gst-client play --id=0 Once it is playing, we can dynamically set element properties, such as change the pattern generated by videotestsrc gst-client set --id=0 videotestsrc pattern We modeled gst-client after gst-launch, with the ability to dynamically set element properties. gst-client is just an example program showing how to use gstd. We will interact with gstd with GUI applications and web servers. Since we are using D-Bus, we need to have a bus name and corresponding object path. I would like to use D-Bus name: org.freedesktop.gstreamer.gstd D-Bus object path: /org/freedesktop/gstreamer/gstd Note: this approach is similar to the one followed by (the apparently defunct) Gstreamer On-Demand (http://static.fi/~zeenix/repos/god/spec.html) Todd -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.i.m at zen.co.uk Fri Dec 11 01:17:49 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Fri, 11 Dec 2009 00:17:49 +0000 Subject: [gst-devel] D-Bus controller GStreamer daemon In-Reply-To: <1260486482.3615.21992.camel@sax-lx> References: <1260486482.3615.21992.camel@sax-lx> Message-ID: <1260490669.3269.33.camel@zingle> On Thu, 2009-12-10 at 16:08 -0700, Todd Fischer wrote: Hi, > Since we are using D-Bus, we need to have a bus name and corresponding > object path. I would like to use > > D-Bus name: org.freedesktop.gstreamer.gstd > D-Bus object path: /org/freedesktop/gstreamer/gstd This is quite a generic part of the namespace you're planning on taking over here ('gstd' in the GStreamer domain). Any reason not to use e.g. /net/sourceforge/harrier/gstd or /com/ridgerun/harrier/gstd or somesuch? As I see it, what you're exposing is basically an API of some sort, and just like we wouldn't be keen on seeing third party libraries expose API in the GStreamer namespace (not to mention use our domain as origin of some sort), I don't think we'd be keen on this for a dbus-based interface either. But maybe that's just me. Cheers -Tim From todd.fischer at ridgerun.com Fri Dec 11 04:08:04 2009 From: todd.fischer at ridgerun.com (Todd Fischer) Date: Thu, 10 Dec 2009 20:08:04 -0700 Subject: [gst-devel] D-Bus controller GStreamer daemon Message-ID: <1260500884.3615.23438.camel@sax-lx> On Fri, 11 Dec 2009 00:17:49 +0000 Tim-Philipp M?ller wrote: On Thu, 2009-12-10 at 16:08 -0700, Todd Fischer wrote: Hi, > Since we are using D-Bus, we need to have a bus name and corresponding > object path. I would like to use > > D-Bus name: org.freedesktop.gstreamer.gstd > D-Bus object path: /org/freedesktop/gstreamer/gstd This is quite a generic part of the namespace you're planning on taking over here ('gstd' in the GStreamer domain). Any reason not to use e.g. /net/sourceforge/harrier/gstd or /com/ridgerun/harrier/gstd or somesuch? As I see it, what you're exposing is basically an API of some sort, and just like we wouldn't be keen on seeing third party libraries expose API in the GStreamer namespace (not to mention use our domain as origin of some sort), I don't think we'd be keen on this for a dbus-based interface either. But maybe that's just me. Cheers -Tim Tim, I am trying to take of the world, one name space at a time. /com/ridgerun/gstreamer/gstd is fine with me - great advertising. If for some reason gstd gets wider adoption, then I will vote against changing it for compatibility reasons. Since we don't have any deployment yet, I figured it was a good time to ask. Todd -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiagossantos at gmail.com Fri Dec 11 04:14:11 2009 From: thiagossantos at gmail.com (thiagossantos at gmail.com) Date: Fri, 11 Dec 2009 01:14:11 -0200 Subject: [gst-devel] replace ezstream with gst-launch In-Reply-To: <8ccbff060912090952i3405d940p6983d5c8bd0dad1c@mail.gmail.com> References: <8ccbff060912090952i3405d940p6983d5c8bd0dad1c@mail.gmail.com> Message-ID: On Wed, Dec 9, 2009 at 3:52 PM, Dome Charoenyost wrote: > Dear All, > > Now i'm using ezstream to stream .ogv to icecast2. i want to replace > by gst-launch but i don't know how to loop play when end of file. can > someone help me ? > gst-launch doesn't have a 'looping' feature, but a simple small app would do it. Basically the plan is to set up the pipeline, add a bus message watcher and whenever you get EOS, send a seek back to the start of the stream. > > Best Regards. > > Dome C. > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- Thiago Sousa Santos -------------- next part -------------- An HTML attachment was scrubbed... URL: From ananthula.madhu at wipro.com Fri Dec 11 07:03:17 2009 From: ananthula.madhu at wipro.com (ananthula.madhu at wipro.com) Date: Fri, 11 Dec 2009 11:33:17 +0530 Subject: [gst-devel] How to make Video pipeline? Message-ID: <9833F736BF212D438BF4F998F697E4D01C0AFB@BLR-SJP-MBX02.wipro.com> Hi Friends, I wanted to run one .Mpeg, .Mp4, .h264 file with gst-launch. iam able to run with playbin but i was not able to find which components playbin piking up from library to run these files. Curremtly i got support of many video elements. So please help me to run above format files what pipeline i need to create? and how can we get info about playbin like which components it got incorporated. Thanks & Regards Mohan Reddy -------------- next part -------------- An HTML attachment was scrubbed... URL: From sumanth.v at allaboutif.com Fri Dec 11 07:14:32 2009 From: sumanth.v at allaboutif.com (Sumanth V) Date: Fri, 11 Dec 2009 11:44:32 +0530 Subject: [gst-devel] How to make Video pipeline? In-Reply-To: <9833F736BF212D438BF4F998F697E4D01C0AFB@BLR-SJP-MBX02.wipro.com> References: <9833F736BF212D438BF4F998F697E4D01C0AFB@BLR-SJP-MBX02.wipro.com> Message-ID: <83b2c1480912102214oaadd667h3d34b5d632290fba@mail.gmail.com> Use -v at the end of your pipeline, it prints all the elements used by gst-launch. You can use those elements to construct a a pipeline. Regards, Sumanth On Fri, Dec 11, 2009 at 11:33 AM, wrote: > Hi Friends, > > I wanted to run one .Mpeg, .Mp4, .h264 file with gst-launch. iam able to > run with playbin but i was not able to find which components playbin piking > up from library to run these files. Curremtly i got support of many video > elements. > So please help me to run above format files what pipeline i need to create? > and how can we get info about playbin like which components it got > incorporated. > > Thanks & Regards > Mohan Reddy > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mbeihoffer at gmail.com Fri Dec 11 10:37:21 2009 From: mbeihoffer at gmail.com (Mark Beihoffer) Date: Fri, 11 Dec 2009 03:37:21 -0600 Subject: [gst-devel] Namespaces Message-ID: Just my 2 cents: I like the Harrier namespace better than the GOD namespace for conventional reasons. But, even "Albatross" would probably fly a little bit better than just GOD. If you want to go omnipotent, however, you can't go wrong with the Flying Spaghetti Monster (but the code can be a real bear to maintain.) Frankly, I'd be fine with anything playing along nice with D-BUS, as long as the namespace is cleared with the appropriate Zen/God/Odin Zeus/Isis/Hera authorit(y|ies) before just deploying stuff all willy-nilly over the place (or making the API really really really hard to find.) I like Gstreamer and what I've seen of it so far is incredible, but it would be nice to know what type of angry god I will provoke mucking around with my installation, or if it's truly Zen, then we're all cool. If it's DarkOverLordXenu, I'd say there might be issues, but then again, I've dealt with him before and he's not such a bad chap. My vote is for the Harrier namespace, since *everyone* can use one of those. - Mark Beihoffer a.k.a. Jack Merlot -------------- next part -------------- An HTML attachment was scrubbed... URL: From olivier.aubert at liris.cnrs.fr Fri Dec 11 13:37:59 2009 From: olivier.aubert at liris.cnrs.fr (Olivier Aubert) Date: Fri, 11 Dec 2009 13:37:59 +0100 Subject: [gst-devel] gst buffer to image In-Reply-To: <4B216EB2.4060304@hora-obscura.de> References: <200912051939.31342.lists@svrinformatica.it> <200912060902.42744.lists@svrinformatica.it> <669348040912060447k320f30ebg2f724e663be7aa6d@mail.gmail.com> <200912070148.51758.lists@svrinformatica.it> <4B216EB2.4060304@hora-obscura.de> Message-ID: <1260535079.3383.9.camel@pennylane> > irks, thats quite a hack. You should atleast use the handoff signal in fakesrc > or even better use appsrc. Both playbin and camerabin have such code (see > gstscreenshot.c in -base/gst/playback/) This snapshot/conversion issue is becoming a FAQ (search for the keyword "snapshot" in the mailing-list archive). I will maybe find some time next week to propose a FAQ entry with appropriate information. As for using the handoff signal or using appsrc, I think that this advice cannot be followed when programming in python, as long as the following bug (for which I have proposed a patch) remains open: https://bugzilla.gnome.org/show_bug.cgi?id=589582 I have proposed on this list 2 different solutions for snapshotting (one based on a pipeline conversion of the playbin.props.frame data, and the other one using a dedicated pipeline with a custom sink). I am now using the last one for my video annotation application (cf http://www.advene.org/ ), but I would very much like to also be able to use the first one, for the live stream annotation case (live annotation of a webcam stream). Regards, Olivier From hadess at hadess.net Fri Dec 11 17:18:43 2009 From: hadess at hadess.net (Bastien Nocera) Date: Fri, 11 Dec 2009 16:18:43 +0000 Subject: [gst-devel] Gran Canaria meeting notes In-Reply-To: <1258212109.25268.9.camel@ana.amantes> References: <1258212109.25268.9.camel@ana.amantes> Message-ID: <1260548323.3311.2042.camel@localhost.localdomain> On Sat, 2009-11-14 at 16:21 +0100, Thomas Vander Stichele wrote: > == Supporting KDE/Qt better == > * Need examples of GMainloop/QtMainloop examples > * Widget examples > * applies to OS/X and Windows too - provide more platform example code > > * KDE people say GSTreamer backend for Phonon sucks > * We don't know who is working on it > * Video support in Phonon unimplemented > * Need to get the word out and invite people into #gstreamer See also: http://blogs.fsfe.org/mario/?p=35&cpage=1#comment-21 Cheers From luca.pamparana at gmail.com Fri Dec 11 18:32:15 2009 From: luca.pamparana at gmail.com (Luca Pamparana) Date: Fri, 11 Dec 2009 17:32:15 +0000 Subject: [gst-devel] Newbie question about using gstreamer in my code Message-ID: <94ca0b990912110932x399a28bxfbf12d6f317f992b@mail.gmail.com> Hello everyone, I am considering using gstreamer as the media API in my code. I have a simple requirement where I would simply like to play a simple wave file and be able to stop it while it is playing. Is there some example code that shows one how to do that? Do I need to make my application multithreaded cause the example code that I saw had some sort of an event loop and it looked a bit complicated! I would be very grateful for any help you can give me. Cheers, Luca From ensonic at hora-obscura.de Fri Dec 11 22:18:56 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Fri, 11 Dec 2009 23:18:56 +0200 Subject: [gst-devel] Question on re-do playback with self-developed elements In-Reply-To: <1260485956.3269.7.camel@zingle> References: <3c1737210912032202t4e45a49j458f0ee8175aec4c@mail.gmail.com> <4B216DFC.1060506@hora-obscura.de> <1260485956.3269.7.camel@zingle> Message-ID: <4B22B740.4050702@hora-obscura.de> Am 11.12.2009 00:59, schrieb Tim-Philipp M?ller: > On Thu, 2009-12-10 at 23:54 +0200, Stefan Kost wrote: > >>> [Weian] After playing a video, will totem de-construct the pipeline or >>> just set the state to NULL? >> >> Most app throw away everything and start with a new playbin every time. Element >> reuse need more testing. > > I don't think that's true. All apps I know create a playbin(2) element > once at startup and re-use that, setting the state to NULL or READY when > changing between songs/videos. Totem certainly does. playbin(2) is meant > to be reused. > > However, playbin(2) will likely remove and free any demuxer/decoder > elements it plugged for a stream (after setting them to NULL state), and > re-create them for the next stream if needed. Fair enough, but that was new to me. Also we definitely need unit test for it, as apparently its not very smooth yet :/ Stefan > > Cheers > -Tim > > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Fri Dec 11 22:23:16 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Fri, 11 Dec 2009 23:23:16 +0200 Subject: [gst-devel] Sample code using camerabin In-Reply-To: <924803.5042.qm@web28402.mail.ukl.yahoo.com> References: <924803.5042.qm@web28402.mail.ukl.yahoo.com> Message-ID: <4B22B844.5000106@hora-obscura.de> Am 09.12.2009 11:57, schrieb Albert Costa: > Hi, > I wonder if anyone has a simple example of code using camerabin? I had > developped my own pipeline for display/record but would like to compare > it to camerabin that seems interesting. I would appreciate if anyone has > already some running example (on win32 even better). > Best regards, > Al gst-plugins-base/tests/examples/camerabin Stefan > > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > > > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Fri Dec 11 22:24:56 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Fri, 11 Dec 2009 23:24:56 +0200 Subject: [gst-devel] angstrom, gstreamer omapfb inside a window In-Reply-To: <200912091400.30752.lists@svrinformatica.it> References: <200912091322.48695.lists@svrinformatica.it> <200912091400.30752.lists@svrinformatica.it> Message-ID: <4B22B8A8.2040202@hora-obscura.de> Am 09.12.2009 15:00, schrieb Mailing List SVR: > Using xvimagesink instead of omapfbsink works but after some stop/play > sequence I get this error: > > (player.py:2226): GStreamer-CRITICAL **: gst_pad_alloc_buffer_full: assertion > `size >= 0' failed > Error: ('GStreamer encountered a general stream error.', 'gstavidemux.c(4219): > gst_avi_demux_loop (): > /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstAviDemux:avidemux0:\nstreaming > stopped, reason error') set G_DEBUG=fatal_criticals and break on it in gdb. File a bug with the backtrace. Stefan > > Nicola > > In data mercoled? 9 dicembre 2009 13:22:48, Mailing List SVR ha scritto: > : > Hi, >> >> I'm trying to use gstreamer on angstrom to provide basic video playback for >> my beagleboard >> app, >> >> I'm unable to embed the video widget inside my window, I'm using a really >> simple pipeline: >> >> gst.parse_launch("playbin uri=file:///tmp/test.avi") >> >> and I set the window to which attach the video, as usual, with >> set_xwindow_id, the video goes fullscreen and not in my window (the same >> code works fine in a standard pc) >> >> Seems there are problems with omapfbsink, here is the error: >> >> Error: ('Resource not found.', 'omapfb.c(221): >> gst_omapfbsink_handle_xevents (): /GstPipeline:pipeline0/GstOmapFbSink:o) >> >> >> >> any hints? >> >> Nicola >> >> >> --------------------------------------------------------------------------- >> --- Return on Information: >> Google Enterprise Search pays you back >> Get the facts. >> http://p.sf.net/sfu/google-dev2dev >> _______________________________________________ >> gstreamer-devel mailing list >> gstreamer-devel at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Fri Dec 11 22:30:59 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Fri, 11 Dec 2009 23:30:59 +0200 Subject: [gst-devel] would my app be possible with gstreamer? In-Reply-To: <4d9743be0912090955r2fa1e931hb1fa018a1e91b7da@mail.gmail.com> References: <4d9743be0912090955r2fa1e931hb1fa018a1e91b7da@mail.gmail.com> Message-ID: <4B22BA13.7000707@hora-obscura.de> hi, Am 09.12.2009 19:55, schrieb mariano: > Hi, > Following your suggestion at apps section > in the page, I write to ask if > the app that we have in mind is possible with gstreamer. > > The idea is to manage data and media from different sources, in a graph > where each element/node could be scripted, for example with conditions > for triggering them depending on pipeline global variables. > For example, depending on what happens inside an element, to transform > and send the result data to one source pad or another (branching) or > keep on processing the same element till it receives a signal/event from > outside (conditional looping). > Being able to receive events from this sources, would also be really > indispensable, but as far as I know, that's completely possible. Its still quite vague what you want to do :/ What kind of processing? What does it mean to "keep on processing the same element" and so on. > > We would also like to "talk" to different pieces of hardware, each one > with an specific protocol, for example copperlan, osc, midi, ad-hoc > serial-based protocols and so on. The app would play as a translator and > mapper between all these heterogeneous data. This is something that you need to implement. Also be aware that even though gst is format agnostic, I don't know of examples that actually send midi/osc from element to element (in case that is what you want to do). It should be perfectly fine to hookup osc to parameters on elements. > > We also have kind of a big requirement on using Qt as the GUI framework, > I guess that would be also possible, but I could not find any > non-trivial resources on this subject. Yes, having some qt examples (especially how to handle the glib mainloop) would be nice to have - imho gst-plugin-gl has some qt example. Stefan > > I would really appreciate your help > thanks in advance > > mariano > > > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > > > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Fri Dec 11 22:33:43 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Fri, 11 Dec 2009 23:33:43 +0200 Subject: [gst-devel] Installation error In-Reply-To: <200912101538.22181.lists@svrinformatica.it> References: <200912101434.06274.lists@svrinformatica.it> <200912101538.22181.lists@svrinformatica.it> Message-ID: <4B22BAB7.8060101@hora-obscura.de> Am 10.12.2009 16:38, schrieb Mailing List SVR: > In data gioved? 10 dicembre 2009 14:34:06, Mailing List SVR ha scritto: > : > Hi, >> >> I'm experiencing this installation error: >> >> root at beagleboard:~/gstreamer/gstreamer-0.10.25# ./configure --disable-debug >> -- disable-gst-debug --prefix=/opt/gstreamer/ >> .... >> .... >> >> Configuration >> Version : 0.10.25 >> Source code location : . >> Prefix : /opt/gstreamer >> Compiler : gcc >> Package name : GStreamer source release >> Package origin : Unknown package origin >> >> Documentation (manuals) : no >> Documentation (API) : no >> >> Debug Logging : no >> Pipeline XML load/save : yes >> Command-line parser : yes >> Option parsing in gst_init : yes >> Tracing subsystem : yes >> Allocation tracing : yes >> Plugin registry : yes >> Plugin support : yes >> Network support : yes >> Unit testing support : yes >> >> Debug : no >> Profiling : no >> >> Building examples : yes >> Building test apps : yes >> Building tests that fail : no >> >> root at beagleboard:~/gstreamer/gstreamer-0.10.25# make >> Making all in pkgconfig >> Making all in gst >> Making all in parse >> CC lex._gst_parse_yy.o >> ./grammar.y: conflicts: 37 shift/reduce, 5 reduce/reduce > > the file grammar.tab.c is not created why? > > >> make[4]: *** [grammar.tab.c] Error 141 >> make[3]: *** [all-recursive] Error 1 >> make[2]: *** [all] Error 2 >> make[1]: *** [all-recursive] Error 1 >> make: *** [all] Error 2 >> >> I'm building on arm >> >> what's wrong? >> what versions of bison and flex do you have, are they sufficiently up to date and working? ensonic at hoshi:~:> bison --version bison (GNU Bison) 2.3 ensonic at hoshi:~:> flex --version flex 2.5.35 Stefan From stbya at yahoo.com Sat Dec 12 00:52:15 2009 From: stbya at yahoo.com (S Boucher) Date: Fri, 11 Dec 2009 15:52:15 -0800 (PST) Subject: [gst-devel] Problem with GST_STATE_CHANGE_ASYNC Message-ID: <254426.26400.qm@web56801.mail.re3.yahoo.com> I do a gst_element_set_state() on a pipeline, and it returns GST_STATE_CHANGE_ASYNC. I then call gst_element_get_state() for that same pipeline to wait for the state change to complete, as per the documentation. However, the program never returns from gst_element_get_state(). The pipeline is made up of my own src element, as well as ffmpegcolorspace, panorama, volume, audioconvert, audioresample, autoaudiosink. Help on what to look at would be welcome. __________________________________________________________________ Make your browsing faster, safer, and easier with the new Internet Explorer? 8. Optimized for Yahoo! Get it Now for Free! at http://downloads.yahoo.com/ca/internetexplorer/ From libing195 at 163.com Sat Dec 12 02:05:17 2009 From: libing195 at 163.com (libing195) Date: Sat, 12 Dec 2009 09:05:17 +0800 (CST) Subject: [gst-devel] How can I get the pointer of GValueArray when callback the function of multiudpsink's "get-stats"? Message-ID: <3624686.692671260579917951.JavaMail.coremail@app197.163.com> Hi, everyone. I will use multiudpsink to send udp data to my clients, and I want to get some running parameters of every client through multiudpsink. I have got a method from >>>http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-multiudpsink.html. first, I will set a callback handle to signal "get-stats" g_signal_connect(m_multiudpsink, "get-stats", G_CALLBACK(callback_multudpsink_state), (gpointer)data); then, emit signal "get-stats" by g_signal_emit_by_name(m_multiudpsink, "get-stats",host, port, m_Property); With the document of multiudpsink, we can get client's state will be returned by my callback function. ************************************************************* My question is how or where can I get pointer of GValueArray ? ************************************************************* GValueArray* user_function (GstMultiUDPSink *gstmultiudpsink, gchar *host, gint port, gpointer user_data) Thanks ! libing195 at 163.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From thiagossantos at gmail.com Sun Dec 13 02:44:27 2009 From: thiagossantos at gmail.com (thiagossantos at gmail.com) Date: Sat, 12 Dec 2009 23:44:27 -0200 Subject: [gst-devel] Problem with GST_STATE_CHANGE_ASYNC In-Reply-To: <254426.26400.qm@web56801.mail.re3.yahoo.com> References: <254426.26400.qm@web56801.mail.re3.yahoo.com> Message-ID: On Fri, Dec 11, 2009 at 9:52 PM, S Boucher wrote: > I do a gst_element_set_state() on a pipeline, and it returns > GST_STATE_CHANGE_ASYNC. > > I then call gst_element_get_state() for that same pipeline to wait for the > state change to complete, as per the documentation. However, the program > never returns from gst_element_get_state(). > > The pipeline is made up of my own src element, as well as ffmpegcolorspace, > panorama, volume, audioconvert, audioresample, autoaudiosink. > > Help on what to look at would be welcome. > If the state you're setting to is GST_STATE_PLAYING, the sink needs to receive data in order to preroll and effectively change to the PLAYING state (that's when the get_state call would return). Are you sure your src element is providing data to the pipeline? > > > > > __________________________________________________________________ > Make your browsing faster, safer, and easier with the new Internet > Explorer? 8. Optimized for Yahoo! Get it Now for Free! at > http://downloads.yahoo.com/ca/internetexplorer/ > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -- Thiago Sousa Santos -------------- next part -------------- An HTML attachment was scrubbed... URL: From ceyusa at gmail.com Sun Dec 13 16:29:33 2009 From: ceyusa at gmail.com (=?ISO-8859-1?Q?Victor_Manuel_J=E1quez_Leal?=) Date: Sun, 13 Dec 2009 16:29:33 +0100 Subject: [gst-devel] jpegparse - bug 583098 Message-ID: Hi, I'm just wondering if somebody can take a look to the proposed patch in https://bugzilla.gnome.org/show_bug.cgi?id=583098 and hopefully commit it :) Cheers vmjl From mjoachimiak at gmail.com Sun Dec 13 19:32:35 2009 From: mjoachimiak at gmail.com (Michael Joachimiak) Date: Sun, 13 Dec 2009 20:32:35 +0200 Subject: [gst-devel] gstrtpbin negotiation problem Message-ID: <7c857e8c0912131032o31766364lb45d5eae77d94cfe@mail.gmail.com> Hi, I am running these pipelines: Sender: gst-launch -vvv gstrtpbin name=rtpbin n264senc name=s264 rframes=2 frames=100 width=400 height=240 q=26 qintra=26 skip=0 filtermode=1 modes=0x78 maxBytePerSlice=10240 rdo=0 prof=3 intraFreq=0 idrFreq=10 ! video/x-h264,width=400,height=240 ! rtph264pay ! rtpbin.send_rtp_sink_0 v4l2src device=/dev/video1 ! video/x-raw-yuv,width=640,height=480,framerate=15/1 ! videocrop left=0 top=0 bottom=240 right=240 ! ffmpegcolorspace ! s264.sink_right v4l2src device=/dev/video0 ! video/x-raw-yuv,width=640,height=480,framerate=15/1 ! videocrop top=0 left=0 bottom=240 right=240 ! ffmpegcolorspace ! s264.sink_left rtpbin.send_rtp_src_0 ! udpsink host=127.0.0.1 port=5000 Receiver: gst-launch -vvv gstrtpbin name=rtpbin udpsrc port=5000 ! rtph264depay ! queue2 use-buffering=true ! h264parse ! n264sdec ! xvimagesink And I get this error: :2378:gst_base_src_loop: error: streaming task paused, reason not-negotiated (-4) 0:00:06.019525386 4233 0xdfa000 INFO GST_ERROR_SYSTEM gstelement.c:1763:gst_element_message_full: posting message: Internal data flow error. 0:00:06.019539145 4233 0xdfa000 INFO GST_ERROR_SYSTEM gstelement.c:1786:gst_element_message_full: posted error message: Internal data flow error. 0:00:06.019592574 4233 0xdfa070 INFO GST_STATES gstbin.c:2824:bin_handle_async_done: setting state from PAUSED to PAUSED, pending PLAYING 0:00:06.019609615 4233 0xdfa070 INFO GST_STATES gstbin.c:2844:bin_handle_async_done: continue state change, pending PLAYING ERROR: from element /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0: Internal GStreamer error: negotiation problem. Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer. Additional debug info: gstbasertpdepayload.c(360): gst_base_rtp_depayload_chain (): /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0: Not RTP format was negotiated When the receiver is remote device streaming is working correctly. Any ideas why, please? -- Your Sincerely Michal Joachimiak -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.i.m at zen.co.uk Sun Dec 13 19:55:58 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Sun, 13 Dec 2009 18:55:58 +0000 Subject: [gst-devel] Problem with GST_STATE_CHANGE_ASYNC In-Reply-To: <254426.26400.qm@web56801.mail.re3.yahoo.com> References: <254426.26400.qm@web56801.mail.re3.yahoo.com> Message-ID: <1260730558.3244.3.camel@zingle> On Fri, 2009-12-11 at 15:52 -0800, S Boucher wrote: > I do a gst_element_set_state() on a pipeline, and it returns > GST_STATE_CHANGE_ASYNC. > > I then call gst_element_get_state() for that same pipeline to wait for > the state change to complete, as per the documentation. However, the > program never returns from gst_element_get_state(). > > The pipeline is made up of my own src element, as well as > ffmpegcolorspace, panorama, volume, audioconvert, audioresample, > autoaudiosink. > > Help on what to look at would be welcome. In addition to what Thiago said, try replacing gst_element_get_state() with something like this: msg = gst_bus_timed_pop_filtered (bus, 5 * GST_SECOND, GST_MESSAGE_ASYNC_DONE | GST_MESSAGE_ERROR); This will abort and give you an error message instead of hanging forever if the state change can't be performed (or time out with no message if it takes too long for some reason). Cheers -Tim From jeffrey at jeffreyray.info Sun Dec 13 19:32:52 2009 From: jeffrey at jeffreyray.info (Jeffrey Ray) Date: Sun, 13 Dec 2009 13:32:52 -0500 Subject: [gst-devel] Win32/Perl Bindings/gstreamer-0.10.pc Message-ID: <4B253354.2020102@jeffreyray.info> I am running attempting to install the Perl bindings GStreamer on a windows machine (vista, with perl being the lastest version of camelbox). I get this message when I run perl makefile.pl. Package gstreamer-0.10 was not found in the pkg-config search path. > Perhaps you should add the directory containing `gstreamer-0.10.pc' > to the PKG_CONFIG_PATH environment variable I have installed the GStreamer binaries (and the dev package) from this location: http://www.gstreamer-winbuild.ylatuya.es/doku.php?id=start It does not include the gstreamer-0.10.pc file. How do I acquire/create this file? Am I going to have to build GStreamer myself? It is worth noting that the GStreamer binaries above are compiled with Microsoft tools and camelbox and the libraries included with it (gtk, glib, etc) are compiled with gcc? My gut tells me yes... Thank you in advance! -Jeff From ylatuya at gmail.com Sun Dec 13 21:02:18 2009 From: ylatuya at gmail.com (Andoni Morales) Date: Sun, 13 Dec 2009 21:02:18 +0100 Subject: [gst-devel] Win32/Perl Bindings/gstreamer-0.10.pc In-Reply-To: <4B253354.2020102@jeffreyray.info> References: <4B253354.2020102@jeffreyray.info> Message-ID: <772db3280912131202i2b0a2ccfo1ca47a0f96314723@mail.gmail.com> 2009/12/13 Jeffrey Ray : > I am running attempting to install the Perl bindings GStreamer on a windows machine (vista, with perl being the lastest version of camelbox). I get this message when I run perl makefile.pl. > > > Package gstreamer-0.10 was not found in the pkg-config search path. >> ? ?Perhaps you should add the directory containing `gstreamer-0.10.pc' >> ? ? ?to the PKG_CONFIG_PATH environment variable > > > I have installed the GStreamer binaries (and the dev package) from this location: > > http://www.gstreamer-winbuild.ylatuya.es/doku.php?id=start > > It does not include the gstreamer-0.10.pc file. ?How do I acquire/create this file? Am I going to have to build GStreamer myself? It is worth noting that the GStreamer binaries above are compiled with Microsoft tools and camelbox and the libraries included with it (gtk, glib, etc) are compiled with gcc? My gut tells me yes... > Hi, In the beginning GStreamer Winbuilds was intended to be used with VS, and for this reason we were only including the import libraries, but we are working to improve the integration with mingw so other FFOS projects can take benefit of it. The objective was to provide a simple way for windows developers to work with GStreamer without having to worry about all the external dependencies and be able to compile GStreamer with a simple click, in the Windows way :p Las week I was able to build all the gstreamer modules with mingw, but if you only need to build the bindings without having to compile everything you can just modify the pkgconfig files that comes in the gstreamer sources[0] and changes the @prefix@, @libdir@, etc.. values to your installation path (which should be c:\gstreamer, c:\gstreamer\lib, etc..). The current installer doesn't update the prefix of the pkgconfig files and those files point to wrong dirs, but we have for that a set a templates[1]. So you will need to replace @SHARED_BUILD_DIR@ with c:\gstreamer with sed for example. Doing these steps you should be able to build the bindings. Regarding the compatibility between the GStreamer binaries built using MSVC and other binaries built using GCC, you don't have to fear anything. Even if the binaries are built using MSVC, they are linked against the old crt, msvcrt.dll, and not the 9.0 crt, which is the one used by mingw. In fact, all the external dependencies like glib, pango, cairo, etc.. are built with gcc while the gstreamer binaries are built with MSVC. As I said we are working hard to do everything in the Linux way, and in the next release we will try to include all the files needed to build projects depending on GStreamer using mingw. Cheers, Andoni [0]http://cgit.freedesktop.org/gstreamer/gstreamer/tree/pkgconfig [1]http://code.google.com/p/ossbuild/source/browse/trunk/Shared/Build/Windows/Win32/templates/ > Thank you in advance! > > -Jeff > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -- Andoni Morales Alastruey LongoMatch:The Digital Coach http://www.longomatch.ylatuya.es From luca.pamparana at gmail.com Mon Dec 14 00:14:14 2009 From: luca.pamparana at gmail.com (Luca Pamparana) Date: Sun, 13 Dec 2009 23:14:14 +0000 Subject: [gst-devel] Pausing/Stopping an audio file Message-ID: <94ca0b990912131514m25ec60den939141d334d90d4c@mail.gmail.com> Hello, The gstreamer documentation is good but it really lacks some basic examples which would make using it so much easier for people like me who would like to adopt it. I have an application where I am playing audio file but it seems so difficult to figure out how to pause/resume an existing playing file or stopping it. I think it would be really useful if someone added these examples to the documentation. I would be really grateful if someone has an example or can point me in the right direction as to what to use for doing this. Cheers, Luca From uday.karan at gmail.com Mon Dec 14 02:23:00 2009 From: uday.karan at gmail.com (Uday Verma) Date: Sun, 13 Dec 2009 19:23:00 -0600 Subject: [gst-devel] HD-SDI/DVI HD capture support Message-ID: <4f2e7cd30912131723h49f754b6j732a354aed4e645f@mail.gmail.com> Hello All, I am planning on hooking up an HD camera with a Decklink Studio interface .. something like this: http://www.blackmagic-design.com/products/decklink/ I see that they have linux drivers enabled, but I am not sure what kind of video capture support they provide. And if gstreamer can actually receive video data from HD cameras using these interface cards, either over a specific src or v4l2src. I was wondering if anyone has been able to successfully capture video over HD-SDI or DVI using one of the these (or similar) interface cards. If so, it'd be great if you share your experiences. Thanks, Uday -------------- next part -------------- An HTML attachment was scrubbed... URL: From ds at entropywave.com Mon Dec 14 03:36:54 2009 From: ds at entropywave.com (David Schleef) Date: Sun, 13 Dec 2009 21:36:54 -0500 Subject: [gst-devel] Orc-0.4.3 Released Message-ID: <20091214023654.GA1784@cooker.entropywave.com> 0.4.3 ===== New opcodes: all the 32-bit float opcodes from the orc-float library have been moved into the core library. New opcodes: splitlw and splitwb, which are equivalent to select0lw, select1lw, select0wb, and select1wb, except that the new opcodes split a value into two destinations in one opcode. New backend: c64x-c, for the TI C64x+ DSP. This backend only produces source code, unlike other backends which can produce both source and binary code. Generating code for this backend can be done using 'orcc --assembly --target=c64x-c'. Orc now understands and can generate code for two-dimensional arrays. If the size of the array is known at compile time, this information can be used to improve generated code. Various improvements to the ARM backend by Wim Taymans. The ARM backend is still experimental. Links ===== Main page: http://code.entropywave.com/projects/orc/ Download: http://code.entropywave.com/download/orc/ Documentation: http://www.schleef.org/orc/documentation/ ORC - The Oil Runtime Compiler ============================== (and OIL stands for Optimized Inner Loops) Entropy Wave Inc (http://entropywave.com/) presents Orc, the sucessor to Liboil - The Library of Optimized Inner Loops. Orc is a library and set of tools for compiling and executing very simple programs that operate on arrays of data. The "language" is a generic assembly language that represents many of the features available in SIMD architectures, including saturated addition and subtraction, and many arithmetic operations. At this point, developers interested in using Orc should look at the examples and try out a few Orc programs in an experimental branch of their own projects. And provide feedback on how it works. There will likely be some major changes in ease of use from a developer's perspective over the next few releases. The 0.4 series of Orc releases will be API and ABI compatible, and will be incompatible with the 0.5 series when it comes out. It is anticipated that 0.5 will follow in a few months. Features: - Users can create, compile, and run simple programs that use the vector extensions of the CPU, all directly from an application. - Users can compile Orc programs to assembly source code to be compiled and used without linking against the Orc library. - The generic assembly language can be extended by an application by adding new opcodes. - An application can add rules for converting existing or new opcodes to binary code for a specific target. - Current targets: SSE, MMX, ARM, Altivec. (ARM is very limited.) The NEON and TI c64x+ DSP targets are not open source and can be licensed separately from Entropy Wave. - Programs can optionally be emulated, which is useful for testing, or if no rules are available to convert Orc opcodes to executable code. Questions and Answers: - Q: Why not let gcc vectorize my code? A: Two reasons: first, since Orc's assembly language is much more restrictive than C, Orc can generate better code than gcc, and second, Orc can generate code for functions you define at runtime. Many algorithms require gluing together several stages of operations, and if each stage has several options, the total amount of code to cover all combinations could be inconveniently large. - Q: Why not use compiler intrinsics for SIMD code? A: Compiler intrinsics only work for one target, and need to be hand written. Plus, some compilers are very picky about source code that uses intrinsics, and will silently produce slow code. And, of course, you can't compile intrinsics at runtime. - Q: How big is the Orc library? A: Compiled with only one target (SSE), the library size is about 95 kB uncompressed, or 32 kB compressed. The goal is to keep the uncompressed size under about 100 kB. Caveats (Known Bugs): - ? Future directions: - Addition of more complex loop control and array structures. - Addition of an option to compile the Orc library with only the runtime features for a single target, e.g., for embedded systems. - Addition of rewrite rules, which convert an instruction that cannot be converted to binary code into a series of instructions that can. This is necessary since assembly instructions on most targets do not cover all the features of the Orc assembly language. About Entropy Wave: Entropy Wave creates tools that allow content producers and distributors use open video technology. Through use of open source software like GStreamer and Dirac, Entropy Wave's customers save money on licensing costs for encoding and streaming video on the web. Entropy Wave was founded in 2008 by long-time open source developer David Schleef. From jeffrey at jeffreyray.info Mon Dec 14 03:51:00 2009 From: jeffrey at jeffreyray.info (Jeffrey Ray) Date: Sun, 13 Dec 2009 21:51:00 -0500 Subject: [gst-devel] Win32/Perl Bindings/gstreamer-0.10.pc In-Reply-To: <772db3280912131202i2b0a2ccfo1ca47a0f96314723@mail.gmail.com> References: <4B253354.2020102@jeffreyray.info> <772db3280912131202i2b0a2ccfo1ca47a0f96314723@mail.gmail.com> Message-ID: <4B25A814.9080204@jeffreyray.info> Andoni Morales wrote: > Hi, > In the beginning GStreamer Winbuilds was intended to be used with VS, > and for this reason we were only including the import libraries, but > we are working to improve the integration with mingw so other FFOS > projects can take benefit of it. The objective was to provide a simple > way for windows developers to work with GStreamer without having to > worry about all the external dependencies and be able to compile > GStreamer with a simple click, in the Windows way :p > Las week I was able to build all the gstreamer modules with mingw, but > if you only need to build the bindings without having to compile > everything you can just modify the pkgconfig files that comes in the > gstreamer sources[0] and changes the @prefix@, @libdir@, etc.. values > to your installation path (which should be c:\gstreamer, > c:\gstreamer\lib, etc..). > The current installer doesn't update the prefix of the pkgconfig files > and those files point to wrong dirs, but we have for that a set a > templates[1]. So you will need to replace @SHARED_BUILD_DIR@ with > c:\gstreamer with sed for example. Doing these steps you should be > able to build the bindings. > Regarding the compatibility between the GStreamer binaries built using > MSVC and other binaries built using GCC, you don't have to fear > anything. Even if the binaries are built using MSVC, they are linked > against the old crt, msvcrt.dll, and not the 9.0 crt, which is the one > used by mingw. In fact, all the external dependencies like glib, > pango, cairo, etc.. are built with gcc while the gstreamer binaries > are built with MSVC. > As I said we are working hard to do everything in the Linux way, and > in the next release we will try to include all the files needed to > build projects depending on GStreamer using mingw. > Cheers, > Andoni > > > [0]http://cgit.freedesktop.org/gstreamer/gstreamer/tree/pkgconfig > [1]http://code.google.com/p/ossbuild/source/browse/trunk/Shared/Build/Windows/Win32/templates/ > > > Hey, thanks a lot - that was very helpful and informative. I followed your instructions which i believe were: - acquire files from source[0] and edit @vars at . - acquire files from source[1] and replace @SHARED_BUILD_DIR@ with C:\gstreamer - rename all files above to remove .in now when I attempt to build the Perl bindings, i get the output below. C:\gsperl>perl Makefile.PL Including generated API documentation... WARNING: META_MERGE is not a known parameter. 'META_MERGE' is not a known MakeMaker parameter name. Note (probably harmless): No library found for -lgstreamer-0.10 Note (probably harmless): No library found for -lxml2 Note (probably harmless): No library found for -lgobject-2.0 Note (probably harmless): No library found for -lglib-2.0 Note (probably harmless): No library found for -lgthread-2.0 Writing Makefile for GStreamer C:\gsperl>dmake Skip blib\lib/GStreamer.pm (unchanged) Skip blib\arch/GStreamer/Install/gst2perl.h (unchanged) cp build/IFiles.pm blib\arch/GStreamer/Install/Files.pm Skip blib\arch/GStreamer/Install/gst2perl.typemap (unchanged) Skip blib\arch/GStreamer/Install/doctypes (unchanged) Skip blib\arch/GStreamer/Install/gst2perl-autogen.h (unchanged) Skip blib\arch/GStreamer/Install/gst.typemap (unchanged) Skip blib\arch/GStreamer/Install/gst2perl-version.h (unchanged) [ XS xs\Gst.xs ] [ CC xs\Gst.c ] [ XS xs\GstBin.xs ] [ CC xs\GstBin.c ] [ XS xs\GstBuffer.xs ] [ CC xs\GstBuffer.c ] [ XS xs\GstBus.xs ] [ CC xs\GstBus.c ] [ XS xs\GstCaps.xs ] [ CC xs\GstCaps.c ] . . . . [ CC xs\GstTag.c ] [ XS xs\GstTagSetter.xs ] [ CC xs\GstTagSetter.c ] [ XS xs\GstTypeFindFactory.xs ] [ CC xs\GstTypeFindFactory.c ] [ XS xs\GstValue.xs ] [ CC xs\GstValue.c ] Running Mkbootstrap for GStreamer () C:\camelbox\bin\perl.exe -MExtUtils::Command -e chmod 644 GStreamer.bs dlltool --def GStreamer.def --output-exp dll.exp [ LD blib\arch\auto\GStreamer\GStreamer.dll ] xs/Gst.o:Gst.c:(.text+0x47c): undefined reference to `gst_version' xs/Gst.o:Gst.c:(.text+0x5fe): undefined reference to `gst_version_string' xs/Gst.o:Gst.c:(.text+0x669): undefined reference to `g_free' xs/Gst.o:Gst.c:(.text+0x709): undefined reference to `gperl_argv_new' xs/Gst.o:Gst.c:(.text+0x71a): undefined reference to `gst_init' xs/Gst.o:Gst.c:(.text+0x722): undefined reference to `gperl_argv_update' xs/Gst.o:Gst.c:(.text+0x72a): undefined reference to `gperl_argv_free' xs/Gst.o:Gst.c:(.text+0x7e5): undefined reference to `gperl_argv_new' A few notes/questions: when i was editing the files from source[0] - did i need to rename any of the files (other than the extension)? I renamed the gstreamer.pc.in to gstreamer-0.10.pc seems how that is what was being asked for. Looking at the other .pc's some have the version number on the end, some don't. They all had a @VERSION@ variable inside to set - which i set to the version of my gstreamer binary in all files (0.14). Was this correct? Any ideas on where to go from here? Thanks again for all the help. -Jeff From halley.zhao at intel.com Mon Dec 14 07:53:29 2009 From: halley.zhao at intel.com (Zhao, Halley) Date: Mon, 14 Dec 2009 14:53:29 +0800 Subject: [gst-devel] How to decrease CPU consumation for audio recording? Message-ID: <8FED46E8A9CA574792FC7AACAC38FE7714FF94456C@PDSMSX501.ccr.corp.intel.com> I have a simple audio recording pipeline as below. To my surprise it consumes CPU as high as a 640x480 video recording. Could it be optimized to use CPU less? gst-launch alsasrc ! audio/x-raw-int, rate=8000, width=16, depth=16, channel=1 ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink location=test-audio.ogg on a netbook with ATOM 1.6GHZ, ~90 %CPU. Thanks in advance. ZHAO, Halley (Aihua) Email: halley.zhao at intel.com Tel: +86(21)61166476 iNet: 8821-6476 SSG/OTC/Moblin 3W038 Pole: F4 -------------- next part -------------- An HTML attachment was scrubbed... URL: From amelotti at gmail.com Mon Dec 14 15:24:48 2009 From: amelotti at gmail.com (Luiz Augusto Amelotti) Date: Mon, 14 Dec 2009 12:24:48 -0200 Subject: [gst-devel] Video stream format Message-ID: <4c3dd1e0912140624g67ca6fcw4ada4aad9b6fa729@mail.gmail.com> Hi, i'm need to create a pipeline to play a video from network. I created a plugin to receive a stream from a source over network but i can't play it. Using mplayer i got this infos about the stream: libavformat file format detected. [lavf] Video stream found, -vid 0 (...) ========================================================================== Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4) ========================================================================== -------------- next part -------------- An HTML attachment was scrubbed... URL: From amelotti at gmail.com Mon Dec 14 15:27:04 2009 From: amelotti at gmail.com (Luiz Augusto Amelotti) Date: Mon, 14 Dec 2009 12:27:04 -0200 Subject: [gst-devel] Video stream format In-Reply-To: <4c3dd1e0912140624g67ca6fcw4ada4aad9b6fa729@mail.gmail.com> References: <4c3dd1e0912140624g67ca6fcw4ada4aad9b6fa729@mail.gmail.com> Message-ID: <4c3dd1e0912140627p77c0eb2o7611c2d70553af73@mail.gmail.com> Hi, i'm need to create a pipeline to play a video from network. I created a plugin to receive a stream from a source over network but i can't play it. Using mplayer i got this infos about the stream: libavformat file format detected. [lavf] Video stream found, -vid 0 VIDEO: [FMP4] 320x240 0bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s) (...) ========================================================================== Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4) ========================================================================== but i can't find the rigth elements tho play this stream. Can anyone help me with this? []'s -------------- next part -------------- An HTML attachment was scrubbed... URL: From stbya at yahoo.com Mon Dec 14 16:41:52 2009 From: stbya at yahoo.com (S Boucher) Date: Mon, 14 Dec 2009 07:41:52 -0800 (PST) Subject: [gst-devel] Problem with GST_STATE_CHANGE_ASYNC In-Reply-To: Message-ID: <545147.84653.qm@web56808.mail.re3.yahoo.com> --- On Sat, 12/12/09, thiagossantos at gmail.com wrote: > If the state you're setting to is GST_STATE_PLAYING, > the sink needs to receive data in order to preroll and > effectively change to the PLAYING state (that's when the > get_state call would return). Are you sure your src element > is providing data to the pipeline? I changed the code to explicitly go through each intermediate states. gst_get_element_state() hangs right after changing from READY->PAUSED. And with: msg = gst_bus_timed_pop_filtered (bus, 5 * GST_SECOND, GST_MESSAGE_ASYNC_DONE | GST_MESSAGE_ERROR); I get NULL. And with: g_signal_connect (G_OBJECT (bus), "message", G_CALLBACK (on_message), media); I do receive GST_MESSAGE_STATE_CHANGED in the callback. Maybe I'm missing something with regards to threads... __________________________________________________________________ The new Internet Explorer? 8 - Faster, safer, easier. Optimized for Yahoo! Get it Now for Free! at http://downloads.yahoo.com/ca/internetexplorer/ From ensonic at hora-obscura.de Mon Dec 14 22:01:36 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Mon, 14 Dec 2009 23:01:36 +0200 Subject: [gst-devel] Pausing/Stopping an audio file In-Reply-To: <94ca0b990912131514m25ec60den939141d334d90d4c@mail.gmail.com> References: <94ca0b990912131514m25ec60den939141d334d90d4c@mail.gmail.com> Message-ID: <4B26A7B0.1000403@hora-obscura.de> Am 14.12.2009 01:14, schrieb Luca Pamparana: > Hello, > > The gstreamer documentation is good but it really lacks some basic > examples which would make using it so much easier for people like me > who would like to adopt it. > > I have an application where I am playing audio file but it seems so > difficult to figure out how to pause/resume an existing playing file > or stopping it. // PAUSE gst_element_set_state(pipeline, GST_STATE_PAUSED); // CONTINUE gst_element_set_state(pipeline, GST_STATE_PLAYING); Stefan > I think it would be really useful if someone added > these examples to the documentation. > > I would be really grateful if someone has an example or can point me > in the right direction as to what to use for doing this. > > Cheers, > Luca > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Mon Dec 14 23:05:01 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Tue, 15 Dec 2009 00:05:01 +0200 Subject: [gst-devel] How to decrease CPU consumation for audio recording? In-Reply-To: <8FED46E8A9CA574792FC7AACAC38FE7714FF94456C@PDSMSX501.ccr.corp.intel.com> References: <8FED46E8A9CA574792FC7AACAC38FE7714FF94456C@PDSMSX501.ccr.corp.intel.com> Message-ID: <4B26B68D.3060601@hora-obscura.de> Am 14.12.2009 08:53, schrieb Zhao, Halley: > I have a simple audio recording pipeline as below. To my surprise it > consumes CPU as high as a 640x480 video recording. Could it be optimized > to use CPU less? > > gst-launch alsasrc ! audio/x-raw-int, rate=8000, width=16, depth=16, > channel=1 ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink > location=test-audio.ogg 1.) optimize vorbis 2.) add orc opimizations to audioconvert (vorbis-enc wants float input) 3.) we need some optimizations for such pipleines so that audioencoder and audiosrc can negotiate a (max-)buffer size. the encoder would then provide pad_alloc (resuable buffers). this needs same work on audioconvert too Stefan > > > > on a netbook with ATOM 1.6GHZ, ~90 %CPU. > > > > Thanks in advance. > > > > > > *ZHAO, Halley (Aihua)* > > Email: halley.zhao at intel.com > > Tel: +86(21)61166476 > > iNet: 8821-6476 > > SSG/OTC/Moblin 3W038 Pole: F4 > > > > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > > > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From halley.zhao at intel.com Tue Dec 15 02:35:51 2009 From: halley.zhao at intel.com (Zhao, Halley) Date: Tue, 15 Dec 2009 09:35:51 +0800 Subject: [gst-devel] How to decrease CPU consumation for audio recording? In-Reply-To: <4B26B68D.3060601@hora-obscura.de> References: <8FED46E8A9CA574792FC7AACAC38FE7714FF94456C@PDSMSX501.ccr.corp.intel.com> <4B26B68D.3060601@hora-obscura.de> Message-ID: <8FED46E8A9CA574792FC7AACAC38FE77150B79DDA4@PDSMSX501.ccr.corp.intel.com> Thanks for your suggestion. But further information shows vorbisenc doesn't matter much in the pipeline. Either fakesink or vorbisenc will consume 50+% CPU, but arecord only 4% CPU. I will use C programming to identify it is not caused by gst-launch. Maybe buffer size matter here. === audio only + fakesink gst-launch alsasrc ! audio/x-raw-int, rate=8000 ! queue ! fakesink gst-launch 51%CPU, pulseaudio 13%CPU === save audio to ogg/vorbis gst-launch alsasrc ! audio/x-raw-int, rate=8000, width=16, depth=16, channel=1 ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink location=test-audio.ogg gst-launch 57%CPU, pulseaudio 13%CPU === arecord and drop data arecord >/dev/null Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono arecord 4.3%, pulseaudio 2.2% === arecord save to file arecord >test.wav Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono arecord 4.4%, pulseaudio 2.3% -----Original Message----- From: Stefan Kost [mailto:ensonic at hora-obscura.de] Sent: 2009?12?15? 6:05 To: Discussion of the development of GStreamer Cc: Zhao, Halley Subject: Re: [gst-devel] How to decrease CPU consumation for audio recording? Am 14.12.2009 08:53, schrieb Zhao, Halley: > I have a simple audio recording pipeline as below. To my surprise it > consumes CPU as high as a 640x480 video recording. Could it be optimized > to use CPU less? > > gst-launch alsasrc ! audio/x-raw-int, rate=8000, width=16, depth=16, > channel=1 ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink > location=test-audio.ogg 1.) optimize vorbis 2.) add orc opimizations to audioconvert (vorbis-enc wants float input) 3.) we need some optimizations for such pipleines so that audioencoder and audiosrc can negotiate a (max-)buffer size. the encoder would then provide pad_alloc (resuable buffers). this needs same work on audioconvert too Stefan > > > > on a netbook with ATOM 1.6GHZ, ~90 %CPU. > > > > Thanks in advance. > > > > > > *ZHAO, Halley (Aihua)* > > Email: halley.zhao at intel.com > > Tel: +86(21)61166476 > > iNet: 8821-6476 > > SSG/OTC/Moblin 3W038 Pole: F4 > > > > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > > > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From jeffrey at jeffreyray.info Tue Dec 15 03:59:15 2009 From: jeffrey at jeffreyray.info (Jeffrey Ray) Date: Mon, 14 Dec 2009 21:59:15 -0500 Subject: [gst-devel] Win32/Perl Bindings/gstreamer-0.10.pc In-Reply-To: <772db3280912131202i2b0a2ccfo1ca47a0f96314723@mail.gmail.com> References: <4B253354.2020102@jeffreyray.info> <772db3280912131202i2b0a2ccfo1ca47a0f96314723@mail.gmail.com> Message-ID: <4B26FB83.8040704@jeffreyray.info> > > Las week I was able to build all the gstreamer modules with mingw, but > if you only need to build the bindings without having to compile > everything you can just modify the pkgconfig files that comes in the > gstreamer sources[0] and changes the @prefix@, @libdir@, etc.. values > to your installation path (which should be c:\gstreamer, > c:\gstreamer\lib, etc..). > The current installer doesn't update the prefix of the pkgconfig files > and those files point to wrong dirs, but we have for that a set a > templates[1]. So you will need to replace @SHARED_BUILD_DIR@ with > c:\gstreamer with sed for example. Doing these steps you should be > able to build the bindings. > Ok, so I I have deduced why I get the error below when trying to build the perl bindings. I have deduced that it is because the Ext ExtUtils::MakeMaker, a perl utility for makefiles is checking for the existence of libgstreamer-0.10.a libxml2.a libz.a. ... Where can I acquire these files - I don't see them with the Gstreamer winbuilds distribution. Please excuse my ignorance, I am just breaking into the world of C and GNU on windows (perl is my strong point). Once again, thank you for the help! Here is the error message - it is just saying it can't find the files above. C:\gsperl>PERL Makefile.PL Including generated API documentation... Note (probably harmless): No library found for -lgstreamer-0.10 Note (probably harmless): No library found for -lxml2 Note (probably harmless): No library found for -lz Note (probably harmless): No library found for -lgobject-2.0 Note (probably harmless): No library found for -lglib-2.0 Note (probably harmless): No library found for -lgthread-2.0 Writing Makefile for GStreamer From ylatuya at gmail.com Tue Dec 15 11:10:45 2009 From: ylatuya at gmail.com (Andoni Morales) Date: Tue, 15 Dec 2009 11:10:45 +0100 Subject: [gst-devel] Win32/Perl Bindings/gstreamer-0.10.pc In-Reply-To: <4B26FB83.8040704@jeffreyray.info> References: <4B253354.2020102@jeffreyray.info> <772db3280912131202i2b0a2ccfo1ca47a0f96314723@mail.gmail.com> <4B26FB83.8040704@jeffreyray.info> Message-ID: <772db3280912150210q7af03bc5g2d3d30301044a83f@mail.gmail.com> 2009/12/15 Jeffrey Ray : >> >> Las week I was able to build all the gstreamer modules with mingw, but >> if you only need to build the bindings without having to compile >> everything you can just modify the pkgconfig files that comes in the >> gstreamer sources[0] and changes the @prefix@, @libdir@, etc.. values >> to your installation path (which should be c:\gstreamer, >> c:\gstreamer\lib, etc..). >> The current installer doesn't update the prefix of the pkgconfig files >> and those files point to wrong dirs, but we have for that a set a >> templates[1]. So you will need to replace @SHARED_BUILD_DIR@ with >> c:\gstreamer with sed for example. Doing these steps you should be >> able to build the bindings. >> > Ok, so I I have deduced why I get the error below when trying to build > the perl bindings. > > I have deduced that it is because the Ext ExtUtils::MakeMaker, a perl > utility for makefiles is checking for the existence of > > libgstreamer-0.10.a > libxml2.a > ?libz.a. > ... > > Where can I acquire these files - I don't see them with the Gstreamer > winbuilds distribution. Please excuse my ignorance, I am just breaking > into the world of C and GNU on windows (perl is my strong point). > > Once again, thank you for the help! > > Here is the error message - it is just saying it can't find the files above. > > C:\gsperl>PERL Makefile.PL > Including generated API documentation... > Note (probably harmless): No library found for -lgstreamer-0.10 > Note (probably harmless): No library found for -lxml2 > Note (probably harmless): No library found for -lz > Note (probably harmless): No library found for -lgobject-2.0 > Note (probably harmless): No library found for -lglib-2.0 > Note (probably harmless): No library found for -lgthread-2.0 > Writing Makefile for GStreamer Hi Jeff, I released yesterday GStreamer WinBuild 0.10.5, and I did in time to address the minor issues related with the *pc files path. When linking to a library using -lgstreamer-0.10, for example, gcc will try first, by default, to link against a shared library. On windows it will try, in this case, to link against libgstreamer-0.10.dll, and if thi file is not found, it will try to linking statically against libgstreamer-0.10.a. Those files (*.a) are also included in the developers package (c:\gstreamer\lib), but you won't need them if c:\gstreamer\bin is in your system PATH and then gcc is able to link against libgstreamer-0.10.dll. Cheers Andoni > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -- Andoni Morales Alastruey LongoMatch:The Digital Coach http://www.longomatch.ylatuya.es From jyoti.d at allaboutif.com Tue Dec 15 12:54:37 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Tue, 15 Dec 2009 17:24:37 +0530 Subject: [gst-devel] Querying buffering percentage on httpsrc Message-ID: Hi All, I have written an application to play files from http url. I use neonhttpsrc as the src element. I want to query the buffering percentage on the currently playing http file. I want to know how much percentage of data is currently available to play and the percentage of data left. I used the gst_query_parse_buffering_percent(query, &busy, &percent) API to query the percent. But this API gives me the percent as 100 and busy as FALSE; Can someone please guide me on how to query the buffering percentage on live streaming data? Regards, Jyoti -------------- next part -------------- An HTML attachment was scrubbed... URL: From aapo.rantalainen at gmail.com Tue Dec 15 13:35:31 2009 From: aapo.rantalainen at gmail.com (Aapo Rantalainen) Date: Tue, 15 Dec 2009 14:35:31 +0200 Subject: [gst-devel] priority of gnonlin and clutter-toolkit Message-ID: Hi, I'm using gnonlin and clutter together and there are problems with priorities. Gnonlin should have better priority than redraw of Clutter. gnl/gnlcomposition.c:633 /* FIXME : This should be switched to using a g_thread_create() instead * of a g_idle_add(). EXTENSIVE TESTING AND ANALYSIS REQUIRED BEFORE * DOING THE SWITCH !!! */ comp->priv->pending_idle = - g_idle_add ((GSourceFunc) eos_main_thread, (gpointer) comp); + g_idle_add_full (G_PRIORITY_HIGH_IDLE, (GSourceFunc) eos_main_thread, (gpointer) comp, NULL); http://www.clutter-project.org/docs/clutter/stable/clutter-General.html#CLUTTER-PRIORITY-REDRAW--CAPS -Aapo Rantalainen From luca.pamparana at gmail.com Tue Dec 15 13:59:51 2009 From: luca.pamparana at gmail.com (Luca Pamparana) Date: Tue, 15 Dec 2009 12:59:51 +0000 Subject: [gst-devel] Pausing/Stopping an audio file In-Reply-To: <4B26A7B0.1000403@hora-obscura.de> References: <94ca0b990912131514m25ec60den939141d334d90d4c@mail.gmail.com> <4B26A7B0.1000403@hora-obscura.de> Message-ID: <94ca0b990912150459i49d46e0ej3953b1da52297970@mail.gmail.com> > // PAUSE > gst_element_set_state(pipeline, GST_STATE_PAUSED); > > // CONTINUE > gst_element_set_state(pipeline, GST_STATE_PLAYING); That worked perfectly! Many thanks Stefan. /Luca From luca.pamparana at gmail.com Tue Dec 15 14:02:01 2009 From: luca.pamparana at gmail.com (Luca Pamparana) Date: Tue, 15 Dec 2009 13:02:01 +0000 Subject: [gst-devel] Checking if a resource exists in gstreamer Message-ID: <94ca0b990912150502h7e2fb05wbcbb99649dee22f2@mail.gmail.com> Hello, Currently, if the pipeline is passed a URI resource that does not exist or is unavailable, then gstreamer has a hard exit. Is there a gstreamer way to check for the availability opf the resource or maybe change this behaviour to not abort. Cheers, Luca From luca.pamparana at gmail.com Tue Dec 15 15:01:41 2009 From: luca.pamparana at gmail.com (Luca Pamparana) Date: Tue, 15 Dec 2009 14:01:41 +0000 Subject: [gst-devel] recording example Message-ID: <94ca0b990912150601x36948f55m334840145787d4ea@mail.gmail.com> Hello, With some help from this group, I have finally managed to play simple sounds in my application and this is really great. So thanks! Now, what I would like to do is also record sound. Nothing fancy, just start and stop recording from the mic. However, I could not find any recording examples on the net. Can someone point me in the right direction as to what would be needed to get a simple recording happening? Many thanks, Luca From jaalburquerque at cox.net Tue Dec 15 17:33:27 2009 From: jaalburquerque at cox.net (=?ISO-8859-1?Q?Jos=E9?= Alburquerque) Date: Tue, 15 Dec 2009 11:33:27 -0500 Subject: [gst-devel] Using g_singal_emit() in GStreamer Message-ID: <1260894807.22960.14.camel@sweety> Hi everyone. I have a question about using g_signal_emit() with GStreamer. A user in the gtkmm list posted the following statement (see the orignal post[1] for full context): With gstreamer (C) we can used g_signal_emit_by_name to received the tags. ex: for (i = 0; i < n_audio; i++) { g_signal_emit_by_name (pipeline, "get-audio-tags", i, &tags); ... [1] http://mail.gnome.org/archives/gtkmm-list/2009-December/msg00045.html My question is: How can we know which signals can be used this way? Would all these signals have the G_SIGNAL_ACTION flag from the GSignalFlags[2] set? Would that be a safe way to determine which signals in GStreamer can be used this way? Any docs to point me in the right direction would also be welcome. Thanks. [2] http://library.gnome.org/devel/gobject/2.22/gobject-Signals.html#GSignalFlags -- Jos? From sebastian.droege at collabora.co.uk Tue Dec 15 17:54:27 2009 From: sebastian.droege at collabora.co.uk (Sebastian =?ISO-8859-1?Q?Dr=F6ge?=) Date: Tue, 15 Dec 2009 17:54:27 +0100 Subject: [gst-devel] Using g_singal_emit() in GStreamer In-Reply-To: <1260894807.22960.14.camel@sweety> References: <1260894807.22960.14.camel@sweety> Message-ID: <1260896067.32134.19.camel@odin.lan> Am Dienstag, den 15.12.2009, 11:33 -0500 schrieb Jos? Alburquerque: > My question is: > > How can we know which signals can be used this way? Would all these > signals have the G_SIGNAL_ACTION flag from the GSignalFlags[2] set? > Would that be a safe way to determine which signals in GStreamer can > be used this way? Any docs to point me in the right direction would also > be welcome. Thanks. Yes, signals with G_SIGNAL_ACTION are meant to be emitted from outside the element and are handled inside the element. Signals without that flag should be connected to by the outside and are emitted from inside the element. That's the same as for the few action signals in GTK :) For gstreamermm you probably want to provide convenience methods for these action signals. The C# bindings have this -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: Dies ist ein digital signierter Nachrichtenteil URL: From weian.chen at intel.com Wed Dec 16 08:38:08 2009 From: weian.chen at intel.com (Chen, Weian) Date: Wed, 16 Dec 2009 15:38:08 +0800 Subject: [gst-devel] Question on codec_data for H.264 when ES has AnnexB package In-Reply-To: References: Message-ID: Hi All I can get the H.264 ES stream (AnnexB Package) from HW encoder in my encoder element, and I also can get sps/pps NAL unit from the ES, but when I fill the codec_data (decoder configuration record) according to spec, then write the stream into mp4 file format, but the dump *.mp4 is not playable. And the difference between my HW encoder and x264enc is the ES output from HW is AnnexB package and x264enc isn't. Could anybody here tell me the reason? Can AnnexB stream have codec_data? Thanks in advance. Weian -------------- next part -------------- An HTML attachment was scrubbed... URL: From sledgehammer_999 at hotmail.com Wed Dec 16 17:38:40 2009 From: sledgehammer_999 at hotmail.com (sledge hammer) Date: Wed, 16 Dec 2009 18:38:40 +0200 Subject: [gst-devel] Checking if a resource exists in gstreamer In-Reply-To: <94ca0b990912150502h7e2fb05wbcbb99649dee22f2@mail.gmail.com> References: <94ca0b990912150502h7e2fb05wbcbb99649dee22f2@mail.gmail.com> Message-ID: As far as I know, the gstelement that handles the URI should emit a message on the bus. You should have code that catches handles GST_MESSAGE_ERROR that is posted on the bus. There you should shutdown the pipeline and inform the user. If this doesn't happen and gstreamer just crashes all together, then I don't know... > Date: Tue, 15 Dec 2009 13:02:01 +0000 > From: luca.pamparana at gmail.com > To: gstreamer-devel at lists.sourceforge.net > Subject: [gst-devel] Checking if a resource exists in gstreamer > > Hello, > > Currently, if the pipeline is passed a URI resource that does not > exist or is unavailable, then gstreamer has a hard exit. > > Is there a gstreamer way to check for the availability opf the > resource or maybe change this behaviour to not abort. > > Cheers, > Luca > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel _________________________________________________________________ ??? Windows 7: ?????? ??? ????????? ?????????? ??? ????. ?????? ???????????. http://windows.microsoft.com/shop -------------- next part -------------- An HTML attachment was scrubbed... URL: From halley.zhao at intel.com Thu Dec 17 01:51:10 2009 From: halley.zhao at intel.com (Zhao, Halley) Date: Thu, 17 Dec 2009 08:51:10 +0800 Subject: [gst-devel] How to decrease CPU consumation for audio recording? In-Reply-To: <8FED46E8A9CA574792FC7AACAC38FE77150B79DDA4@PDSMSX501.ccr.corp.intel.com> References: <8FED46E8A9CA574792FC7AACAC38FE7714FF94456C@PDSMSX501.ccr.corp.intel.com> <4B26B68D.3060601@hora-obscura.de> <8FED46E8A9CA574792FC7AACAC38FE77150B79DDA4@PDSMSX501.ccr.corp.intel.com> Message-ID: Finally, I found out pulseaudio play a lot in the audio pipeline, if I access alsasrc, hw:0 directly, it could make %cpu half. Then I tried flac instead of vorbis, %CPU is decreased another half. -----Original Message----- From: Zhao, Halley [mailto:halley.zhao at intel.com] Sent: 2009?12?15? 9:36 To: 'Stefan Kost'; 'Discussion of the development of GStreamer' Subject: Re: [gst-devel] How to decrease CPU consumation for audio recording? Thanks for your suggestion. But further information shows vorbisenc doesn't matter much in the pipeline. Either fakesink or vorbisenc will consume 50+% CPU, but arecord only 4% CPU. I will use C programming to identify it is not caused by gst-launch. Maybe buffer size matter here. === audio only + fakesink gst-launch alsasrc ! audio/x-raw-int, rate=8000 ! queue ! fakesink gst-launch 51%CPU, pulseaudio 13%CPU === save audio to ogg/vorbis gst-launch alsasrc ! audio/x-raw-int, rate=8000, width=16, depth=16, channel=1 ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink location=test-audio.ogg gst-launch 57%CPU, pulseaudio 13%CPU === arecord and drop data arecord >/dev/null Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono arecord 4.3%, pulseaudio 2.2% === arecord save to file arecord >test.wav Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono arecord 4.4%, pulseaudio 2.3% -----Original Message----- From: Stefan Kost [mailto:ensonic at hora-obscura.de] Sent: 2009?12?15? 6:05 To: Discussion of the development of GStreamer Cc: Zhao, Halley Subject: Re: [gst-devel] How to decrease CPU consumation for audio recording? Am 14.12.2009 08:53, schrieb Zhao, Halley: > I have a simple audio recording pipeline as below. To my surprise it > consumes CPU as high as a 640x480 video recording. Could it be optimized > to use CPU less? > > gst-launch alsasrc ! audio/x-raw-int, rate=8000, width=16, depth=16, > channel=1 ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink > location=test-audio.ogg 1.) optimize vorbis 2.) add orc opimizations to audioconvert (vorbis-enc wants float input) 3.) we need some optimizations for such pipleines so that audioencoder and audiosrc can negotiate a (max-)buffer size. the encoder would then provide pad_alloc (resuable buffers). this needs same work on audioconvert too Stefan > > > > on a netbook with ATOM 1.6GHZ, ~90 %CPU. > > > > Thanks in advance. > > > > > > *ZHAO, Halley (Aihua)* > > Email: halley.zhao at intel.com > > Tel: +86(21)61166476 > > iNet: 8821-6476 > > SSG/OTC/Moblin 3W038 Pole: F4 > > > > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > > > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------------ Return on Information: Google Enterprise Search pays you back Get the facts. http://p.sf.net/sfu/google-dev2dev _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From virajk at gmail.com Thu Dec 17 06:00:58 2009 From: virajk at gmail.com (Viraj Karandikar) Date: Thu, 17 Dec 2009 10:30:58 +0530 Subject: [gst-devel] How to decrease CPU consumation for audio recording? In-Reply-To: References: <8FED46E8A9CA574792FC7AACAC38FE7714FF94456C@PDSMSX501.ccr.corp.intel.com> <4B26B68D.3060601@hora-obscura.de> <8FED46E8A9CA574792FC7AACAC38FE77150B79DDA4@PDSMSX501.ccr.corp.intel.com> Message-ID: Run oprofile to get detail breakup of the CPU consumption by each element. Even I had similar high CPU load issues with gstreamer. Oprofile helped a lot. Regards, Viraj 2009/12/17 Zhao, Halley > Finally, I found out pulseaudio play a lot in the audio pipeline, if I > access alsasrc, hw:0 directly, it could make %cpu half. > > Then I tried flac instead of vorbis, %CPU is decreased another half. > > > -----Original Message----- > From: Zhao, Halley [mailto:halley.zhao at intel.com] > Sent: 2009?12?15? 9:36 > To: 'Stefan Kost'; 'Discussion of the development of GStreamer' > Subject: Re: [gst-devel] How to decrease CPU consumation for audio > recording? > > Thanks for your suggestion. > But further information shows vorbisenc doesn't matter much in the > pipeline. > Either fakesink or vorbisenc will consume 50+% CPU, but arecord only 4% > CPU. > I will use C programming to identify it is not caused by gst-launch. > Maybe buffer size matter here. > > > > === audio only + fakesink > gst-launch alsasrc ! audio/x-raw-int, rate=8000 ! queue ! fakesink > gst-launch 51%CPU, pulseaudio 13%CPU > > === save audio to ogg/vorbis > gst-launch alsasrc ! audio/x-raw-int, rate=8000, width=16, depth=16, > channel=1 ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink > location=test-audio.ogg > gst-launch 57%CPU, pulseaudio 13%CPU > > === arecord and drop data > arecord >/dev/null > Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono > arecord 4.3%, pulseaudio 2.2% > > === arecord save to file > arecord >test.wav > Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono > arecord 4.4%, pulseaudio 2.3% > > -----Original Message----- > From: Stefan Kost [mailto:ensonic at hora-obscura.de] > Sent: 2009?12?15? 6:05 > To: Discussion of the development of GStreamer > Cc: Zhao, Halley > Subject: Re: [gst-devel] How to decrease CPU consumation for audio > recording? > > Am 14.12.2009 08:53, schrieb Zhao, Halley: > > I have a simple audio recording pipeline as below. To my surprise it > > consumes CPU as high as a 640x480 video recording. Could it be optimized > > to use CPU less? > > > > gst-launch alsasrc ! audio/x-raw-int, rate=8000, width=16, depth=16, > > channel=1 ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink > > location=test-audio.ogg > > 1.) optimize vorbis > 2.) add orc opimizations to audioconvert (vorbis-enc wants float input) > 3.) we need some optimizations for such pipleines so that audioencoder and > audiosrc can negotiate a (max-)buffer size. the encoder would then provide > pad_alloc (resuable buffers). this needs same work on audioconvert too > > Stefan > > > > > > > > > on a netbook with ATOM 1.6GHZ, ~90 %CPU. > > > > > > > > Thanks in advance. > > > > > > > > > > > > *ZHAO, Halley (Aihua)* > > > > Email: halley.zhao at intel.com > > > > Tel: +86(21)61166476 > > > > iNet: 8821-6476 > > > > SSG/OTC/Moblin 3W038 Pole: F4 > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > Return on Information: > > Google Enterprise Search pays you back > > Get the facts. > > http://p.sf.net/sfu/google-dev2dev > > > > > > > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jyoti.d at allaboutif.com Thu Dec 17 07:29:37 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Thu, 17 Dec 2009 11:59:37 +0530 Subject: [gst-devel] help needed on querying buffering percentage on httpsrc Message-ID: Hi All, I have written an application to play files from http url. I use neonhttpsrc as the src element. I want to query the buffering percentage on the currently playing http file. I want to know how much percentage of data is currently available to play and the percentage of data left. I used the gst_query_parse_buffering_percent(query, &busy, &percent) API to query the percent. But this API gives me the percent as 100 and busy as FALSE; Can someone please guide me on how to query the buffering percentage on live streaming data? Regards, Jyoti -------------- next part -------------- An HTML attachment was scrubbed... URL: From jyoti.d at allaboutif.com Thu Dec 17 10:19:03 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Thu, 17 Dec 2009 14:49:03 +0530 Subject: [gst-devel] how is buffering percentage implemented in playbin Message-ID: Hi All, Can someone comment on methodology to detect buffering used in gstplaybasebin.c.. Thanks, Jyoti -------------- next part -------------- An HTML attachment was scrubbed... URL: From wim.taymans at gmail.com Thu Dec 17 11:13:12 2009 From: wim.taymans at gmail.com (Wim Taymans) Date: Thu, 17 Dec 2009 11:13:12 +0100 Subject: [gst-devel] how is buffering percentage implemented in playbin In-Reply-To: References: Message-ID: <1261044792.3136.112.camel@metal> On Thu, 2009-12-17 at 14:49 +0530, Jyoti wrote: > Hi All, > > Can someone comment on methodology to detect buffering used in > gstplaybasebin.c.. Queues are put after the decoders and the fill level of those queues is monitored. Buffering messages are posted on the bus with the fill percentage. The buffering is only activated for a select number of uris, like http and mms. Not sure what you are asking for. Wim > > Thanks, > Jyoti > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From jyoti.d at allaboutif.com Thu Dec 17 11:24:42 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Thu, 17 Dec 2009 15:54:42 +0530 Subject: [gst-devel] how is buffering percentage implemented in playbin In-Reply-To: <1261044792.3136.112.camel@metal> References: <1261044792.3136.112.camel@metal> Message-ID: Thanks for the reply Wim. I am actually looking out to get the buffering status for http uri. I want to display the the current buffering level in percentage. Based on the status I wanna show the buffering status over GUI. Now coming to playbin, how is the monitoring carried out for the fill level of queues? Jyoti On Thu, Dec 17, 2009 at 3:43 PM, Wim Taymans wrote: > On Thu, 2009-12-17 at 14:49 +0530, Jyoti wrote: > > Hi All, > > > > Can someone comment on methodology to detect buffering used in > > gstplaybasebin.c.. > > Queues are put after the decoders and the fill level of those queues is > monitored. Buffering messages are posted on the bus with the fill > percentage. The buffering is only activated for a select number of uris, > like http and mms. Not sure what you are asking for. > > Wim > > > > > > Thanks, > > Jyoti > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer Community > > Take advantage of Verizon's best-in-class app development support > > A streamlined, 14 day to market process makes app distribution fast and > easy > > Join now and get one step closer to millions of Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ gstreamer-devel mailing > list gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wim.taymans at gmail.com Thu Dec 17 11:29:53 2009 From: wim.taymans at gmail.com (Wim Taymans) Date: Thu, 17 Dec 2009 11:29:53 +0100 Subject: [gst-devel] how is buffering percentage implemented in playbin In-Reply-To: References: <1261044792.3136.112.camel@metal> Message-ID: <1261045793.3136.114.camel@metal> On Thu, 2009-12-17 at 15:54 +0530, Jyoti wrote: > Thanks for the reply Wim. > I am actually looking out to get the buffering status for http uri. > I want to display the the current buffering level in percentage. > Based on the status I wanna show the buffering status over GUI. > > Now coming to playbin, how is the monitoring carried out for the fill > level of queues? In a very bad way, don't try to do this. It's better to use the method used in playbin2. Simply put queue2 between the source and the demuxer, you'll see buffering messages being posted. Wim > > Jyoti > > On Thu, Dec 17, 2009 at 3:43 PM, Wim Taymans > wrote: > On Thu, 2009-12-17 at 14:49 +0530, Jyoti wrote: > > Hi All, > > > > Can someone comment on methodology to detect buffering used > in > > gstplaybasebin.c.. > > > Queues are put after the decoders and the fill level of those > queues is > monitored. Buffering messages are posted on the bus with the > fill > percentage. The buffering is only activated for a select > number of uris, > like http and mms. Not sure what you are asking for. > > Wim > > > > > > Thanks, > > Jyoti > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer > Community > > Take advantage of Verizon's best-in-class app development > support > > A streamlined, 14 day to market process makes app > distribution fast and easy > > Join now and get one step closer to millions of Verizon > customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer > Community > Take advantage of Verizon's best-in-class app development > support > A streamlined, 14 day to market process makes app distribution > fast and easy > Join now and get one step closer to millions of Verizon > customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From wl2776 at gmail.com Thu Dec 17 11:47:01 2009 From: wl2776 at gmail.com (Vladimir Eremeev) Date: Thu, 17 Dec 2009 02:47:01 -0800 (PST) Subject: [gst-devel] How to pause a playbin after the first frame is displayed? Message-ID: <26826197.post@talk.nabble.com> Hi all. I am rather new to GStreamer and developing a player with simple editing capabilities (cut and merge). This is going to be an ActiveX control. The previous version of this player was developed with DirectShow, and I must copy its behavior as much exactly as possible. Now I need an analog of StopWhenReady functionality. This function stops the DS graph after it displays the first frame. How can I implement this? -- View this message in context: http://old.nabble.com/How-to-pause-a-playbin-after-the-first-frame-is-displayed--tp26826197p26826197.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From jyoti.d at allaboutif.com Thu Dec 17 12:09:26 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Thu, 17 Dec 2009 16:39:26 +0530 Subject: [gst-devel] how is buffering percentage implemented in playbin In-Reply-To: <1261045793.3136.114.camel@metal> References: <1261044792.3136.112.camel@metal> <1261045793.3136.114.camel@metal> Message-ID: I am writing an application where in I want to show the buffering status. Is it not possible to monitor the level of queue in an application? My motto is to display the buffering status something as below. +--------------------------------------------------------------------------------- + * *|* Buffering Progress Bar* | | | | |*=======*|...........|...........|...........|...........|...........|...........|...........|...........| | | 0 10 20 30 40 50 60 70 80 90 100 | * | 20% complete |* | |<------------------------ *Total Duration*------------------------>| | | | +----------------------------------------------------------------------------------+ I want to continuously show how much percent is been downloaded and how much is remaining. And also I want to start the playback only after say 10% of the total data is downloaded so as to get the uninterrupted playback. Can you please suggest some ideas on this. Thanks, Jyoti On Thu, Dec 17, 2009 at 3:59 PM, Wim Taymans wrote: > On Thu, 2009-12-17 at 15:54 +0530, Jyoti wrote: > > Thanks for the reply Wim. > > I am actually looking out to get the buffering status for http uri. > > I want to display the the current buffering level in percentage. > > Based on the status I wanna show the buffering status over GUI. > > > > Now coming to playbin, how is the monitoring carried out for the fill > > level of queues? > > In a very bad way, don't try to do this. It's better to use the method > used in playbin2. Simply put queue2 between the source and the demuxer, > you'll see buffering messages being posted. > > Wim > > > > > Jyoti > > > > On Thu, Dec 17, 2009 at 3:43 PM, Wim Taymans > > wrote: > > On Thu, 2009-12-17 at 14:49 +0530, Jyoti wrote: > > > Hi All, > > > > > > Can someone comment on methodology to detect buffering used > > in > > > gstplaybasebin.c.. > > > > > > Queues are put after the decoders and the fill level of those > > queues is > > monitored. Buffering messages are posted on the bus with the > > fill > > percentage. The buffering is only activated for a select > > number of uris, > > like http and mms. Not sure what you are asking for. > > > > Wim > > > > > > > > > > Thanks, > > > Jyoti > > > > > > > > > ------------------------------------------------------------------------------ > > > This SF.Net email is sponsored by the Verizon Developer > > Community > > > Take advantage of Verizon's best-in-class app development > > support > > > A streamlined, 14 day to market process makes app > > distribution fast and easy > > > Join now and get one step closer to millions of Verizon > > customers > > > http://p.sf.net/sfu/verizon-dev2dev > > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer > > Community > > Take advantage of Verizon's best-in-class app development > > support > > A streamlined, 14 day to market process makes app distribution > > fast and easy > > Join now and get one step closer to millions of Verizon > > customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer Community > > Take advantage of Verizon's best-in-class app development support > > A streamlined, 14 day to market process makes app distribution fast and > easy > > Join now and get one step closer to millions of Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ gstreamer-devel mailing > list gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hadess at hadess.net Thu Dec 17 12:15:38 2009 From: hadess at hadess.net (Bastien Nocera) Date: Thu, 17 Dec 2009 11:15:38 +0000 Subject: [gst-devel] how is buffering percentage implemented in playbin In-Reply-To: References: <1261044792.3136.112.camel@metal> <1261045793.3136.114.camel@metal> Message-ID: <1261048538.12311.2048.camel@localhost.localdomain> On Thu, 2009-12-17 at 16:39 +0530, Jyoti wrote: > I am writing an application where in I want to show the buffering > status. > Is it not possible to monitor the level of queue in an application? > > My motto is to display the buffering status something as below. > I want to continuously show how much percent is been downloaded and > how much is > remaining. And also I want to start the playback only after say 10% of > the total data is > downloaded so as to get the uninterrupted playback. > > Can you please suggest some ideas on this. You need to use playbin2 for that, and use the DOWNLOAD tag on it. See Totem in GNOME master for details on how it should be used. Cheers From jyoti.d at allaboutif.com Thu Dec 17 13:09:05 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Thu, 17 Dec 2009 17:39:05 +0530 Subject: [gst-devel] how is buffering percentage implemented in playbin In-Reply-To: <1261048538.12311.2048.camel@localhost.localdomain> References: <1261044792.3136.112.camel@metal> <1261045793.3136.114.camel@metal> <1261048538.12311.2048.camel@localhost.localdomain> Message-ID: I have one small query. How is the downloading of buffers carried out in GStreamer for live sources. On Thu, Dec 17, 2009 at 4:45 PM, Bastien Nocera wrote: > On Thu, 2009-12-17 at 16:39 +0530, Jyoti wrote: > > I am writing an application where in I want to show the buffering > > status. > > Is it not possible to monitor the level of queue in an application? > > > > My motto is to display the buffering status something as below. > > > I want to continuously show how much percent is been downloaded and > > how much is > > remaining. And also I want to start the playback only after say 10% of > > the total data is > > downloaded so as to get the uninterrupted playback. > > > > Can you please suggest some ideas on this. > > You need to use playbin2 for that, and use the DOWNLOAD tag on it. See > Totem in GNOME master for details on how it should be used. > > Cheers > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wl2776 at gmail.com Thu Dec 17 14:40:10 2009 From: wl2776 at gmail.com (Vladimir Eremeev) Date: Thu, 17 Dec 2009 05:40:10 -0800 (PST) Subject: [gst-devel] Position tracking based on events during playback ? Message-ID: <26828117.post@talk.nabble.com> GStreamer application development manual recommends using timer to track current playback position - just periodically call gst_element_query_position from timer callback. Are there any events or messages instead, such that I could use their callback to query playback position? -- View this message in context: http://old.nabble.com/Position-tracking-based-on-events-during-playback---tp26828117p26828117.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From m.luttenberger at avibit.com Thu Dec 17 15:03:49 2009 From: m.luttenberger at avibit.com (Markus Luttenberger) Date: Thu, 17 Dec 2009 15:03:49 +0100 Subject: [gst-devel] Write an audio data stream to file with GStreamer Message-ID: <4B2A3A45.7060904@avibit.com> Hey, I read through the GStreamer manual and searched in the internet but I don't really find a way to write an audio stream (bytes of audio data) to a file, preferably a wav file. I found a plugin called 'afsink' which seems to be able to write a wav file. But I don't know what my data source shall be. Is there a sort of buffer which I can hand over my data stream? Or can I directly feed the sink? I only found examples which read audio data from a file! Currently I'm using GStreamer 0.8.7 due restrictions. Please tell me if this version is too old for this kind of job. greetings.. ..Markus From m.luttenberger at avibit.com Thu Dec 17 15:20:49 2009 From: m.luttenberger at avibit.com (Markus Luttenberger) Date: Thu, 17 Dec 2009 15:20:49 +0100 Subject: [gst-devel] Write an audio data stream to file with GStreamer In-Reply-To: <4B2A3A45.7060904@avibit.com> References: <4B2A3A45.7060904@avibit.com> Message-ID: <4B2A3E41.4050401@avibit.com> Markus Luttenberger schrieb: > I read through the GStreamer manual and searched in the internet but I > don't really find a way to write an audio stream (bytes of audio data) ^^^^^^^^^^^^ > to a file, preferably a wav file. Data from memory, to be more specific... greetings.. ..Markus From wl2776 at gmail.com Thu Dec 17 15:34:59 2009 From: wl2776 at gmail.com (Vladimir Eremeev) Date: Thu, 17 Dec 2009 06:34:59 -0800 (PST) Subject: [gst-devel] gst_element_get_state() vs element->current_state Message-ID: <26828883.post@talk.nabble.com> What's the difference between the values, returned by the function and the variable? Which use is correct? -- View this message in context: http://old.nabble.com/gst_element_get_state%28%29-vs-element-%3Ecurrent_state-tp26828883p26828883.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From wl2776 at gmail.com Thu Dec 17 16:05:20 2009 From: wl2776 at gmail.com (Vladimir Eremeev) Date: Thu, 17 Dec 2009 07:05:20 -0800 (PST) Subject: [gst-devel] Write an audio data stream to file with GStreamer In-Reply-To: <4B2A3E41.4050401@avibit.com> References: <4B2A3A45.7060904@avibit.com> <4B2A3E41.4050401@avibit.com> Message-ID: <26829360.post@talk.nabble.com> Markus Luttenberger wrote: > > Markus Luttenberger schrieb: >> I read through the GStreamer manual and searched in the internet but I >> don't really find a way to write an audio stream (bytes of audio data) > ^^^^^^^^^^^^ >> to a file, preferably a wav file. > > Data from memory, to be more specific... > If your task as simple as just to encode audio samples from memory and write them to a file in any suitable format (WAV, ASF, MP3, something else), I'd recommend using FFmpeg and its API (libavformat, libavcodec, etc). You just do the following: //init. av_register_all(); AVCodecContext *codec_ctx = avcodec_alloc_context(); AVCodec *m_codec = avcodec_find_decoder(CODEC_ID_MJPEG); avcodec_open(codec_ctx, codec); uint8_t *buf; short *samples; int buf_size; int bytes_used; // allocate buf // assign samples to point to your data //encode avcodec_encode_audio(codec_cts,buf,buf_size,samples); //write buf to a disk //cleanup avcodec_close(codec_ctx); av_free(codec_ctx); Details are here: http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/avcodec_8h.html#c41ab8ea9bc0fd3bcf8dc9d3b446f5d3 Even simpler, you can exec ffmpeg and feed it with data via a pipe. -- View this message in context: http://old.nabble.com/Write-an-audio-data-stream-to-file-with-GStreamer-tp26828466p26829360.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From m.luttenberger at avibit.com Thu Dec 17 16:20:55 2009 From: m.luttenberger at avibit.com (Markus Luttenberger) Date: Thu, 17 Dec 2009 16:20:55 +0100 Subject: [gst-devel] Write an audio data stream to file with GStreamer In-Reply-To: <26829360.post@talk.nabble.com> References: <4B2A3A45.7060904@avibit.com> <4B2A3E41.4050401@avibit.com> <26829360.post@talk.nabble.com> Message-ID: <4B2A4C57.4000505@avibit.com> Vladimir Eremeev schrieb: > Markus Luttenberger wrote: >>> I read through the GStreamer manual and searched in the internet but I >>> don't really find a way to write an audio stream (bytes of audio data) >> ^^^^^^^^^^^^ >>> to a file, preferably a wav file. >> Data from memory, to be more specific... >> > > If your task as simple as just to encode audio samples from memory and write > them to a file in any suitable format (WAV, ASF, MP3, something else), I'd > recommend using FFmpeg and its API (libavformat, libavcodec, etc). Yes, I know it's quite simple. Actually, I've already done it using the C library SNDFILE. But I need GStreamer as a cross-platform audio library to play sound (also from memory!) and first I wanted to re-write my WAVE file writer in order to get into GStreamer. I cannot use FFmpeg because it's not installed. I am only allowed to work with installed libraries that's why my GStreamer library is a little bit old. So, any specific tips for GStreamer? greetings.. ..Markus From t.i.m at zen.co.uk Thu Dec 17 16:30:04 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Thu, 17 Dec 2009 15:30:04 +0000 Subject: [gst-devel] Write an audio data stream to file with GStreamer In-Reply-To: <4B2A3A45.7060904@avibit.com> References: <4B2A3A45.7060904@avibit.com> Message-ID: <1261063804.3962.11.camel@zingle> On Thu, 2009-12-17 at 15:03 +0100, Markus Luttenberger wrote: Hi, > I read through the GStreamer manual and searched in the internet but I > don't really find a way to write an audio stream (bytes of audio data) > to a file, preferably a wav file. > > I found a plugin called 'afsink' which seems to be able to write a wav > file. But I don't know what my data source shall be. Is there a sort of > buffer which I can hand over my data stream? Or can I directly feed the > sink? I only found examples which read audio data from a file! > > Currently I'm using GStreamer 0.8.7 due restrictions. Please tell me if > this version is too old for this kind of job. GStreamer 0.8.7? From October 2004? Are you serious? I'm fairly sure what you want to do is doable even with such an old version. However, not only is that version more than five years old, but we've also had a major API/ABI change since then, so don't be surprised if no one remembers anything at all about 0.8.x. If all you want to do is write raw audio PCM data to disk as a .wav file, something like libsndfile might be a better fit. I wouldn't recommend using an ancient and unsupported GStreamer version. Cheers -Tim From wl2776 at gmail.com Thu Dec 17 16:47:22 2009 From: wl2776 at gmail.com (Vladimir Eremeev) Date: Thu, 17 Dec 2009 07:47:22 -0800 (PST) Subject: [gst-devel] Write an audio data stream to file with GStreamer In-Reply-To: <4B2A4C57.4000505@avibit.com> References: <4B2A3A45.7060904@avibit.com> <4B2A3E41.4050401@avibit.com> <26829360.post@talk.nabble.com> <4B2A4C57.4000505@avibit.com> Message-ID: <26830082.post@talk.nabble.com> Markus Luttenberger wrote: > > Vladimir Eremeev schrieb: > So, any specific tips for GStreamer? > Not so many. I'm not familiar with it. You have to have a source, which would read your data from memory. Probably, you will have to write it yourself. And then, you'll need a sink, probably, autoaudiosink will do the job. Then, you have to create a pipe, put everything in it, connect and run a pipe. -- View this message in context: http://old.nabble.com/Write-an-audio-data-stream-to-file-with-GStreamer-tp26828466p26830082.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From m.luttenberger at avibit.com Thu Dec 17 17:01:29 2009 From: m.luttenberger at avibit.com (Markus Luttenberger) Date: Thu, 17 Dec 2009 17:01:29 +0100 Subject: [gst-devel] Write an audio data stream to file with GStreamer In-Reply-To: <1261063804.3962.11.camel@zingle> References: <4B2A3A45.7060904@avibit.com> <1261063804.3962.11.camel@zingle> Message-ID: <4B2A55D9.1050308@avibit.com> Tim-Philipp M?ller schrieb: > I'm fairly sure what you want to do is doable even with such an old > version. However, not only is that version more than five years old, but > we've also had a major API/ABI change since then, so don't be surprised > if no one remembers anything at all about 0.8.x. Yes, you're probably right. I will talk about an upgrade. If this is not possible I'll have to stick to ALSA / DirectSound. And guess what, the ALSA version is already five years old... :/ greetings.. ..Markus From jaalburquerque at cox.net Thu Dec 17 20:40:57 2009 From: jaalburquerque at cox.net (=?ISO-8859-1?Q?Jos=E9?= Alburquerque) Date: Thu, 17 Dec 2009 14:40:57 -0500 Subject: [gst-devel] Using g_singal_emit() in GStreamer In-Reply-To: <1260896067.32134.19.camel@odin.lan> References: <1260894807.22960.14.camel@sweety> <1260896067.32134.19.camel@odin.lan> Message-ID: <1261078857.14226.15.camel@sweety> On Tue, 2009-12-15 at 17:54 +0100, Sebastian Dr?ge wrote: > Yes, signals with G_SIGNAL_ACTION are meant to be emitted from outside > the element and are handled inside the element. Signals without that > flag should be connected to by the outside and are emitted from inside > the element. That's the same as for the few action signals in GTK :) > > For gstreamermm you probably want to provide convenience methods for > these action signals. The C# bindings have this Thanks for your reply, it's really appreciated. Some plug-ins have "action signals" with no return. For example, fakesrc's "handoff" signal (which looks to be registered with the G_SIGNAL_ACTION flag) returns void. Others don't have parameters either like queue's "underrun" signal. Sorry if it's a simple question, but what would be the purpose of emitting these signals from the outside as opposed to within the plug-ins? Thanks for any answers. -- Jos? From t.i.m at zen.co.uk Thu Dec 17 20:55:32 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Thu, 17 Dec 2009 19:55:32 +0000 Subject: [gst-devel] Using g_singal_emit() in GStreamer In-Reply-To: <1261078857.14226.15.camel@sweety> References: <1260894807.22960.14.camel@sweety> <1260896067.32134.19.camel@odin.lan> <1261078857.14226.15.camel@sweety> Message-ID: <1261079732.3962.17.camel@zingle> On Thu, 2009-12-17 at 14:40 -0500, Jos? Alburquerque wrote: Hi, > Some plug-ins have "action signals" with no return. For example, > fakesrc's "handoff" signal (which looks to be registered with the > G_SIGNAL_ACTION flag) returns void. Others don't have parameters > either like queue's "underrun" signal. Neither of those two is an action signal or registered with G_SIGNAL_ACTION as far as I can tell. Which is not to say that there aren't action signals with no return value, see e.g. multifdsink. > Sorry if it's a simple question, but what would be the purpose of > emitting these signals from the outside as opposed to within the > plug-ins? As you suspect, emitting those signals from outside those elements indeed doesn't really make sense. Cheers -Tim From jaalburquerque at cox.net Thu Dec 17 21:30:08 2009 From: jaalburquerque at cox.net (=?ISO-8859-1?Q?Jos=E9?= Alburquerque) Date: Thu, 17 Dec 2009 15:30:08 -0500 Subject: [gst-devel] Using g_singal_emit() in GStreamer In-Reply-To: <1261079732.3962.17.camel@zingle> References: <1260894807.22960.14.camel@sweety> <1260896067.32134.19.camel@odin.lan> <1261078857.14226.15.camel@sweety> <1261079732.3962.17.camel@zingle> Message-ID: <1261081808.14226.18.camel@sweety> On Thu, 2009-12-17 at 19:55 +0000, Tim-Philipp M?ller wrote: > On Thu, 2009-12-17 at 14:40 -0500, Jos? Alburquerque wrote: > > Hi, > > > Some plug-ins have "action signals" with no return. For example, > > fakesrc's "handoff" signal (which looks to be registered with the > > G_SIGNAL_ACTION flag) returns void. Others don't have parameters > > either like queue's "underrun" signal. > > Neither of those two is an action signal or registered with > G_SIGNAL_ACTION as far as I can tell. > > Which is not to say that there aren't action signals with no return > value, see e.g. multifdsink. Oh yes. I used the wrong test. Thanks. -- Jos? From sebastian.droege at collabora.co.uk Thu Dec 17 22:07:40 2009 From: sebastian.droege at collabora.co.uk (Sebastian =?ISO-8859-1?Q?Dr=F6ge?=) Date: Thu, 17 Dec 2009 22:07:40 +0100 Subject: [gst-devel] Using g_singal_emit() in GStreamer In-Reply-To: <1261078857.14226.15.camel@sweety> References: <1260894807.22960.14.camel@sweety> <1260896067.32134.19.camel@odin.lan> <1261078857.14226.15.camel@sweety> Message-ID: <1261084060.23372.3.camel@odin.lan> Am Donnerstag, den 17.12.2009, 14:40 -0500 schrieb Jos? Alburquerque: > On Tue, 2009-12-15 at 17:54 +0100, Sebastian Dr?ge wrote: > > Yes, signals with G_SIGNAL_ACTION are meant to be emitted from > outside > > the element and are handled inside the element. Signals without that > > flag should be connected to by the outside and are emitted from > inside > > the element. That's the same as for the few action signals in GTK :) > > > > For gstreamermm you probably want to provide convenience methods for > > these action signals. The C# bindings have this > > Thanks for your reply, it's really appreciated. Some plug-ins have > "action signals" with no return. For example, fakesrc's "handoff" > signal (which looks to be registered with the G_SIGNAL_ACTION flag) > returns void. Others don't have parameters either like queue's > "underrun" signal. > > Sorry if it's a simple question, but what would be the purpose of > emitting these signals from the outside as opposed to within the > plug-ins? Thanks for any answers. Think of the action signals like normal methods that you can call on the instance. OTOH normal signals are "events", things connected to it will be called when something specific happens. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: Dies ist ein digital signierter Nachrichtenteil URL: From ensonic at hora-obscura.de Thu Dec 17 23:27:23 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Fri, 18 Dec 2009 00:27:23 +0200 Subject: [gst-devel] How to pause a playbin after the first frame is displayed? In-Reply-To: <26826197.post@talk.nabble.com> References: <26826197.post@talk.nabble.com> Message-ID: <4B2AB04B.6070904@hora-obscura.de> Am 17.12.2009 12:47, schrieb Vladimir Eremeev: > > Hi all. > I am rather new to GStreamer and developing a player with simple editing > capabilities (cut and merge). > This is going to be an ActiveX control. > > The previous version of this player was developed with DirectShow, and I > must copy its behavior as much exactly as possible. > > Now I need an analog of StopWhenReady functionality. > This function stops the DS graph after it displays the first frame. > How can I implement this? This is the paused state in gstreamer: gst_element_set_state(pipeline, GST_STATE_PAUSED); register a signal handler to the message bus of the pipeline and wait for the READY_TO_PAUSED state change message for the pipeline. Stefan From jaalburquerque at cox.net Thu Dec 17 23:44:52 2009 From: jaalburquerque at cox.net (=?ISO-8859-1?Q?Jos=E9?= Alburquerque) Date: Thu, 17 Dec 2009 17:44:52 -0500 Subject: [gst-devel] Using g_singal_emit() in GStreamer In-Reply-To: <1261084060.23372.3.camel@odin.lan> References: <1260894807.22960.14.camel@sweety> <1260896067.32134.19.camel@odin.lan> <1261078857.14226.15.camel@sweety> <1261084060.23372.3.camel@odin.lan> Message-ID: <1261089892.14226.21.camel@sweety> On Thu, 2009-12-17 at 22:07 +0100, Sebastian Dr?ge wrote: > Think of the action signals like normal methods that you can call > on the instance. OTOH normal signals are "events", things connected > to it will be called when something specific happens. Yes, of course. Thanks. -- Jos? From jaalburquerque at cox.net Fri Dec 18 07:11:59 2009 From: jaalburquerque at cox.net (=?ISO-8859-1?Q?Jos=E9?= Alburquerque) Date: Fri, 18 Dec 2009 01:11:59 -0500 Subject: [gst-devel] Using g_singal_emit() in GStreamer In-Reply-To: <1261089892.14226.21.camel@sweety> References: <1260894807.22960.14.camel@sweety> <1260896067.32134.19.camel@odin.lan> <1261078857.14226.15.camel@sweety> <1261084060.23372.3.camel@odin.lan> <1261089892.14226.21.camel@sweety> Message-ID: <1261116719.14226.25.camel@sweety> On Thu, 2009-12-17 at 17:44 -0500, Jos? Alburquerque wrote: > On Thu, 2009-12-17 at 22:07 +0100, Sebastian Dr?ge wrote: > > Think of the action signals like normal methods that you can call > > on the instance. OTOH normal signals are "events", things connected > > to it will be called when something specific happens. > > Yes, of course. Thanks. I mean to say that I think I understand. I wanted to thank you and Tim. With your help I'm well underway to managing something working. Thanks again. -- Jos? From wl2776 at gmail.com Fri Dec 18 09:10:44 2009 From: wl2776 at gmail.com (wl2776) Date: Fri, 18 Dec 2009 00:10:44 -0800 (PST) Subject: [gst-devel] How to pause a playbin after the first frame is displayed? In-Reply-To: <4B2AB04B.6070904@hora-obscura.de> References: <1261123844630-974285.post@n4.nabble.com> <4B2AB04B.6070904@hora-obscura.de> Message-ID: <1261123844629-974632.post@n4.nabble.com> Stefan Kost wrote: > >> Now I need an analog of StopWhenReady functionality. > > register a signal handler to the message bus of the pipeline and wait for > the > READY_TO_PAUSED state change message for the pipeline. > Stefan > Stefan, thank you for the answer. However, I am missing something. Where should I look for this message? I've found the enum GstStateChange in headers and in reference. Which variable (structure member) is assigned these values? Here is how I do currently: // initialization player = gst_element_factory_make("playbin2","playbin0"); GstElement *bus = (GstElement *)gst_pipeline_get_bus(GST_PIPELINE(player)); gst_bus_set_sync_handler (GST_BUS(bus), (GstBusSyncHandler)gst_bus_sync_handler, this); gst_bus_add_watch (GST_BUS(bus), bus_call, this); gst_object_unref(bus); //handlers GstBusSyncReply CControlMainDialog::bus_sync_handler(GstBus * bus, GstMessage * message) { g_print("bus_sync_handler: message %s(%d) from %s\n",GST_MESSAGE_TYPE_NAME(messaef),GST_MESSAGE_TYPE(message),GST_MESSAGE_SRC_NAME(message)); switch (GST_MESSAGE_TYPE (message)) { // process message } gst_message_unref (message); return GST_BUS_DROP; } gboolean CControlMainDialog::bus_watch(GstBus* bus, GstMessage *msg) { g_print("bus_watch: message %s(%d) from %s\n",GST_MESSAGE_TYPE_NAME(msg),GST_MESSAGE_TYPE(msg),GST_MESSAGE_SRC_NAME(msg)); switch (GST_MESSAGE_TYPE (msg)) { // process message } gst_message_unref (msg); return TRUE; } However, I didn't see any hints about that state change. -- View this message in context: http://n4.nabble.com/How-to-pause-a-playbin-after-the-first-frame-is-displayed-tp974285p974632.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From wl2776 at gmail.com Fri Dec 18 13:55:43 2009 From: wl2776 at gmail.com (wl2776) Date: Fri, 18 Dec 2009 04:55:43 -0800 (PST) Subject: [gst-devel] How to pause a playbin after the first frame is displayed? In-Reply-To: <1261123844629-974632.post@n4.nabble.com> References: <1261123844630-974285.post@n4.nabble.com> <4B2AB04B.6070904@hora-obscura.de> <1261123844629-974632.post@n4.nabble.com> Message-ID: <1261140943637-974744.post@n4.nabble.com> wl2776 wrote: > > Stefan, thank you for the answer. However, I am missing something. > Where should I look for this message? > I've found the enum GstStateChange in headers and in reference. Which > variable (structure member) is assigned these values? > Yes, I've done this. -- View this message in context: http://n4.nabble.com/How-to-pause-a-playbin-after-the-first-frame-is-displayed-tp974285p974744.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From admin at heihaier.org Fri Dec 18 16:33:24 2009 From: admin at heihaier.org (=?UTF-8?B?6buR5a2p5YS/?=) Date: Fri, 18 Dec 2009 23:33:24 +0800 Subject: [gst-devel] Generate Morse Code Message-ID: <9f92bc780912180733h6a83c249s7b3486fbeb667aad@mail.gmail.com> hello everyone, How to generate morse code using gstreamer? Best regards! Heihaier -------------- next part -------------- An HTML attachment was scrubbed... URL: From aapo.rantalainen at gmail.com Fri Dec 18 19:34:32 2009 From: aapo.rantalainen at gmail.com (Aapo Rantalainen) Date: Fri, 18 Dec 2009 20:34:32 +0200 Subject: [gst-devel] Generate Morse Code In-Reply-To: <9f92bc780912180733h6a83c249s7b3486fbeb667aad@mail.gmail.com> References: <9f92bc780912180733h6a83c249s7b3486fbeb667aad@mail.gmail.com> Message-ID: 2009/12/18 ??? : > hello everyone, > How to generate morse code using gstreamer? > Best regards! > > Heihaier > Maybe this is good point to start: gst-launch audiotestsrc wave=0 ! autoaudiosink Or if you want make real pro solution, test this: gst-launch audiotestsrc wave=8 ! autoaudiosink Then load source code of audiotestsrc and modify wave=8 so it takes parameters or read from files or something. This would be very cool plugin. gst-launch morsesrc message="Hello World" ! autoaudiosink -Aapo Rantalainen From ensonic at hora-obscura.de Fri Dec 18 21:51:12 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Fri, 18 Dec 2009 22:51:12 +0200 Subject: [gst-devel] Generate Morse Code In-Reply-To: References: <9f92bc780912180733h6a83c249s7b3486fbeb667aad@mail.gmail.com> Message-ID: <4B2BEB40.4090201@hora-obscura.de> Am 18.12.2009 20:34, schrieb Aapo Rantalainen: > 2009/12/18 ??? : >> hello everyone, >> How to generate morse code using gstreamer? >> Best regards! >> >> Heihaier >> > Maybe this is good point to start: > gst-launch audiotestsrc wave=0 ! autoaudiosink > > > Or if you want make real pro solution, test this: > gst-launch audiotestsrc wave=8 ! autoaudiosink > > Then load source code of audiotestsrc and modify wave=8 so it takes > parameters or read from files or something. This would be very cool > plugin. > gst-launch morsesrc message="Hello World" ! autoaudiosink > Could probably be done as a bin, that contains a audiotestsrc and setup a gst-controller on it to control the volume. Stefan > -Aapo Rantalainen > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From farahakhtar_24c at yahoo.com Sat Dec 19 09:25:50 2009 From: farahakhtar_24c at yahoo.com (Farah) Date: Sat, 19 Dec 2009 00:25:50 -0800 (PST) Subject: [gst-devel] Getting the complete caps from rtph264pay In-Reply-To: <1efe3a6e0906011302y54760537m7402eb4aa5840551@mail.gmail.com> References: <1efe3a6e0905270815h3456be09y638107cba77cc2e1@mail.gmail.com> <1c7708560905280624l30015d9s508a68700efd8b42@mail.gmail.com> <1efe3a6e0906011302y54760537m7402eb4aa5840551@mail.gmail.com> Message-ID: <1261211150023-975288.post@n4.nabble.com> Can you please tell how exactly you got those caps from a command line shell? I'm new to gstreamer. Say, I can create a pipeline fine but dont know how to access or modify RTP params like 'sprop-paramater-set' etc. Also, can I find the 'rtph264pay' help or documentation somewhere? > I'm not sure if this will solve your issue but I'd been getting the caps > from the udpsink linked to the payloader. However, some recent changes to > gst-plugins-bad (in git) have made it so these caps are always null, and I > haven't had the chance to diagnose the issue further. But at least with > the > last release, calling gst_pad_get_negotiated_caps on the udpsink's sink > pad > worked for me. For me, get_negociated_caps returns None when used inside my application. It does return the correct caps when i do it using an interactive shell. -- View this message in context: http://n4.nabble.com/Getting-the-complete-caps-from-rtph264pay-tp972686p975288.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From jyoti.d at allaboutif.com Sat Dec 19 11:13:56 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Sat, 19 Dec 2009 15:43:56 +0530 Subject: [gst-devel] Getting the complete caps from rtph264pay In-Reply-To: <1261211150023-975288.post@n4.nabble.com> References: <1efe3a6e0905270815h3456be09y638107cba77cc2e1@mail.gmail.com> <1c7708560905280624l30015d9s508a68700efd8b42@mail.gmail.com> <1efe3a6e0906011302y54760537m7402eb4aa5840551@mail.gmail.com> <1261211150023-975288.post@n4.nabble.com> Message-ID: Within the notify::caps callback function try print the caps as below. caps = GST_PAD_CAPS (pad); g_print ("Caps = %s\n, gst_caps_to_string (caps)); Refer the link below for more info: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-get-caps On Sat, Dec 19, 2009 at 1:55 PM, Farah wrote: > > > Can you please tell how exactly you got those caps from a command line > shell? I'm new to gstreamer. Say, I can create a pipeline fine but dont > know how to access or modify RTP params like 'sprop-paramater-set' etc. > Also, can I find the 'rtph264pay' help or documentation somewhere? > > > > > I'm not sure if this will solve your issue but I'd been getting the caps > > from the udpsink linked to the payloader. However, some recent changes to > > gst-plugins-bad (in git) have made it so these caps are always null, and > I > > haven't had the chance to diagnose the issue further. But at least with > > the > > last release, calling gst_pad_get_negotiated_caps on the udpsink's sink > > pad > > worked for me. > > For me, get_negociated_caps returns None when used inside my > application. It does return the correct caps when i do it using an > interactive shell. > > > -- > View this message in context: > http://n4.nabble.com/Getting-the-complete-caps-from-rtph264pay-tp972686p975288.html > Sent from the GStreamer-devel mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mohamed.ismael at asgatech.com Sat Dec 19 12:53:48 2009 From: mohamed.ismael at asgatech.com (mohamed ismael) Date: Sat, 19 Dec 2009 13:53:48 +0200 Subject: [gst-devel] 'gst_uri_is_valid (uri)' failed Message-ID: <4B2CBECC.1080204@asgatech.com> when i run musicplayer example which come with QT library i get the following warning and the sound does not play. (:3830): GStreamer-CRITICAL **: gst_element_make_from_uri: assertion `gst_uri_is_valid (uri)' failed what is the problem? From sledgehammer_999 at hotmail.com Sat Dec 19 14:07:50 2009 From: sledgehammer_999 at hotmail.com (sledge hammer) Date: Sat, 19 Dec 2009 15:07:50 +0200 Subject: [gst-devel] 'gst_uri_is_valid (uri)' failed In-Reply-To: <4B2CBECC.1080204@asgatech.com> References: <4B2CBECC.1080204@asgatech.com> Message-ID: Are you trying to play a local file? If yes, try to pass "file::///path/to/file.mp3" instead of "/path/to/file.mp3". Please report if that works. > Date: Sat, 19 Dec 2009 13:53:48 +0200 > From: mohamed.ismael at asgatech.com > To: gstreamer-devel at lists.sourceforge.net > Subject: [gst-devel] 'gst_uri_is_valid (uri)' failed > > when i run musicplayer example which come with QT library i get the > following warning and the sound does not play. > (:3830): GStreamer-CRITICAL **: gst_element_make_from_uri: > assertion `gst_uri_is_valid (uri)' failed > what is the problem? > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel _________________________________________________________________ ?? What's New ??? ????????? ????? ??? ???? ?????????. ?????? ???. http://home.live.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.i.m at zen.co.uk Sat Dec 19 16:30:04 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Sat, 19 Dec 2009 15:30:04 +0000 Subject: [gst-devel] Checking if a resource exists in gstreamer In-Reply-To: <94ca0b990912150502h7e2fb05wbcbb99649dee22f2@mail.gmail.com> References: <94ca0b990912150502h7e2fb05wbcbb99649dee22f2@mail.gmail.com> Message-ID: <1261236604.3649.3.camel@zingle> On Tue, 2009-12-15 at 13:02 +0000, Luca Pamparana wrote: Hi, > Currently, if the pipeline is passed a URI resource that does not > exist or is unavailable, then gstreamer has a hard exit. > > Is there a gstreamer way to check for the availability of the > resource or maybe change this behaviour to not abort. GStreamer should not abort in this case. You did not provide any details of what you are doing exactly or how GStreamer did a 'hard exit', but GStreamer crashing or aborting usually indicates either a bug in GStreamer or in your application. If you think it's a bug in GStreamer you should file a bug in bugzilla with more details so we can fix it. Cheers -Tim From t.i.m at zen.co.uk Sat Dec 19 16:34:46 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Sat, 19 Dec 2009 15:34:46 +0000 Subject: [gst-devel] priority of gnonlin and clutter-toolkit In-Reply-To: References: Message-ID: <1261236886.3649.5.camel@zingle> On Tue, 2009-12-15 at 14:35 +0200, Aapo Rantalainen wrote: Hi, > Hi, I'm using gnonlin and clutter together and there are problems with > priorities. Gnonlin should have better priority than redraw of > Clutter. > > gnl/gnlcomposition.c:633 > /* FIXME : This should be switched to using a g_thread_create() instead > * of a g_idle_add(). EXTENSIVE TESTING AND ANALYSIS REQUIRED BEFORE > * DOING THE SWITCH !!! */ > comp->priv->pending_idle = > > - g_idle_add ((GSourceFunc) eos_main_thread, (gpointer) comp); > + g_idle_add_full (G_PRIORITY_HIGH_IDLE, (GSourceFunc) > eos_main_thread, (gpointer) comp, NULL); > > > http://www.clutter-project.org/docs/clutter/stable/clutter-General.html#CLUTTER-PRIORITY-REDRAW--CAPS Could you file a bug in bugzilla about this please, so it's not forgotten about and we can be sure the gnonlin maintainers actually notice it. Thanks! Cheers -Tim From bilboed at gmail.com Sat Dec 19 17:45:51 2009 From: bilboed at gmail.com (Edward Hervey) Date: Sat, 19 Dec 2009 17:45:51 +0100 Subject: [gst-devel] priority of gnonlin and clutter-toolkit In-Reply-To: <1261236886.3649.5.camel@zingle> References: <1261236886.3649.5.camel@zingle> Message-ID: <1261241151.2248.0.camel@putamadre> On Sat, 2009-12-19 at 15:34 +0000, Tim-Philipp M?ller wrote: > On Tue, 2009-12-15 at 14:35 +0200, Aapo Rantalainen wrote: > > Hi, > > > Hi, I'm using gnonlin and clutter together and there are problems with > > priorities. Gnonlin should have better priority than redraw of > > Clutter. > > > > gnl/gnlcomposition.c:633 > > /* FIXME : This should be switched to using a g_thread_create() instead > > * of a g_idle_add(). EXTENSIVE TESTING AND ANALYSIS REQUIRED BEFORE > > * DOING THE SWITCH !!! */ > > comp->priv->pending_idle = > > > > - g_idle_add ((GSourceFunc) eos_main_thread, (gpointer) comp); > > + g_idle_add_full (G_PRIORITY_HIGH_IDLE, (GSourceFunc) > > eos_main_thread, (gpointer) comp, NULL); > > > > > > http://www.clutter-project.org/docs/clutter/stable/clutter-General.html#CLUTTER-PRIORITY-REDRAW--CAPS > > Could you file a bug in bugzilla about this please, so it's not > forgotten about and we can be sure the gnonlin maintainers actually > notice it. Thanks! That would be https://bugzilla.gnome.org/show_bug.cgi?id=595187 Since, as written in the big comment just above, the proper fix isn't to change idle_add priorities... but to use a *real* separate thread. Edward > > Cheers > -Tim > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From farahakhtar_24c at yahoo.com Sun Dec 20 09:45:01 2009 From: farahakhtar_24c at yahoo.com (Farah Akhtar) Date: Sun, 20 Dec 2009 00:45:01 -0800 (PST) Subject: [gst-devel] Getting the complete caps from rtph264pay In-Reply-To: References: <1efe3a6e0905270815h3456be09y638107cba77cc2e1@mail.gmail.com> <1c7708560905280624l30015d9s508a68700efd8b42@mail.gmail.com> <1efe3a6e0906011302y54760537m7402eb4aa5840551@mail.gmail.com> <1261211150023-975288.post@n4.nabble.com> Message-ID: <121327.28764.qm@web112119.mail.gq1.yahoo.com> Thanks Jyoti. What I'm trying to do is this: I am using gstreamer to stream h.264 files from a server to a client over RTP. The pipelines I create are: Sender: gst-launch-0.10 filesrc location=akiyo.264 ! video/x-h264 ! rtph264pay pt=96 mtu=1024! udpsink host=203.12.12.12 port=42050 sync=false Receiver: gst-launch-0.10 udpsrc port=" +this.port + " ! rtph264depay ! h264parse ! filesink location=rec_akiyo.264 I encode the sent file using the H.264 reference software with 'Slice mode' enabled and different schemes of slice-structures used. I want that each of the packets should contain one slice of the encoded video. Also, all the slices are not in the raster-scan order and so, packets wont be received to the receiver in the decoding order. The RFC 3984 specifies that I should use STAP-B packets with 'interleaved mode' of RTP enabled when NAL units are out of the decoding order. Now, 'rtph264pay' does not expose any of the properties that could specify to the payloader the NAL unit type (STAP-B) or set the 'interleaved mode' even though running the commands with -v param does give some caps that contain 'sprop-parameter-set'. Since 'interleave mode' is also a part of the 'sprop-parameter-set', I was wondering if there is a way to SET these parameters instead of just GETing them with -v. Also, I'm not sure if the functionality is even implemented in the 'rtph264pay' for interleave mode. So, I wanted to ask if this payloader implements the whole of rfc 3984 or not. Please note that I am using gstreamer from linux shell (as can be seen from the pipelines). I would like best not to have to go into changing the gstreamer but if it is necessary, please guide me. Thanks. ________________________________ From: Jyoti To: Discussion of the development of GStreamer Sent: Sat, December 19, 2009 3:13:56 PM Subject: Re: [gst-devel] Getting the complete caps from rtph264pay Within the notify::caps callback function try print the caps as below. caps = GST_PAD_CAPS (pad); g_print ("Caps = %s\n, gst_caps_to_string (caps)); Refer the link below for more info: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-get-caps On Sat, Dec 19, 2009 at 1:55 PM, Farah wrote: > >>Can you please tell how exactly you got those caps from a command line >>shell? I'm new to gstreamer. Say, I can create a pipeline fine but dont >>know how to access or modify RTP params like 'sprop-paramater-set' etc. >>Also, can I find the 'rtph264pay' help or documentation somewhere? > > > > >>> I'm not sure if this will solve your issue but I'd been getting the caps >>> from the udpsink linked to the payloader. However, some recent changes to >>> gst-plugins-bad (in git) have made it so these caps are always null, and I >>> haven't had the chance to diagnose the issue further. But at least with >>> the >>> last release, calling gst_pad_get_negotiated_caps on the udpsink's sink >>> pad >>> worked for me. > >>For me, get_negociated_caps returns None when used inside my >>application. It does return the correct caps when i do it using an >>interactive shell. > > >-- >>View this message in context: http://n4.nabble.com/Getting-the-complete-caps-from-rtph264pay-tp972686p975288.html > >Sent from the GStreamer-devel mailing list archive at Nabble.com. > >>------------------------------------------------------------------------------ >This SF.Net email is sponsored by the Verizon Developer Community >>Take advantage of Verizon's best-in-class app development support >>A streamlined, 14 day to market process makes app distribution fast and easy >>Join now and get one step closer to millions of Verizon customers >http://p.sf.net/sfu/verizon-dev2dev > >_______________________________________________ >>gstreamer-devel mailing list >gstreamer-devel at lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thaytan at noraisin.net Sun Dec 20 13:50:00 2009 From: thaytan at noraisin.net (Jan Schmidt) Date: Sun, 20 Dec 2009 23:50:00 +1100 Subject: [gst-devel] How to decrease CPU consumation for audio recording? In-Reply-To: References: <8FED46E8A9CA574792FC7AACAC38FE7714FF94456C@PDSMSX501.ccr.corp.intel.com> <4B26B68D.3060601@hora-obscura.de> <8FED46E8A9CA574792FC7AACAC38FE77150B79DDA4@PDSMSX501.ccr.corp.intel.com> Message-ID: <1261313400.23430.24.camel@fancy> On Thu, 2009-12-17 at 08:51 +0800, Zhao, Halley wrote: > Finally, I found out pulseaudio play a lot in the audio pipeline, if I access alsasrc, hw:0 directly, it could make %cpu half. Pulseaudio will always open the audio device in a fixed sample rate and then resample internally, using a high-quality resampling algorithm by default. What you're seeing is probably the overhead of performing a high-quality resample from 44100 Hz to 8000 Hz. > Then I tried flac instead of vorbis, %CPU is decreased another half. Not surprising - Vorbis achieves higher compression partly by being a more complicated compression algorithm. J. > > -----Original Message----- > From: Zhao, Halley [mailto:halley.zhao at intel.com] > Sent: 2009?12?15? 9:36 > To: 'Stefan Kost'; 'Discussion of the development of GStreamer' > Subject: Re: [gst-devel] How to decrease CPU consumation for audio recording? > > Thanks for your suggestion. > But further information shows vorbisenc doesn't matter much in the pipeline. > Either fakesink or vorbisenc will consume 50+% CPU, but arecord only 4% CPU. > I will use C programming to identify it is not caused by gst-launch. > Maybe buffer size matter here. > > > > === audio only + fakesink > gst-launch alsasrc ! audio/x-raw-int, rate=8000 ! queue ! fakesink > gst-launch 51%CPU, pulseaudio 13%CPU > > === save audio to ogg/vorbis > gst-launch alsasrc ! audio/x-raw-int, rate=8000, width=16, depth=16, channel=1 ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink location=test-audio.ogg > gst-launch 57%CPU, pulseaudio 13%CPU > > === arecord and drop data > arecord >/dev/null > Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono > arecord 4.3%, pulseaudio 2.2% > > === arecord save to file > arecord >test.wav > Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono > arecord 4.4%, pulseaudio 2.3% > > -----Original Message----- > From: Stefan Kost [mailto:ensonic at hora-obscura.de] > Sent: 2009?12?15? 6:05 > To: Discussion of the development of GStreamer > Cc: Zhao, Halley > Subject: Re: [gst-devel] How to decrease CPU consumation for audio recording? > > Am 14.12.2009 08:53, schrieb Zhao, Halley: > > I have a simple audio recording pipeline as below. To my surprise it > > consumes CPU as high as a 640x480 video recording. Could it be optimized > > to use CPU less? > > > > gst-launch alsasrc ! audio/x-raw-int, rate=8000, width=16, depth=16, > > channel=1 ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink > > location=test-audio.ogg > > 1.) optimize vorbis > 2.) add orc opimizations to audioconvert (vorbis-enc wants float input) > 3.) we need some optimizations for such pipleines so that audioencoder and > audiosrc can negotiate a (max-)buffer size. the encoder would then provide > pad_alloc (resuable buffers). this needs same work on audioconvert too > > Stefan > > > > > > > > > on a netbook with ATOM 1.6GHZ, ~90 %CPU. > > > > > > > > Thanks in advance. > > > > > > > > > > > > *ZHAO, Halley (Aihua)* > > > > Email: halley.zhao at intel.com > > > > Tel: +86(21)61166476 > > > > iNet: 8821-6476 > > > > SSG/OTC/Moblin 3W038 Pole: F4 > > > > > > > > > > > > ------------------------------------------------------------------------------ > > Return on Information: > > Google Enterprise Search pays you back > > Get the facts. > > http://p.sf.net/sfu/google-dev2dev > > > > > > > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel -- Jan Schmidt From gbzbz at yahoo.com Mon Dec 21 08:02:58 2009 From: gbzbz at yahoo.com (gather bzbz) Date: Sun, 20 Dec 2009 23:02:58 -0800 (PST) Subject: [gst-devel] saving rtsp stream tracks Message-ID: <939119.62214.qm@web51308.mail.re2.yahoo.com> Hi, I try to use gstreamer to receive rtsp stream to files. The stream contains a track1 for audio and track2 for video. VLC works very well with the stream. When I use the following command pipeline " gst-launch rtspsrc location=rtsp:// debug=true ! fakesink ", I can see that gstreamer actually gets the SDP part right. See following info. ************************************************* medias: media 0: media: 'audio' port: '0' num_ports: '4294967295' proto: 'RTP/AVP' formats: format '14' information: '(NULL)' connections: nettype: 'IN' addrtype: 'IP4' address: '0.0.0.0' ttl: '0' addr_number: '0' key: type: '(NULL)' data: '(NULL)' attributes: attribute 'control' : 'track1' media 1: media: 'video' port: '0' num_ports: '4294967295' proto: 'RTP/AVP' formats: format '97' information: '(NULL)' connections: nettype: 'IN' addrtype: 'IP4' address: '0.0.0.0' ttl: '0' addr_number: '0' key: type: '(NULL)' data: '(NULL)' attributes: attribute 'rtpmap' : '97 H264/90000' attribute 'fmtp' : '97 packetization-mode=1;profile-level-id=;sprop-parameter-sets=' attribute 'control' : 'track2' ************************************************* How can I save the audio track1 to a file and video track2 to another so I can do some post-processings? Thanks a lot for your help!!! From userone2010 at gmail.com Mon Dec 21 13:07:26 2009 From: userone2010 at gmail.com (user1 linux) Date: Mon, 21 Dec 2009 17:37:26 +0530 Subject: [gst-devel] How to use Gstreamer framework for hardware based video decoder ? Message-ID: hello all, How a hardware based H.264 video decoder driver can be integrate in to gstreamer framework? so that a player developed with gstreamer api can access this driver. anything similar like avstream + directshow architecture in windows. Regards, userone -------------- next part -------------- An HTML attachment was scrubbed... URL: From marc.leeman at gmail.com Mon Dec 21 13:42:12 2009 From: marc.leeman at gmail.com (Marc Leeman) Date: Mon, 21 Dec 2009 13:42:12 +0100 Subject: [gst-devel] How to use Gstreamer framework for hardware based video decoder ? In-Reply-To: References: Message-ID: <20091221124212.GB7769@crichton.homelinux.org> > How a hardware based H.264 video decoder driver can be integrate in to > gstreamer framework? so that a player developed with gstreamer api can > access this driver. anything similar like avstream + directshow architecture > in windows. simply put: Create an element with the caps as in a software encoder; rip out the library call and replace it by copying the buffer to your hardware driver after you've done your buffer alignment if required by your hardware; the resulting encoded data is handled the same and sent out. I don't see a real difference between a hardware and software encoder; they both end up making a call to somewhere else (hardware or software library). -- greetz, marc This is clearly another case of too many mad scientists, and not enough hunchbacks. crichton 2.6.26 #1 PREEMPT Tue Jul 29 21:17:59 CDT 2008 GNU/Linux -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From jyoti.d at allaboutif.com Mon Dec 21 13:23:58 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Mon, 21 Dec 2009 17:53:58 +0530 Subject: [gst-devel] Resume playback after GST_MESSAGE_SEGMENT_DONE message Message-ID: Hi All, I have written a player application to play data from a tmp file. The http stream is been continuously downloaded into this tmp file. Sometimes when the download rate is too slow. The player gives out the EOS signal on the bus on reaching EOF of tmp file and the playback stops. On such a condition I want avoid signalling EOS and start the playback again from the place I stopped. To stop EOS signalling I seek the file before playback with GST_SEEK_SEGMENT_DONE flag. This will signal GST_MESSAGE_SEGMENT_DONE instead of EOS. Now on receiving GST_MESSAGE_SEGMENT_DONE message on bus I want to resume playback. To do this am querying the position of the last left data and seeking it once enough data is available for playback. But this is not happening. Can someone hint me what to do in such cases? Thanks, Jyoti -------------- next part -------------- An HTML attachment was scrubbed... URL: From julien at moutte.net Mon Dec 21 13:18:31 2009 From: julien at moutte.net (Julien Moutte) Date: Mon, 21 Dec 2009 13:18:31 +0100 Subject: [gst-devel] How to use Gstreamer framework for hardware based video decoder ? In-Reply-To: References: Message-ID: <2601e9a90912210418yb25c713i5e822ed3b45ebd4d@mail.gmail.com> Hi, If the driver implements one of the known APIs such as VAAPI or VDPAU then it should be easy to get it integrated in existing infrastructures. Otherwise you will have to create a decoder element around that driver and integrate it nicely into GStreamer pipelines. Best regards, Julien Moutte, FLUENDO S.A. On Mon, Dec 21, 2009 at 1:07 PM, user1 linux wrote: > hello all, > > How a hardware based H.264 video decoder driver can be integrate in to > gstreamer framework? so that a player developed with gstreamer api can > access this driver. anything similar like avstream + directshow architecture > in windows. > > Regards, > userone > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gstelzz at yahoo.fr Mon Dec 21 21:53:21 2009 From: gstelzz at yahoo.fr (Aurelien Grimaud) Date: Mon, 21 Dec 2009 21:53:21 +0100 Subject: [gst-devel] saving rtsp stream tracks In-Reply-To: <939119.62214.qm@web51308.mail.re2.yahoo.com> References: <939119.62214.qm@web51308.mail.re2.yahoo.com> Message-ID: <4B2FE041.9020703@yahoo.fr> Hi, Le 21/12/2009 08:02, gather bzbz a ?crit : > Hi, I try to use gstreamer to receive rtsp stream to files. The stream contains a track1 for audio and track2 for video. VLC works very well with the stream. When I use the following command pipeline > " gst-launch rtspsrc location=rtsp:// debug=true ! fakesink ", I can see that gstreamer actually gets the SDP part right. See following info. > > Try gst-launch -v rtspsrc name=src src. ! application/x-rtp, media=audio ! fakesink src. ! application/x-rtp, media=video ! fakesink Aurelien > ************************************************* > medias: > media 0: > media: 'audio' > port: '0' > num_ports: '4294967295' > proto: 'RTP/AVP' > formats: > format '14' > information: '(NULL)' > connections: > nettype: 'IN' > addrtype: 'IP4' > address: '0.0.0.0' > ttl: '0' > addr_number: '0' > key: > type: '(NULL)' > data: '(NULL)' > attributes: > attribute 'control' : 'track1' > media 1: > media: 'video' > port: '0' > num_ports: '4294967295' > proto: 'RTP/AVP' > formats: > format '97' > information: '(NULL)' > connections: > nettype: 'IN' > addrtype: 'IP4' > address: '0.0.0.0' > ttl: '0' > addr_number: '0' > key: > type: '(NULL)' > data: '(NULL)' > attributes: > attribute 'rtpmap' : '97 H264/90000' > attribute 'fmtp' : '97 packetization-mode=1;profile-level-id=;sprop-parameter-sets=' > attribute 'control' : 'track2' > > ************************************************* > How can I save the audio track1 to a file and video track2 to another so I can do some post-processings? Thanks a lot for your help!!! > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > From regomodo at googlemail.com Mon Dec 21 21:55:07 2009 From: regomodo at googlemail.com (reg) Date: Mon, 21 Dec 2009 20:55:07 +0000 Subject: [gst-devel] Playbin2 and Audio-CDs Message-ID: <1261428907.5707.4.camel@jono-desktop> Hi, I'm trying to use playbin2 with audiocds. I can get a track to play,pause and seek fine but the moment I try and change the uri playbin2 just plays up a lot. These are the errors I get: (Gereqi.py:5019): GStreamer-WARNING **: Name queue is not unique in bin uridecodebin0, not adding (Gereqi.py:5019): GStreamer-CRITICAL **: gst_caps_get_structure: assertion `index < caps->structs->len' failed (Gereqi.py:5019): GStreamer-CRITICAL **: gst_structure_get_name: assertion `structure != NULL' failed However, I can use playbin2 again without restarting my app. I just can't use the audio-cd until I restart my app. Is it possible to use playbin2 with audio-cd's yet? Regard Reg. From jyoti.d at allaboutif.com Tue Dec 22 07:48:17 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Tue, 22 Dec 2009 12:18:17 +0530 Subject: [gst-devel] how to define NEW_SEGMENT values after GST_MESSAGE_SEGMENT_DONE Message-ID: Hi All, For my player application am required to frequently update the playback segment values. Currently am seeking the first segment as below: gst_element_seek ( pipeline, 1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_SEGMENT, SEEK_TYPE_SET, (0 * GST_SECOND), GST_SEEK_TYPE_NONE, -1 ); After sometime I get GST_MESSAGE_SEGMENT_DONE. Now I want to update the my NEW_SEGMENT from the last played value to the total duration. Can someone tell me how can I define the NEW_SEGMENT values. And what changes to be done with pipeline state, before or after doing the seek for NEW_SEGMENT? Thanks, Jyoti -------------- next part -------------- An HTML attachment was scrubbed... URL: From gbzbz at yahoo.com Tue Dec 22 07:54:55 2009 From: gbzbz at yahoo.com (gather bzbz) Date: Mon, 21 Dec 2009 22:54:55 -0800 (PST) Subject: [gst-devel] saving rtsp stream tracks In-Reply-To: <4B2FE041.9020703@yahoo.fr> Message-ID: <574899.3239.qm@web51303.mail.re2.yahoo.com> Hi, Aurelien, Thanks for the hint. Really appreciate it. I ran the said pipeline, it failed with the following errors ***************************************************************** /GstPipeline:pipeline0/GstCapsFilter:capsfilter2: caps = application/x-rtp, media=(string)audio /GstPipeline:pipeline0/GstCapsFilter:capsfilter3: caps = application/x-rtp, media=(string)video /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)41 /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)1 /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-l1 /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad7: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mod1 /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-l1 /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(s1 /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad6: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264,1 /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)42801 New clock: GstSystemClock /GstPipeline:pipeline0/GstCapsFilter:capsfilter4: caps = application/x-rtp, media=(string)audio /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-le1 /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad9: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode1 /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-le1 /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(st1 /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad8: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, 1 0:00:02.744148481 1885 0xba050 WARN basesrc gstbasesrc.c:2334:gst_base_src_loop: error: Internal data flow error. 0:00:03.073260000 1885 0xba050 WARN basesrc gstbasesrc.c:2334:gst_base_src_loop: error: streaming task paused, reason not-linked (-1) ***************************************************************** The strange thing is that, after rtspsrc, the track with payload 14 (according to the rtsp SDP media session) is supposed to have "media=audio", but somehow the rtsp pipe thinks it is "media=video payload=14 encoding-name=H.264). Thus, I think the whole capfilter things are messed up. I am totally lost here. Any pads here for rtspsrc? Please help!. --- On Mon, 12/21/09, Aurelien Grimaud wrote: > From: Aurelien Grimaud > Subject: Re: [gst-devel] saving rtsp stream tracks > To: "Discussion of the development of GStreamer" > Date: Monday, December 21, 2009, 12:53 PM > Hi, > > Le 21/12/2009 08:02, gather bzbz a ?crit : > > Hi, I try to use gstreamer to receive rtsp stream to > files. The stream contains a track1 for audio and track2 for > video. VLC works very well with the stream. When I use the > following command pipeline > > " gst-launch rtspsrc location=rtsp:// > debug=true ! fakesink ", I can see that gstreamer actually > gets the SDP part right. See following info. > > > > > Try gst-launch -v rtspsrc name=src src. ! > application/x-rtp, media=audio > ! fakesink src. ! application/x-rtp, media=video ! > fakesink > > Aurelien > > ************************************************* > > medias: > > media 0: > > media: > 'audio' > > port: > '0' > > > num_ports: '4294967295' > > proto: > 'RTP/AVP' > > formats: > > format '14' > > information: '(NULL)' > > connections: > > nettype: 'IN' > > addrtype: > 'IP4' > > address: > '0.0.0.0' > > ttl: > '0' > > addr_number: '0' > > key: > > type: > '(NULL)' > > data: > '(NULL)' > > attributes: > > attribute 'control' : 'track1' > > media 1: > > media: > 'video' > > port: > '0' > > > num_ports: '4294967295' > > proto: > 'RTP/AVP' > > formats: > > format '97' > > information: '(NULL)' > > connections: > > nettype: 'IN' > > addrtype: > 'IP4' > > address: > '0.0.0.0' > > ttl: > '0' > > addr_number: '0' > > key: > > type: > '(NULL)' > > data: > '(NULL)' > > attributes: > > attribute 'rtpmap' : '97 > H264/90000' > > attribute 'fmtp' : '97 > packetization-mode=1;profile-level-id=;sprop-parameter-sets=' > > attribute 'control' : 'track2' > > > > ************************************************* > > How can I save the audio track1 to a file and video > track2 to another so I can do some post-processings? Thanks > a lot for your help!!! > > > > > > > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon > Developer Community > > Take advantage of Verizon's best-in-class app > development support > > A streamlined, 14 day to market process makes app > distribution fast and easy > > Join now and get one step closer to millions of > Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer > Community > Take advantage of Verizon's best-in-class app development > support > A streamlined, 14 day to market process makes app > distribution fast and easy > Join now and get one step closer to millions of Verizon > customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From gbzbz at yahoo.com Tue Dec 22 08:59:40 2009 From: gbzbz at yahoo.com (gather bzbz) Date: Mon, 21 Dec 2009 23:59:40 -0800 (PST) Subject: [gst-devel] how to loop pipelines? Message-ID: <655547.7289.qm@web51304.mail.re2.yahoo.com> Say, if I have a mp3 file, I can play it with "filesrc ! mad ! audioconvert ! osssink ", how can I loop it so that the same mp3 file gets played again and again? idealy, the number of loops can be controled by a number. Thanks a ton! From LiHsinChang at besta.com.tw Tue Dec 22 09:17:37 2009 From: LiHsinChang at besta.com.tw (shinstar) Date: Tue, 22 Dec 2009 00:17:37 -0800 (PST) Subject: [gst-devel] how to loop pipelines? In-Reply-To: <655547.7289.qm@web51304.mail.re2.yahoo.com> References: <655547.7289.qm@web51304.mail.re2.yahoo.com> Message-ID: <1261469857931-976785.post@n4.nabble.com> Hi, Maybe you should write a simple shell script or build your own GStreamer applications. regards, gather bzbz wrote: > > Say, if I have a mp3 file, I can play it with "filesrc ! mad ! > audioconvert ! osssink ", how can I loop it so that the same mp3 file gets > played again and again? idealy, the number of loops can be controled by a > number. Thanks a ton! > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- View this message in context: http://n4.nabble.com/how-to-loop-pipelines-tp976779p976785.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From gbzbz at yahoo.com Tue Dec 22 09:20:31 2009 From: gbzbz at yahoo.com (gather bzbz) Date: Tue, 22 Dec 2009 00:20:31 -0800 (PST) Subject: [gst-devel] how to loop pipelines? Message-ID: <271071.80287.qm@web51306.mail.re2.yahoo.com> Say, if I have a mp3 file, I can play it with "filesrc ! mad ! audioconvert ! osssink ", how can I loop it so that the same mp3 file gets played again and again? idealy, the number of loops can be controled by a number. Thanks a ton! From gbzbz at yahoo.com Tue Dec 22 09:23:07 2009 From: gbzbz at yahoo.com (gather bzbz) Date: Tue, 22 Dec 2009 00:23:07 -0800 (PST) Subject: [gst-devel] how to loop pipelines? In-Reply-To: <1261469857931-976785.post@n4.nabble.com> Message-ID: <588672.60776.qm@web51301.mail.re2.yahoo.com> Yeah, can do that. But any way to loop it from the pipeline script itself? I googled a little bit, someone was talking about setting the pipe stages to get it done, but have not found any samples yet. Anyone can kindly provide some? Thanks. --- On Tue, 12/22/09, shinstar wrote: > From: shinstar > Subject: Re: [gst-devel] how to loop pipelines? > To: gstreamer-devel at lists.sourceforge.net > Date: Tuesday, December 22, 2009, 12:17 AM > > Hi, > Maybe you should write a simple shell script or build your > own GStreamer > applications. > > regards, > > > gather bzbz wrote: > > > > Say, if I have a mp3 file, I can play it with "filesrc > ! mad ! > > audioconvert ! osssink ", how can I loop it so that > the same mp3 file gets > > played again and again? idealy, the number of loops > can be controled by a > > number. Thanks a ton! > > > > > > > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon > Developer Community > > Take advantage of Verizon's best-in-class app > development support > > A streamlined, 14 day to market process makes app > distribution fast and > > easy > > Join now and get one step closer to millions of > Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > -- > View this message in context: http://n4.nabble.com/how-to-loop-pipelines-tp976779p976785.html > Sent from the GStreamer-devel mailing list archive at > Nabble.com. > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer > Community > Take advantage of Verizon's best-in-class app development > support > A streamlined, 14 day to market process makes app > distribution fast and easy > Join now and get one step closer to millions of Verizon > customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From bisht.sudarshan at gmail.com Tue Dec 22 09:28:02 2009 From: bisht.sudarshan at gmail.com (sudarshan bisht) Date: Tue, 22 Dec 2009 13:58:02 +0530 Subject: [gst-devel] how to loop pipelines? In-Reply-To: <588672.60776.qm@web51301.mail.re2.yahoo.com> References: <1261469857931-976785.post@n4.nabble.com> <588672.60776.qm@web51301.mail.re2.yahoo.com> Message-ID: <785339900912220028y6c6ae99fpc707952806c5eb4c@mail.gmail.com> type the same command n times in terminal . e.g filesrc ! mad ! audioconvert ! osssink filesrc ! mad ! audioconvert ! osssink filesrc ! mad ! audioconvert ! osssink ........ On Tue, Dec 22, 2009 at 1:53 PM, gather bzbz wrote: > > Yeah, can do that. But any way to loop it from the pipeline script itself? > I googled a little bit, someone was talking about setting the pipe stages to > get it done, but have not found any samples yet. Anyone can kindly provide > some? Thanks. > > --- On Tue, 12/22/09, shinstar wrote: > > > From: shinstar > > Subject: Re: [gst-devel] how to loop pipelines? > > To: gstreamer-devel at lists.sourceforge.net > > Date: Tuesday, December 22, 2009, 12:17 AM > > > > Hi, > > Maybe you should write a simple shell script or build your > > own GStreamer > > applications. > > > > regards, > > > > > > gather bzbz wrote: > > > > > > Say, if I have a mp3 file, I can play it with "filesrc > > ! mad ! > > > audioconvert ! osssink ", how can I loop it so that > > the same mp3 file gets > > > played again and again? idealy, the number of loops > > can be controled by a > > > number. Thanks a ton! > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > This SF.Net email is sponsored by the Verizon > > Developer Community > > > Take advantage of Verizon's best-in-class app > > development support > > > A streamlined, 14 day to market process makes app > > distribution fast and > > > easy > > > Join now and get one step closer to millions of > > Verizon customers > > > http://p.sf.net/sfu/verizon-dev2dev > > > _______________________________________________ > > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > -- > > View this message in context: > http://n4.nabble.com/how-to-loop-pipelines-tp976779p976785.html > > Sent from the GStreamer-devel mailing list archive at > > Nabble.com. > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer > > Community > > Take advantage of Verizon's best-in-class app development > > support > > A streamlined, 14 day to market process makes app > > distribution fast and easy > > Join now and get one step closer to millions of Verizon > > customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -- Regards, Sudarshan Bisht -------------- next part -------------- An HTML attachment was scrubbed... URL: From wim.taymans at gmail.com Tue Dec 22 09:24:26 2009 From: wim.taymans at gmail.com (Wim Taymans) Date: Tue, 22 Dec 2009 09:24:26 +0100 Subject: [gst-devel] saving rtsp stream tracks In-Reply-To: <574899.3239.qm@web51303.mail.re2.yahoo.com> References: <574899.3239.qm@web51303.mail.re2.yahoo.com> Message-ID: <1261470266.4184.49.camel@metal> On Mon, 2009-12-21 at 22:54 -0800, gather bzbz wrote: > Hi, Aurelien, > > Thanks for the hint. Really appreciate it. > > I ran the said pipeline, it failed with the following errors > > ***************************************************************** > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter2: caps = application/x-rtp, media=(string)audio > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3: caps = application/x-rtp, media=(string)video > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)41 > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)1 > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-l1 > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad7: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mod1 > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-l1 > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(s1 > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad6: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264,1 > /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)42801 > New clock: GstSystemClock > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4: caps = application/x-rtp, media=(string)audio > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-le1 > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad9: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode1 > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-le1 > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(st1 > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad8: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, 1 > 0:00:02.744148481 1885 0xba050 WARN basesrc gstbasesrc.c:2334:gst_base_src_loop: error: Internal data flow error. > 0:00:03.073260000 1885 0xba050 WARN basesrc gstbasesrc.c:2334:gst_base_src_loop: error: streaming task paused, reason not-linked (-1) > > ***************************************************************** > > The strange thing is that, after rtspsrc, the track with payload 14 (according to the rtsp SDP media session) is supposed to have "media=audio", but somehow the rtsp pipe thinks it is "media=video payload=14 encoding-name=H.264). Thus, I think the whole capfilter things are messed up. I am totally lost here. Any pads here for rtspsrc? Please help!. gst-launch is not smart enough to link this pipeline because it negotiates a format after creating the pad. You'll have to write an application. Wim > > --- On Mon, 12/21/09, Aurelien Grimaud wrote: > > > From: Aurelien Grimaud > > Subject: Re: [gst-devel] saving rtsp stream tracks > > To: "Discussion of the development of GStreamer" > > Date: Monday, December 21, 2009, 12:53 PM > > Hi, > > > > Le 21/12/2009 08:02, gather bzbz a ?crit : > > > Hi, I try to use gstreamer to receive rtsp stream to > > files. The stream contains a track1 for audio and track2 for > > video. VLC works very well with the stream. When I use the > > following command pipeline > > > " gst-launch rtspsrc location=rtsp:// > > debug=true ! fakesink ", I can see that gstreamer actually > > gets the SDP part right. See following info. > > > > > > > > Try gst-launch -v rtspsrc name=src src. ! > > application/x-rtp, media=audio > > ! fakesink src. ! application/x-rtp, media=video ! > > fakesink > > > > Aurelien > > > ************************************************* > > > medias: > > > media 0: > > > media: > > 'audio' > > > port: > > '0' > > > > > num_ports: '4294967295' > > > proto: > > 'RTP/AVP' > > > formats: > > > format '14' > > > information: '(NULL)' > > > connections: > > > nettype: 'IN' > > > addrtype: > > 'IP4' > > > address: > > '0.0.0.0' > > > ttl: > > '0' > > > addr_number: '0' > > > key: > > > type: > > '(NULL)' > > > data: > > '(NULL)' > > > attributes: > > > attribute 'control' : 'track1' > > > media 1: > > > media: > > 'video' > > > port: > > '0' > > > > > num_ports: '4294967295' > > > proto: > > 'RTP/AVP' > > > formats: > > > format '97' > > > information: '(NULL)' > > > connections: > > > nettype: 'IN' > > > addrtype: > > 'IP4' > > > address: > > '0.0.0.0' > > > ttl: > > '0' > > > addr_number: '0' > > > key: > > > type: > > '(NULL)' > > > data: > > '(NULL)' > > > attributes: > > > attribute 'rtpmap' : '97 > > H264/90000' > > > attribute 'fmtp' : '97 > > packetization-mode=1;profile-level-id=;sprop-parameter-sets=' > > > attribute 'control' : 'track2' > > > > > > ************************************************* > > > How can I save the audio track1 to a file and video > > track2 to another so I can do some post-processings? Thanks > > a lot for your help!!! > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > This SF.Net email is sponsored by the Verizon > > Developer Community > > > Take advantage of Verizon's best-in-class app > > development support > > > A streamlined, 14 day to market process makes app > > distribution fast and easy > > > Join now and get one step closer to millions of > > Verizon customers > > > http://p.sf.net/sfu/verizon-dev2dev > > > _______________________________________________ > > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer > > Community > > Take advantage of Verizon's best-in-class app development > > support > > A streamlined, 14 day to market process makes app > > distribution fast and easy > > Join now and get one step closer to millions of Verizon > > customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From gbzbz at yahoo.com Tue Dec 22 10:09:32 2009 From: gbzbz at yahoo.com (gather bzbz) Date: Tue, 22 Dec 2009 01:09:32 -0800 (PST) Subject: [gst-devel] how to loop pipelines? In-Reply-To: <785339900912220028y6c6ae99fpc707952806c5eb4c@mail.gmail.com> Message-ID: <235685.93226.qm@web51307.mail.re2.yahoo.com> Thanks. Tried, but failed with ERROR: from element /GstPipeline:pipeline0/GstOssSink:osssink0: Could not open audio device for playback. Device is being used by another application. I guess all the pipes are executed in competition....Any suggestions? --- On Tue, 12/22/09, sudarshan bisht wrote: > From: sudarshan bisht > Subject: Re: [gst-devel] how to loop pipelines? > To: "Discussion of the development of GStreamer" > Date: Tuesday, December 22, 2009, 12:28 AM > type the same command n times in terminal > . e.g filesrc ! mad ! audioconvert ! osssink filesrc ! > mad ! audioconvert ! osssink filesrc ! mad ! audioconvert > ! osssink ........ > > > On Tue, Dec 22, 2009 at 1:53 PM, > gather bzbz > wrote: > > > Yeah, can do that. But any way to loop it from the pipeline > script itself? I googled a little bit, someone was talking > about setting the pipe stages to get it done, but have not > found any samples yet. Anyone can kindly provide some? > Thanks. > > > --- On Tue, 12/22/09, shinstar > wrote: > > > From: shinstar > > > Subject: Re: [gst-devel] how to loop pipelines? > > To: gstreamer-devel at lists.sourceforge.net > > Date: Tuesday, December 22, 2009, 12:17 AM > > > > > > > Hi, > > Maybe you should write a simple shell script or build > your > > own GStreamer > > applications. > > > > regards, > > > > > > gather bzbz wrote: > > > > > > > Say, if I have a mp3 file, I can play it with > "filesrc > > ! mad ! > > > audioconvert ! osssink ", how can I loop it > so that > > the same mp3 file gets > > > played again and again? idealy, the number of > loops > > > can be controled by a > > > number. Thanks a ton! > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > This SF.Net email is sponsored by the Verizon > > > Developer Community > > > Take advantage of Verizon's best-in-class > app > > development support > > > A streamlined, 14 day to market process makes > app > > distribution fast and > > > easy > > > > Join now and get one step closer to millions of > > Verizon customers > > > http://p.sf.net/sfu/verizon-dev2dev > > > _______________________________________________ > > > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > > -- > > View this message in context: http://n4.nabble.com/how-to-loop-pipelines-tp976779p976785.html > > > Sent from the GStreamer-devel mailing list archive at > > Nabble.com. > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon > Developer > > > Community > > Take advantage of Verizon's best-in-class app > development > > support > > A streamlined, 14 day to market process makes app > > distribution fast and easy > > Join now and get one step closer to millions of > Verizon > > > customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer > Community > Take advantage of Verizon's best-in-class app > development support > > A streamlined, 14 day to market process makes app > distribution fast and easy > Join now and get one step closer to millions of Verizon > customers > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > -- > Regards, > > Sudarshan Bisht > > > -----Inline Attachment Follows----- > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer > Community > Take advantage of Verizon's best-in-class app development > support > A streamlined, 14 day to market process makes app > distribution fast and easy > Join now and get one step closer to millions of Verizon > customers > http://p.sf.net/sfu/verizon-dev2dev > -----Inline Attachment Follows----- > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From gbzbz at yahoo.com Tue Dec 22 10:24:05 2009 From: gbzbz at yahoo.com (gather bzbz) Date: Tue, 22 Dec 2009 01:24:05 -0800 (PST) Subject: [gst-devel] saving rtsp stream tracks In-Reply-To: <1261470266.4184.49.camel@metal> Message-ID: <359166.92398.qm@web51301.mail.re2.yahoo.com> Wim, Thanks so much. I am very new to gstreamer framework. Writing an app sounds "scary" to me.... :(. Any sample out there on rtspsrc video+audio. I will try to give it a shot..... Meanwhile, is there any way to overwrite or manually correct the audio part in the pipeline script, in case the gst-launch does not do it correctly? --- On Tue, 12/22/09, Wim Taymans wrote: > From: Wim Taymans > Subject: Re: [gst-devel] saving rtsp stream tracks > To: "Discussion of the development of GStreamer" > Date: Tuesday, December 22, 2009, 12:24 AM > On Mon, 2009-12-21 at 22:54 -0800, > gather bzbz wrote: > > Hi, Aurelien, > > > > Thanks for the hint. Really appreciate it. > > > > I ran the said pipeline, it failed with the following > errors > > > > > ***************************************************************** > > > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter2: caps > = application/x-rtp, media=(string)audio > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3: caps > = application/x-rtp, media=(string)video > > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(string)1, > profile-level-id=(string)41 > > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(string)1, > profile-level-id=(string)1 > > > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(string)1, > profile-l1 > > > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad7: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mod1 > > > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(string)1, > profile-l1 > > > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(s1 > > > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad6: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264,1 > > > /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(string)1, > profile-level-id=(string)42801 > > New clock: GstSystemClock > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4: caps > = application/x-rtp, media=(string)audio > > > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14: > caps = application/x-rtp, media=(string)video, > payload=(int)14, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(string)1, > profile-le1 > > > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad9: > caps = application/x-rtp, media=(string)video, > payload=(int)14, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode1 > > > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14: > caps = application/x-rtp, media=(string)video, > payload=(int)14, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(string)1, > profile-le1 > > > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14: > caps = application/x-rtp, media=(string)video, > payload=(int)14, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(st1 > > > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad8: > caps = application/x-rtp, media=(string)video, > payload=(int)14, clock-rate=(int)90000, > encoding-name=(string)H264, 1 > > 0:00:02.744148481 1885 0xba050 > WARN > basesrc > gstbasesrc.c:2334:gst_base_src_loop: error: > Internal data flow error. > > 0:00:03.073260000 1885 0xba050 > WARN > basesrc > gstbasesrc.c:2334:gst_base_src_loop: error: > streaming task paused, reason not-linked (-1) > > > > > ***************************************************************** > > > > The strange thing is that, after rtspsrc, the track > with payload 14 (according to the rtsp SDP media session) is > supposed to have "media=audio", but somehow the rtsp pipe > thinks it is "media=video payload=14 encoding-name=H.264). > Thus, I think the whole capfilter things are messed up. I am > totally lost here. Any pads here for rtspsrc? Please help!. > > gst-launch is not smart enough to link this pipeline > because it > negotiates a format after creating the pad. You'll have to > write an > application. > > Wim > > > > > --- On Mon, 12/21/09, Aurelien Grimaud > wrote: > > > > > From: Aurelien Grimaud > > > Subject: Re: [gst-devel] saving rtsp stream > tracks > > > To: "Discussion of the development of GStreamer" > > > > Date: Monday, December 21, 2009, 12:53 PM > > > Hi, > > > > > > Le 21/12/2009 08:02, gather bzbz a ?crit : > > > > Hi, I try to use gstreamer to receive rtsp > stream to > > > files. The stream contains a track1 for audio and > track2 for > > > video. VLC works very well with the stream. When > I use the > > > following command pipeline > > > > " gst-launch rtspsrc > location=rtsp:// > > > debug=true ! fakesink ", I can see that gstreamer > actually > > > gets the SDP part right. See following info. > > > > > > > > > > > Try gst-launch -v rtspsrc name=src src. ! > > > application/x-rtp, media=audio > > > ! fakesink src. ! application/x-rtp, media=video > ! > > > fakesink > > > > > > Aurelien > > > > > ************************************************* > > > > medias: > > > > media 0: > > > > > media: > > > 'audio' > > > > port: > > > > '0' > > > > > > > > num_ports: '4294967295' > > > > > proto: > > > 'RTP/AVP' > > > > formats: > > > > format '14' > > > > information: > '(NULL)' > > > > connections: > > > > nettype: > 'IN' > > > > addrtype: > > > 'IP4' > > > > address: > > > > '0.0.0.0' > > > > ttl: > > > > '0' > > > > addr_number: '0' > > > > key: > > > > type: > > > '(NULL)' > > > > data: > > > '(NULL)' > > > > attributes: > > > > attribute 'control' : > 'track1' > > > > media 1: > > > > > media: > > > 'video' > > > > port: > > > > '0' > > > > > > > > num_ports: '4294967295' > > > > > proto: > > > 'RTP/AVP' > > > > formats: > > > > format '97' > > > > information: > '(NULL)' > > > > connections: > > > > nettype: > 'IN' > > > > addrtype: > > > 'IP4' > > > > address: > > > > '0.0.0.0' > > > > ttl: > > > > '0' > > > > addr_number: '0' > > > > key: > > > > type: > > > '(NULL)' > > > > data: > > > '(NULL)' > > > > attributes: > > > > attribute 'rtpmap' : > '97 > > > H264/90000' > > > > attribute 'fmtp' : '97 > > > > packetization-mode=1;profile-level-id=;sprop-parameter-sets=' > > > > attribute 'control' : > 'track2' > > > > > > > > > ************************************************* > > > > How can I save the audio track1 to a file > and video > > > track2 to another so I can do some > post-processings? Thanks > > > a lot for your help!!! > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > This SF.Net email is sponsored by the > Verizon > > > Developer Community > > > > Take advantage of Verizon's best-in-class > app > > > development support > > > > A streamlined, 14 day to market process > makes app > > > distribution fast and easy > > > > Join now and get one step closer to millions > of > > > Verizon customers > > > > http://p.sf.net/sfu/verizon-dev2dev > > > > > _______________________________________________ > > > > gstreamer-devel mailing list > > > > gstreamer-devel at lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > This SF.Net email is sponsored by the Verizon > Developer > > > Community > > > Take advantage of Verizon's best-in-class app > development > > > support > > > A streamlined, 14 day to market process makes > app > > > distribution fast and easy > > > Join now and get one step closer to millions of > Verizon > > > customers > > > http://p.sf.net/sfu/verizon-dev2dev > > > _______________________________________________ > > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon > Developer Community > > Take advantage of Verizon's best-in-class app > development support > > A streamlined, 14 day to market process makes app > distribution fast and easy > > Join now and get one step closer to millions of > Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer > Community > Take advantage of Verizon's best-in-class app development > support > A streamlined, 14 day to market process makes app > distribution fast and easy > Join now and get one step closer to millions of Verizon > customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From gbzbz at yahoo.com Tue Dec 22 10:29:31 2009 From: gbzbz at yahoo.com (gather bzbz) Date: Tue, 22 Dec 2009 01:29:31 -0800 (PST) Subject: [gst-devel] how to loop pipelines? In-Reply-To: <785339900912220028y6c6ae99fpc707952806c5eb4c@mail.gmail.com> Message-ID: <612642.59325.qm@web51304.mail.re2.yahoo.com> Thanks. Tried, but failed with ERROR: from element /GstPipeline:pipeline0/GstOssSink:osssink0: Could not open audio device for playback. Device is being used by another application. I guess all the pipes are executed in competition....Any suggestions? --- On Tue, 12/22/09, sudarshan bisht wrote: > From: sudarshan bisht > Subject: Re: [gst-devel] how to loop pipelines? > To: "Discussion of the development of GStreamer" > Date: Tuesday, December 22, 2009, 12:28 AM > type the same command n times in terminal > . e.g filesrc ! mad ! audioconvert ! osssink filesrc ! > mad ! audioconvert ! osssink filesrc ! mad ! audioconvert > ! osssink ........ > > > On Tue, Dec 22, 2009 at 1:53 PM, > gather bzbz > wrote: > > > Yeah, can do that. But any way to loop it from the pipeline > script itself? I googled a little bit, someone was talking > about setting the pipe stages to get it done, but have not > found any samples yet. Anyone can kindly provide some? > Thanks. > > > --- On Tue, 12/22/09, shinstar > wrote: > > > From: shinstar > > > Subject: Re: [gst-devel] how to loop pipelines? > > To: gstreamer-devel at lists.sourceforge.net > > Date: Tuesday, December 22, 2009, 12:17 AM > > > > > > > Hi, > > Maybe you should write a simple shell script or build > your > > own GStreamer > > applications. > > > > regards, > > > > > > gather bzbz wrote: > > > > > > > Say, if I have a mp3 file, I can play it with > "filesrc > > ! mad ! > > > audioconvert ! osssink ", how can I loop it > so that > > the same mp3 file gets > > > played again and again? idealy, the number of > loops > > > can be controled by a > > > number. Thanks a ton! > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > This SF.Net email is sponsored by the Verizon > > > Developer Community > > > Take advantage of Verizon's best-in-class > app > > development support > > > A streamlined, 14 day to market process makes > app > > distribution fast and > > > easy > > > > Join now and get one step closer to millions of > > Verizon customers > > > http://p.sf.net/sfu/verizon-dev2dev > > > _______________________________________________ > > > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > > -- > > View this message in context: http://n4.nabble.com/how-to-loop-pipelines-tp976779p976785.html > > > Sent from the GStreamer-devel mailing list archive at > > Nabble.com. > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon > Developer > > > Community > > Take advantage of Verizon's best-in-class app > development > > support > > A streamlined, 14 day to market process makes app > > distribution fast and easy > > Join now and get one step closer to millions of > Verizon > > > customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer > Community > Take advantage of Verizon's best-in-class app > development support > > A streamlined, 14 day to market process makes app > distribution fast and easy > Join now and get one step closer to millions of Verizon > customers > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > -- > Regards, > > Sudarshan Bisht > > > -----Inline Attachment Follows----- > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer > Community > Take advantage of Verizon's best-in-class app development > support > A streamlined, 14 day to market process makes app > distribution fast and easy > Join now and get one step closer to millions of Verizon > customers > http://p.sf.net/sfu/verizon-dev2dev > -----Inline Attachment Follows----- > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From gbzbz at yahoo.com Tue Dec 22 10:30:02 2009 From: gbzbz at yahoo.com (gather bzbz) Date: Tue, 22 Dec 2009 01:30:02 -0800 (PST) Subject: [gst-devel] how to loop pipelines? In-Reply-To: <785339900912220028y6c6ae99fpc707952806c5eb4c@mail.gmail.com> Message-ID: <141255.93657.qm@web51301.mail.re2.yahoo.com> Thanks. Tried, but failed with ERROR: from element /GstPipeline:pipeline0/GstOssSink:osssink0: Could not open audio device for playback. Device is being used by another application. I guess all the pipes are executed in competition....Any suggestions? --- On Tue, 12/22/09, sudarshan bisht wrote: > From: sudarshan bisht > Subject: Re: [gst-devel] how to loop pipelines? > To: "Discussion of the development of GStreamer" > Date: Tuesday, December 22, 2009, 12:28 AM > type the same command n times in terminal > . e.g filesrc ! mad ! audioconvert ! osssink filesrc ! > mad ! audioconvert ! osssink filesrc ! mad ! audioconvert > ! osssink ........ > > > On Tue, Dec 22, 2009 at 1:53 PM, > gather bzbz > wrote: > > > Yeah, can do that. But any way to loop it from the pipeline > script itself? I googled a little bit, someone was talking > about setting the pipe stages to get it done, but have not > found any samples yet. Anyone can kindly provide some? > Thanks. > > > --- On Tue, 12/22/09, shinstar > wrote: > > > From: shinstar > > > Subject: Re: [gst-devel] how to loop pipelines? > > To: gstreamer-devel at lists.sourceforge.net > > Date: Tuesday, December 22, 2009, 12:17 AM > > > > > > > Hi, > > Maybe you should write a simple shell script or build > your > > own GStreamer > > applications. > > > > regards, > > > > > > gather bzbz wrote: > > > > > > > Say, if I have a mp3 file, I can play it with > "filesrc > > ! mad ! > > > audioconvert ! osssink ", how can I loop it > so that > > the same mp3 file gets > > > played again and again? idealy, the number of > loops > > > can be controled by a > > > number. Thanks a ton! > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > This SF.Net email is sponsored by the Verizon > > > Developer Community > > > Take advantage of Verizon's best-in-class > app > > development support > > > A streamlined, 14 day to market process makes > app > > distribution fast and > > > easy > > > > Join now and get one step closer to millions of > > Verizon customers > > > http://p.sf.net/sfu/verizon-dev2dev > > > _______________________________________________ > > > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > > -- > > View this message in context: http://n4.nabble.com/how-to-loop-pipelines-tp976779p976785.html > > > Sent from the GStreamer-devel mailing list archive at > > Nabble.com. > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon > Developer > > > Community > > Take advantage of Verizon's best-in-class app > development > > support > > A streamlined, 14 day to market process makes app > > distribution fast and easy > > Join now and get one step closer to millions of > Verizon > > > customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer > Community > Take advantage of Verizon's best-in-class app > development support > > A streamlined, 14 day to market process makes app > distribution fast and easy > Join now and get one step closer to millions of Verizon > customers > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > -- > Regards, > > Sudarshan Bisht > > > -----Inline Attachment Follows----- > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer > Community > Take advantage of Verizon's best-in-class app development > support > A streamlined, 14 day to market process makes app > distribution fast and easy > Join now and get one step closer to millions of Verizon > customers > http://p.sf.net/sfu/verizon-dev2dev > -----Inline Attachment Follows----- > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From bisht.sudarshan at gmail.com Tue Dec 22 10:34:13 2009 From: bisht.sudarshan at gmail.com (sudarshan bisht) Date: Tue, 22 Dec 2009 15:04:13 +0530 Subject: [gst-devel] how to loop pipelines? In-Reply-To: <612642.59325.qm@web51304.mail.re2.yahoo.com> References: <785339900912220028y6c6ae99fpc707952806c5eb4c@mail.gmail.com> <612642.59325.qm@web51304.mail.re2.yahoo.com> Message-ID: <785339900912220134q34815d90k67cea7d48e0a1959@mail.gmail.com> try using alsasink . On Tue, Dec 22, 2009 at 2:59 PM, gather bzbz wrote: > Thanks. Tried, but failed with > > ERROR: from element /GstPipeline:pipeline0/GstOssSink:osssink0: Could not > open audio device for playback. Device is being used by another application. > > I guess all the pipes are executed in competition....Any suggestions? > > --- On Tue, 12/22/09, sudarshan bisht wrote: > > > From: sudarshan bisht > > Subject: Re: [gst-devel] how to loop pipelines? > > To: "Discussion of the development of GStreamer" < > gstreamer-devel at lists.sourceforge.net> > > Date: Tuesday, December 22, 2009, 12:28 AM > > type the same command n times in terminal > > . e.g filesrc ! mad ! audioconvert ! osssink filesrc ! > > mad ! audioconvert ! osssink filesrc ! mad ! audioconvert > > ! osssink ........ > > > > > > On Tue, Dec 22, 2009 at 1:53 PM, > > gather bzbz > > wrote: > > > > > > Yeah, can do that. But any way to loop it from the pipeline > > script itself? I googled a little bit, someone was talking > > about setting the pipe stages to get it done, but have not > > found any samples yet. Anyone can kindly provide some? > > Thanks. > > > > > > --- On Tue, 12/22/09, shinstar > > wrote: > > > > > From: shinstar > > > > > Subject: Re: [gst-devel] how to loop pipelines? > > > To: gstreamer-devel at lists.sourceforge.net > > > Date: Tuesday, December 22, 2009, 12:17 AM > > > > > > > > > > > > Hi, > > > Maybe you should write a simple shell script or build > > your > > > own GStreamer > > > applications. > > > > > > regards, > > > > > > > > > gather bzbz wrote: > > > > > > > > > > Say, if I have a mp3 file, I can play it with > > "filesrc > > > ! mad ! > > > > audioconvert ! osssink ", how can I loop it > > so that > > > the same mp3 file gets > > > > played again and again? idealy, the number of > > loops > > > > > can be controled by a > > > > number. Thanks a ton! > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > This SF.Net email is sponsored by the Verizon > > > > > Developer Community > > > > Take advantage of Verizon's best-in-class > > app > > > development support > > > > A streamlined, 14 day to market process makes > > app > > > distribution fast and > > > > easy > > > > > > Join now and get one step closer to millions of > > > Verizon customers > > > > http://p.sf.net/sfu/verizon-dev2dev > > > > _______________________________________________ > > > > > > gstreamer-devel mailing list > > > > gstreamer-devel at lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > > > > > > > -- > > > View this message in context: > http://n4.nabble.com/how-to-loop-pipelines-tp976779p976785.html > > > > > Sent from the GStreamer-devel mailing list archive at > > > Nabble.com. > > > > > > > > > ------------------------------------------------------------------------------ > > > This SF.Net email is sponsored by the Verizon > > Developer > > > > > Community > > > Take advantage of Verizon's best-in-class app > > development > > > support > > > A streamlined, 14 day to market process makes app > > > distribution fast and easy > > > Join now and get one step closer to millions of > > Verizon > > > > > customers > > > http://p.sf.net/sfu/verizon-dev2dev > > > _______________________________________________ > > > gstreamer-devel mailing list > > > > > gstreamer-devel at lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer > > Community > > Take advantage of Verizon's best-in-class app > > development support > > > > A streamlined, 14 day to market process makes app > > distribution fast and easy > > Join now and get one step closer to millions of Verizon > > customers > > http://p.sf.net/sfu/verizon-dev2dev > > > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > -- > > Regards, > > > > Sudarshan Bisht > > > > > > -----Inline Attachment Follows----- > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer > > Community > > Take advantage of Verizon's best-in-class app development > > support > > A streamlined, 14 day to market process makes app > > distribution fast and easy > > Join now and get one step closer to millions of Verizon > > customers > > http://p.sf.net/sfu/verizon-dev2dev > > -----Inline Attachment Follows----- > > > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -- Regards, Sudarshan Bisht -------------- next part -------------- An HTML attachment was scrubbed... URL: From llandwerlin at gmail.com Tue Dec 22 10:47:28 2009 From: llandwerlin at gmail.com (Lionel Landwerlin) Date: Tue, 22 Dec 2009 10:47:28 +0100 Subject: [gst-devel] Usage of gst_pad_alloc_buffer in source elements ? Message-ID: <4d28d4b50912220147t3827fca5i87414cab57d9f53d@mail.gmail.com> Hi gstreamer-devel, I'm interested in writing a bunch of plugins/elements to get gstreamer perform well enough to display SD/HD videos on a set top box chip. >From my firsts investigations, it seems quite possible and development should start quite soon. However, after reading a few article about gstreamer on TI OMAP chips (this one in particular http://www.eetimes.com/news/design/showArticle.jhtml?articleID=193401461&pgno=2 ), I'm wondering why most of the source elements does not use the gst_pad_alloc_buffer function. In my case, this would be quite interesting to avoid a memory copy and to directly write into a contigeous dma mmapped buffer. Is it something to be done ? Is there a very few interest from the community ? Thanks in advance for your responses. -- Lionel Landwerlin From wl2776 at gmail.com Tue Dec 22 10:51:59 2009 From: wl2776 at gmail.com (wl2776) Date: Tue, 22 Dec 2009 01:51:59 -0800 (PST) Subject: [gst-devel] How to make playbin to redraw frames on seek? Message-ID: <1261475519841-976820.post@n4.nabble.com> Hi all. My problem is that the playbin doesn't redraw video frames, when I try to seek in paused state. I tried both playbin and playbin2 with the same result. I am using the following code to play a video file. player = gst_element_factory_make("playbin","playbin0"); GstElement *bus = (GstElement *)gst_pipeline_get_bus(GST_PIPELINE(player)); gst_bus_set_sync_handler (GST_BUS(bus), (GstBusSyncHandler)gst_bus_sync_handler, this); gst_bus_add_watch (GST_BUS(bus), bus_call, this); gst_object_unref(bus); [ ... ] // open and play a media file g_object_set(G_OBJECT(player),"uri", g_locale_to_utf8(input->filename,-1,NULL,NULL,NULL),NULL); gst_element_set_state(GST_ELEMENT(player),GST_STATE_PLAYING); [ ... ] I also have a slider in my application, which shows an overall playing progress and allows seeking. My condition is to pause the playback when a user clicks on it. Here is the function, processing events from that slider. void CControlMainDialog::OnMarkerCtrlPosChange(LONG nPos) { if(!player || !GST_CLOCK_TIME_IS_VALID(stream_duration)) return; gint64 nLLPos = (gint64)(stream_duration * nPos/MARKER_CTRL_SCALE) ; gst_element_seek_simple(GST_ELEMENT(player),GST_FORMAT_TIME, (GstSeekFlags)(GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT), nLLPos); gst_element_get_state(GST_ELEMENT(player),NULL,NULL,100 * GST_MSECOND); gst_element_set_state(GST_ELEMENT(player),GST_STATE_PAUSED); UpdateToolbarState(); repaint_video(); } void CControlMainDialog::repaint_video() { gst_x_overlay_expose(GST_X_OVERLAY(videosink)); } The repaint_video method is called, I've added calls to OutputDebugString and seen the messages in the debug window. However, it displays always the last displayed frame, not the frame the playbin is currently positioned on. I tried digging the totem, however, it didn't help -- View this message in context: http://n4.nabble.com/How-to-make-playbin-to-redraw-frames-on-seek-tp976820p976820.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From debojyoti.pal at wipro.com Tue Dec 22 10:55:37 2009 From: debojyoti.pal at wipro.com (debojyoti.pal at wipro.com) Date: Tue, 22 Dec 2009 15:25:37 +0530 Subject: [gst-devel] Unable to display .bmp using gstreamer Message-ID: Hi, I need to know which plugin is required to play a .BMP file using Gstreamer. In one Ubuntu system, I am able to display an .bmp file using my test application through gstreamer, but the same application can't display the same .bmp file in another fedora system. Any help is appreciated. Regards, Deb -------------- next part -------------- An HTML attachment was scrubbed... URL: From julien at moutte.net Tue Dec 22 11:04:24 2009 From: julien at moutte.net (Julien Moutte) Date: Tue, 22 Dec 2009 11:04:24 +0100 Subject: [gst-devel] Usage of gst_pad_alloc_buffer in source elements ? In-Reply-To: <4d28d4b50912220147t3827fca5i87414cab57d9f53d@mail.gmail.com> References: <4d28d4b50912220147t3827fca5i87414cab57d9f53d@mail.gmail.com> Message-ID: <2601e9a90912220204q7be930d5sfc3e94e2c8421e68@mail.gmail.com> If your source element directly produce video frames then it makes sense to implement such allocation functions. As most source elements are producing compressed data (filesrc, demuxers,etc...), it does not really make sense to write into a downstream allocated buffer. Hope this helps, Julien Moutte, FLUENDO S.A. On Tue, Dec 22, 2009 at 10:47 AM, Lionel Landwerlin wrote: > Hi gstreamer-devel, > > I'm interested in writing a bunch of plugins/elements to get gstreamer > perform well enough to display SD/HD videos on a set top box chip. > >From my firsts investigations, it seems quite possible and development > should start quite soon. However, after reading a few article about > gstreamer on TI OMAP chips (this one in particular > > http://www.eetimes.com/news/design/showArticle.jhtml?articleID=193401461&pgno=2 > ), > I'm wondering why most of the source elements does not use the > gst_pad_alloc_buffer function. > > In my case, this would be quite interesting to avoid a memory copy and > to directly write into a contigeous dma mmapped buffer. > > Is it something to be done ? > Is there a very few interest from the community ? > > Thanks in advance for your responses. > > -- > Lionel Landwerlin > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From julien at moutte.net Tue Dec 22 11:08:54 2009 From: julien at moutte.net (Julien Moutte) Date: Tue, 22 Dec 2009 11:08:54 +0100 Subject: [gst-devel] How to make playbin to redraw frames on seek? In-Reply-To: <1261475519841-976820.post@n4.nabble.com> References: <1261475519841-976820.post@n4.nabble.com> Message-ID: <2601e9a90912220208u5efa0e4fr490584a0beb20d73@mail.gmail.com> What video sink are you using ? It does not appear in your code sample. You should not have to set the pipeline to PAUSED state after you issued the seek, but that can depend on the exact use case of your application though. Best regards, Julien Moutte, FLUENDO S.A. On Tue, Dec 22, 2009 at 10:51 AM, wl2776 wrote: > > Hi all. > My problem is that the playbin doesn't redraw video frames, when I try to > seek in paused state. > I tried both playbin and playbin2 with the same result. > > I am using the following code to play a video file. > player = gst_element_factory_make("playbin","playbin0"); > GstElement *bus = (GstElement *)gst_pipeline_get_bus(GST_PIPELINE(player)); > gst_bus_set_sync_handler (GST_BUS(bus), > (GstBusSyncHandler)gst_bus_sync_handler, this); > gst_bus_add_watch (GST_BUS(bus), bus_call, this); > gst_object_unref(bus); > > [ ... ] > // open and play a media file > g_object_set(G_OBJECT(player),"uri", > g_locale_to_utf8(input->filename,-1,NULL,NULL,NULL),NULL); > gst_element_set_state(GST_ELEMENT(player),GST_STATE_PLAYING); > [ ... ] > > I also have a slider in my application, which shows an overall playing > progress and allows seeking. My condition is to pause the playback when a > user clicks on it. Here is the function, processing events from that > slider. > > void CControlMainDialog::OnMarkerCtrlPosChange(LONG nPos) > { > if(!player || !GST_CLOCK_TIME_IS_VALID(stream_duration)) return; > gint64 nLLPos = (gint64)(stream_duration * nPos/MARKER_CTRL_SCALE) ; > gst_element_seek_simple(GST_ELEMENT(player),GST_FORMAT_TIME, > (GstSeekFlags)(GST_SEEK_FLAG_FLUSH | > GST_SEEK_FLAG_KEY_UNIT), > nLLPos); > gst_element_get_state(GST_ELEMENT(player),NULL,NULL,100 * GST_MSECOND); > gst_element_set_state(GST_ELEMENT(player),GST_STATE_PAUSED); > UpdateToolbarState(); > repaint_video(); > } > > void CControlMainDialog::repaint_video() > { > gst_x_overlay_expose(GST_X_OVERLAY(videosink)); > } > > > The repaint_video method is called, I've added calls to OutputDebugString > and seen the messages in the debug window. > However, it displays always the last displayed frame, not the frame the > playbin is currently positioned on. > I tried digging the totem, however, it didn't help > -- > View this message in context: > http://n4.nabble.com/How-to-make-playbin-to-redraw-frames-on-seek-tp976820p976820.html > Sent from the GStreamer-devel mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From llandwerlin at gmail.com Tue Dec 22 11:15:08 2009 From: llandwerlin at gmail.com (Lionel Landwerlin) Date: Tue, 22 Dec 2009 11:15:08 +0100 Subject: [gst-devel] Usage of gst_pad_alloc_buffer in source elements ? In-Reply-To: <2601e9a90912220204q7be930d5sfc3e94e2c8421e68@mail.gmail.com> References: <4d28d4b50912220147t3827fca5i87414cab57d9f53d@mail.gmail.com> <2601e9a90912220204q7be930d5sfc3e94e2c8421e68@mail.gmail.com> Message-ID: <4d28d4b50912220215v719d1395s74d1ee7cc179e0b@mail.gmail.com> Well... I'm expecting mpegts data from various sources (file/http/udp/etc...) to be transfered through dma to the hardware demuxer. Does it make sense ? -- Lionel Landwerlin On Tue, Dec 22, 2009 at 11:04 AM, Julien Moutte wrote: > If your source element directly produce video frames then it makes sense to > implement such allocation functions. > > As most source elements are producing compressed data (filesrc, > demuxers,etc...), it does not really make sense to write into a downstream > allocated buffer. > > Hope this helps, > > Julien Moutte, > FLUENDO S.A. > > > On Tue, Dec 22, 2009 at 10:47 AM, Lionel Landwerlin > wrote: >> >> Hi gstreamer-devel, >> >> I'm interested in writing a bunch of plugins/elements to get gstreamer >> perform well enough to display SD/HD videos on a set top box chip. >> >From my firsts investigations, it seems quite possible and development >> should start quite soon. However, after reading a few article about >> gstreamer on TI OMAP chips (this one in particular >> >> http://www.eetimes.com/news/design/showArticle.jhtml?articleID=193401461&pgno=2 >> ), >> I'm wondering why most of the source elements does not use the >> gst_pad_alloc_buffer function. >> >> In my case, this would be quite interesting to avoid a memory copy and >> to directly write into a contigeous dma mmapped buffer. >> >> Is it something to be done ? >> Is there a very few interest from the community ? >> >> Thanks in advance for your responses. >> >> -- >> Lionel Landwerlin >> >> >> ------------------------------------------------------------------------------ >> This SF.Net email is sponsored by the Verizon Developer Community >> Take advantage of Verizon's best-in-class app development support >> A streamlined, 14 day to market process makes app distribution fast and >> easy >> Join now and get one step closer to millions of Verizon customers >> http://p.sf.net/sfu/verizon-dev2dev >> _______________________________________________ >> gstreamer-devel mailing list >> gstreamer-devel at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > From julien at moutte.net Tue Dec 22 11:19:34 2009 From: julien at moutte.net (Julien Moutte) Date: Tue, 22 Dec 2009 11:19:34 +0100 Subject: [gst-devel] Usage of gst_pad_alloc_buffer in source elements ? In-Reply-To: <4d28d4b50912220215v719d1395s74d1ee7cc179e0b@mail.gmail.com> References: <4d28d4b50912220147t3827fca5i87414cab57d9f53d@mail.gmail.com> <2601e9a90912220204q7be930d5sfc3e94e2c8421e68@mail.gmail.com> <4d28d4b50912220215v719d1395s74d1ee7cc179e0b@mail.gmail.com> Message-ID: <2601e9a90912220219p40a72bboba563b6b23b48810@mail.gmail.com> Potentially yes, you could save one memcpy by doing that. No idea of exactly how much you would gain by doing that for compressed data buffers, might be worth a try :) Julien Moutte, FLUENDO S.A. On Tue, Dec 22, 2009 at 11:15 AM, Lionel Landwerlin wrote: > Well... > > I'm expecting mpegts data from various sources (file/http/udp/etc...) > to be transfered through dma to the hardware demuxer. > Does it make sense ? > > -- > Lionel Landwerlin > > On Tue, Dec 22, 2009 at 11:04 AM, Julien Moutte wrote: > > If your source element directly produce video frames then it makes sense > to > > implement such allocation functions. > > > > As most source elements are producing compressed data (filesrc, > > demuxers,etc...), it does not really make sense to write into a > downstream > > allocated buffer. > > > > Hope this helps, > > > > Julien Moutte, > > FLUENDO S.A. > > > > > > On Tue, Dec 22, 2009 at 10:47 AM, Lionel Landwerlin < > llandwerlin at gmail.com> > > wrote: > >> > >> Hi gstreamer-devel, > >> > >> I'm interested in writing a bunch of plugins/elements to get gstreamer > >> perform well enough to display SD/HD videos on a set top box chip. > >> >From my firsts investigations, it seems quite possible and development > >> should start quite soon. However, after reading a few article about > >> gstreamer on TI OMAP chips (this one in particular > >> > >> > http://www.eetimes.com/news/design/showArticle.jhtml?articleID=193401461&pgno=2 > >> ), > >> I'm wondering why most of the source elements does not use the > >> gst_pad_alloc_buffer function. > >> > >> In my case, this would be quite interesting to avoid a memory copy and > >> to directly write into a contigeous dma mmapped buffer. > >> > >> Is it something to be done ? > >> Is there a very few interest from the community ? > >> > >> Thanks in advance for your responses. > >> > >> -- > >> Lionel Landwerlin > >> > >> > >> > ------------------------------------------------------------------------------ > >> This SF.Net email is sponsored by the Verizon Developer Community > >> Take advantage of Verizon's best-in-class app development support > >> A streamlined, 14 day to market process makes app distribution fast and > >> easy > >> Join now and get one step closer to millions of Verizon customers > >> http://p.sf.net/sfu/verizon-dev2dev > >> _______________________________________________ > >> gstreamer-devel mailing list > >> gstreamer-devel at lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer Community > > Take advantage of Verizon's best-in-class app development support > > A streamlined, 14 day to market process makes app distribution fast and > easy > > Join now and get one step closer to millions of Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at heihaier.org Tue Dec 22 11:26:52 2009 From: admin at heihaier.org (=?UTF-8?B?6buR5a2p5YS/?=) Date: Tue, 22 Dec 2009 18:26:52 +0800 Subject: [gst-devel] Unable to display .bmp using gstreamer In-Reply-To: <9f92bc780912220226x5bc92148gff1f0a416b9921e5@mail.gmail.com> References: <9f92bc780912220226x5bc92148gff1f0a416b9921e5@mail.gmail.com> Message-ID: <9f92bc780912220226v5a61583ak5887b82a1b42406f@mail.gmail.com> Check the gstreamer version and plugins in fedora system. On Dec 22, 2009 5:56 PM, wrote: Hi, I need to know which plugin is required to play a .BMP file using Gstreamer. In one Ubuntu system, I am able to display an .bmp file using my test application through gstreamer, but the same application can't display the same .bmp file in another fedora system. Any help is appreciated. Regards, Deb ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: From bisht.sudarshan at gmail.com Tue Dec 22 11:32:28 2009 From: bisht.sudarshan at gmail.com (sudarshan bisht) Date: Tue, 22 Dec 2009 16:02:28 +0530 Subject: [gst-devel] Unable to display .bmp using gstreamer In-Reply-To: References: Message-ID: <785339900912220232y3fe5d2b6x45a4d9c2a0333162@mail.gmail.com> Try checking the availability of plugins required . Or install latest Gstreamer . On Tue, Dec 22, 2009 at 3:25 PM, wrote: > Hi, > > I need to know which plugin is required to play a .BMP file using > Gstreamer. In one Ubuntu system, I am able to display an .bmp file using my > test application through gstreamer, but the same application can't display > the same .bmp file in another fedora system. > > Any help is appreciated. > > Regards, > Deb > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- Regards, Sudarshan Bisht -------------- next part -------------- An HTML attachment was scrubbed... URL: From llandwerlin at gmail.com Tue Dec 22 11:38:53 2009 From: llandwerlin at gmail.com (Lionel Landwerlin) Date: Tue, 22 Dec 2009 11:38:53 +0100 Subject: [gst-devel] Usage of gst_pad_alloc_buffer in source elements ? In-Reply-To: <2601e9a90912220219p40a72bboba563b6b23b48810@mail.gmail.com> References: <4d28d4b50912220147t3827fca5i87414cab57d9f53d@mail.gmail.com> <2601e9a90912220204q7be930d5sfc3e94e2c8421e68@mail.gmail.com> <4d28d4b50912220215v719d1395s74d1ee7cc179e0b@mail.gmail.com> <2601e9a90912220219p40a72bboba563b6b23b48810@mail.gmail.com> Message-ID: <4d28d4b50912220238i6e1a8c30s3ca2aafdc09afcf@mail.gmail.com> Ok, thanks you for your quick answer ! So now the 100$ question ;) If there is a reasonnable gain, would it be considered for inclusion in the official gstreamer elements ? That's just to save me some time in posting patches whether nobody is interested. -- Lionel Landwerlin On Tue, Dec 22, 2009 at 11:19 AM, Julien Moutte wrote: > Potentially yes, you could save one memcpy by doing that. No idea of exactly > how much you would gain by doing that for compressed data buffers, might be > worth a try :) > > Julien Moutte, > FLUENDO S.A. > > > On Tue, Dec 22, 2009 at 11:15 AM, Lionel Landwerlin > wrote: >> >> Well... >> >> I'm expecting mpegts data from various sources (file/http/udp/etc...) >> to be transfered through dma to the hardware demuxer. >> Does it make sense ? >> >> -- >> Lionel Landwerlin >> >> On Tue, Dec 22, 2009 at 11:04 AM, Julien Moutte wrote: >> > If your source element directly produce video frames then it makes sense >> > to >> > implement such allocation functions. >> > >> > As most source elements are producing compressed data (filesrc, >> > demuxers,etc...), it does not really make sense to write into a >> > downstream >> > allocated buffer. >> > >> > Hope this helps, >> > >> > Julien Moutte, >> > FLUENDO S.A. >> > >> > >> > On Tue, Dec 22, 2009 at 10:47 AM, Lionel Landwerlin >> > >> > wrote: >> >> >> >> Hi gstreamer-devel, >> >> >> >> I'm interested in writing a bunch of plugins/elements to get gstreamer >> >> perform well enough to display SD/HD videos on a set top box chip. >> >> >From my firsts investigations, it seems quite possible and development >> >> should start quite soon. However, after reading a few article about >> >> gstreamer on TI OMAP chips (this one in particular >> >> >> >> >> >> http://www.eetimes.com/news/design/showArticle.jhtml?articleID=193401461&pgno=2 >> >> ), >> >> I'm wondering why most of the source elements does not use the >> >> gst_pad_alloc_buffer function. >> >> >> >> In my case, this would be quite interesting to avoid a memory copy and >> >> to directly write into a contigeous dma mmapped buffer. >> >> >> >> Is it something to be done ? >> >> Is there a very few interest from the community ? >> >> >> >> Thanks in advance for your responses. >> >> >> >> -- >> >> Lionel Landwerlin >> >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> >> This SF.Net email is sponsored by the Verizon Developer Community >> >> Take advantage of Verizon's best-in-class app development support >> >> A streamlined, 14 day to market process makes app distribution fast and >> >> easy >> >> Join now and get one step closer to millions of Verizon customers >> >> http://p.sf.net/sfu/verizon-dev2dev >> >> _______________________________________________ >> >> gstreamer-devel mailing list >> >> gstreamer-devel at lists.sourceforge.net >> >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> > >> > >> > >> > ------------------------------------------------------------------------------ >> > This SF.Net email is sponsored by the Verizon Developer Community >> > Take advantage of Verizon's best-in-class app development support >> > A streamlined, 14 day to market process makes app distribution fast and >> > easy >> > Join now and get one step closer to millions of Verizon customers >> > http://p.sf.net/sfu/verizon-dev2dev >> > _______________________________________________ >> > gstreamer-devel mailing list >> > gstreamer-devel at lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> > >> > >> >> >> ------------------------------------------------------------------------------ >> This SF.Net email is sponsored by the Verizon Developer Community >> Take advantage of Verizon's best-in-class app development support >> A streamlined, 14 day to market process makes app distribution fast and >> easy >> Join now and get one step closer to millions of Verizon customers >> http://p.sf.net/sfu/verizon-dev2dev >> _______________________________________________ >> gstreamer-devel mailing list >> gstreamer-devel at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > From wl2776 at gmail.com Tue Dec 22 11:41:34 2009 From: wl2776 at gmail.com (wl2776) Date: Tue, 22 Dec 2009 02:41:34 -0800 (PST) Subject: [gst-devel] How to make playbin to redraw frames on seek? In-Reply-To: <2601e9a90912220208u5efa0e4fr490584a0beb20d73@mail.gmail.com> References: <1261475519841-976820.post@n4.nabble.com> <2601e9a90912220208u5efa0e4fr490584a0beb20d73@mail.gmail.com> Message-ID: <1261478494845-976860.post@n4.nabble.com> Julien Moutte-2 wrote: > > What video sink are you using ? It does not appear in your code sample. > Video sink was generated automatically. I've dumped an image using GST_DEBUG_BIN_TO_DOT_FILE, it appeared "videosink-actual-sink-dshowvideo". Julien Moutte-2 wrote: > > You should not have to set the pipeline to PAUSED state after you issued > the > seek, but that can depend on the exact use case of your application > though. > This is a condition to my application, imposed by a client. The player has to pause playback when the slider is clicked. Anyway, this doesn't matter. The player also has a play/pause button, and when I pause playback with the button, it doesn't redraw frames on seeking in paused state. I've downloaded the GStreamer-Winbuild from here: http://www.gstreamer-winbuild.ylatuya.es/ -- View this message in context: http://n4.nabble.com/How-to-make-playbin-to-redraw-frames-on-seek-tp976820p976860.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From msmith at xiph.org Tue Dec 22 11:44:22 2009 From: msmith at xiph.org (Michael Smith) Date: Tue, 22 Dec 2009 02:44:22 -0800 Subject: [gst-devel] How to make playbin to redraw frames on seek? In-Reply-To: <1261478494845-976860.post@n4.nabble.com> References: <1261475519841-976820.post@n4.nabble.com> <2601e9a90912220208u5efa0e4fr490584a0beb20d73@mail.gmail.com> <1261478494845-976860.post@n4.nabble.com> Message-ID: <3c1737210912220244g2b51d33fgccb5ef0d2cf7963a@mail.gmail.com> On Tue, Dec 22, 2009 at 2:41 AM, wl2776 wrote: > > > Julien Moutte-2 wrote: >> >> What video sink are you using ? It does not appear in your code sample. >> > Video sink was generated automatically. > I've dumped an image using GST_DEBUG_BIN_TO_DOT_FILE, it appeared > "videosink-actual-sink-dshowvideo". dshowvideosink has a bug in this area. I was looking at it the other week, but didn't get time to finish the fix before I went on holiday. I should have a fix for it in early January. Mike From lists at svrinformatica.it Tue Dec 22 11:48:18 2009 From: lists at svrinformatica.it (Mailing List SVR) Date: Tue, 22 Dec 2009 11:48:18 +0100 Subject: [gst-devel] jpegparse - bug 583098 In-Reply-To: References: Message-ID: <200912221148.18232.lists@svrinformatica.it> Hi Victor, I want to test jpegparse I'm trying to install on ubuntu karmic: apt-get source gstreamer0.10-plugins-bad dpkg-source -x gst-plugins-bad0.10_0.10.14-4ubuntu1.dsc now I copied the folder gst/jpegparse in my source tree and then dpkg-buildpackage -rfakeroot -b but the jpegparse plugin is not built I think I have to hack the configure file, can you give some hints? thanks Nicola In data domenica 13 dicembre 2009 16:29:33, Victor Manuel J?quez Leal ha scritto: : > Hi, > > I'm just wondering if somebody can take a look to the proposed patch in > > https://bugzilla.gnome.org/show_bug.cgi?id=583098 > > and hopefully commit it :) > > Cheers > > vmjl > > --------------------------------------------------------------------------- > --- Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From ylatuya at gmail.com Tue Dec 22 12:10:41 2009 From: ylatuya at gmail.com (Andoni Morales) Date: Tue, 22 Dec 2009 12:10:41 +0100 Subject: [gst-devel] How to make playbin to redraw frames on seek? In-Reply-To: <1261478494845-976860.post@n4.nabble.com> References: <1261475519841-976820.post@n4.nabble.com> <2601e9a90912220208u5efa0e4fr490584a0beb20d73@mail.gmail.com> <1261478494845-976860.post@n4.nabble.com> Message-ID: <772db3280912220310h7edacd5ey25a2e7875046e5ca@mail.gmail.com> 2009/12/22 wl2776 : > > > Julien Moutte-2 wrote: >> >> What video sink are you using ? It does not appear in your code sample. >> > Video sink was generated automatically. > I've dumped an image using GST_DEBUG_BIN_TO_DOT_FILE, it appeared > "videosink-actual-sink-dshowvideo". > > > Julien Moutte-2 wrote: >> >> You should not have to set the pipeline to PAUSED state after you issued >> the >> seek, but that can depend on the exact use case of your application >> though. >> > This is a condition to my application, imposed by a client. The player has > to pause playback when the slider is clicked. > Anyway, this doesn't matter. The player also has a play/pause button, and > when I pause playback with the button, it doesn't redraw frames on seeking > in paused state. I'm actually using the directdraw sink for that in longomatch (I need it for framestepping), as it implements the XOverlay expose() method, whilst the directshow one doesn't (I filled a bug for that:https://bugzilla.gnome.org/show_bug.cgi?id=579926) Anyway you should keep using the directshow sink instead of the directdraw one for performance reasons. For your problem you can use a hackish workarround to update frames while seeking which consist in setting the pipeline to GST_STATE_PLAY before calling the seek function and reset it to GST_STATE_PAUSE. It's a very ugly hack but worked for me (don't blame me for the indentation, it's an old revision ;)): http://git.gnome.org/browse/longomatch/tree/libcesarplayer/src/bacon-video-widget-gst-0.10.c?id=18a08c71abca5d2f5ec194fb6f86196e0ddd68fc#n2302 Andoni > > I've downloaded the GStreamer-Winbuild from here: > http://www.gstreamer-winbuild.ylatuya.es/ > -- > View this message in context: http://n4.nabble.com/How-to-make-playbin-to-redraw-frames-on-seek-tp976820p976860.html > Sent from the GStreamer-devel mailing list archive at Nabble.com. > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -- Andoni Morales Alastruey LongoMatch:The Digital Coach http://www.longomatch.ylatuya.es From wl2776 at gmail.com Tue Dec 22 15:13:38 2009 From: wl2776 at gmail.com (wl2776) Date: Tue, 22 Dec 2009 06:13:38 -0800 (PST) Subject: [gst-devel] How to make playbin to redraw frames on seek? In-Reply-To: <772db3280912220310h7edacd5ey25a2e7875046e5ca@mail.gmail.com> References: <1261475519841-976820.post@n4.nabble.com> <2601e9a90912220208u5efa0e4fr490584a0beb20d73@mail.gmail.com> <1261478494845-976860.post@n4.nabble.com> <772db3280912220310h7edacd5ey25a2e7875046e5ca@mail.gmail.com> Message-ID: <1261491218580-976993.post@n4.nabble.com> Andoni Morales wrote: > > I'm actually using the directdraw sink for that in longomatch (I need > it for framestepping), as it implements the XOverlay expose() method, > Thank you! It worked. How did you manage to implement framestepping? Is your code open? I have to implement this also. I was looking at the GStreamer about 1 year ago, and the developers told me that they didn't implement frame accurate seeking for MPEG-2 -- View this message in context: http://n4.nabble.com/How-to-make-playbin-to-redraw-frames-on-seek-tp976820p976993.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From wl2776 at gmail.com Tue Dec 22 15:24:46 2009 From: wl2776 at gmail.com (wl2776) Date: Tue, 22 Dec 2009 06:24:46 -0800 (PST) Subject: [gst-devel] How to make playbin to redraw frames on seek? In-Reply-To: <1261491218580-976993.post@n4.nabble.com> References: <1261475519841-976820.post@n4.nabble.com> <2601e9a90912220208u5efa0e4fr490584a0beb20d73@mail.gmail.com> <1261478494845-976860.post@n4.nabble.com> <772db3280912220310h7edacd5ey25a2e7875046e5ca@mail.gmail.com> <1261491218580-976993.post@n4.nabble.com> Message-ID: <1261491886574-977000.post@n4.nabble.com> wl2776 wrote: > > I was looking at the GStreamer about 1 year ago, and the developers told > me that they didn't implement frame accurate seeking for MPEG-2 > I've found this: http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-framestep.txt Wow! Great news! Will study... -- View this message in context: http://n4.nabble.com/How-to-make-playbin-to-redraw-frames-on-seek-tp976820p977000.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From rbultje at ronald.bitfreak.net Tue Dec 22 15:51:48 2009 From: rbultje at ronald.bitfreak.net (Ronald S. Bultje) Date: Tue, 22 Dec 2009 09:51:48 -0500 Subject: [gst-devel] Fwd: Question about using GStreamer In-Reply-To: References: Message-ID: <34539a480912220651k1242587bx26bb388667cfe3c3@mail.gmail.com> Can anyone help this fellow? Cheers, Ronald ---------- Forwarded message ---------- From: mehrdad fallahpour Date: Tue, Dec 22, 2009 at 7:49 AM Subject: Question about using GStreamer To: rbultje at ronald.bitfreak.net Dear Ronald I'm Mehrdad an Electronic Engineer. I want to produce an embedded video processor using lovely Linux & GStreamer. I have been working on application with Gtk+ and Gstreamer to show and process video. I want to show the original Video in a Ximage and after processing data show processed data on another seperate Ximage of Gtk. I could show Video frames with playbin and uri of GStreamer but unfortunately when I want to make it with a pipeline and linking low-level elements like source (filesrc), demux, queue, decoder, ffmpegcolorspace and vscale and videosink, they can't link correctly and it's bus issues a message of "Internal data stream error". This is very big problem with very few source and example for GStreamer in the Internet and it causes I involved to this trouble 3 weeks. Dear Wim if possible do a favor for me and guide me in this issue (at least an useful link in the Internet). I'm looking forward to hearing from you. Best Regards From gustavo.orrillo at gmail.com Tue Dec 22 19:12:27 2009 From: gustavo.orrillo at gmail.com (Gustavo Orrillo) Date: Tue, 22 Dec 2009 12:12:27 -0600 Subject: [gst-devel] Fwd: Question about using GStreamer In-Reply-To: <34539a480912220651k1242587bx26bb388667cfe3c3@mail.gmail.com> References: <34539a480912220651k1242587bx26bb388667cfe3c3@mail.gmail.com> Message-ID: Hi Mehrdad, Check how we use it with Moldeo: http://sourceforge.net/projects/moldeo/develop Check out the project from svn and then go through the moGSGraph.cpp file, it shows how we use it in our project Cheers, 2009/12/22 Ronald S. Bultje > Can anyone help this fellow? > > Cheers, > Ronald > > ---------- Forwarded message ---------- > From: mehrdad fallahpour > Date: Tue, Dec 22, 2009 at 7:49 AM > Subject: Question about using GStreamer > To: rbultje at ronald.bitfreak.net > > > Dear Ronald > > I'm Mehrdad an Electronic Engineer. > I want to produce an embedded video processor using lovely Linux & > GStreamer. > I have been working on application with Gtk+ and Gstreamer to show and > process video. > I want to show the original Video in a Ximage and after processing > data show processed data on another seperate Ximage of Gtk. > I could show Video frames with playbin and uri of GStreamer but > unfortunately when I want to make it with a pipeline and linking > low-level elements like source (filesrc), demux, queue, decoder, > ffmpegcolorspace and vscale and videosink, they can't link correctly > and it's bus issues a message of "Internal data stream error". > This is very big problem with very few source and example for > GStreamer in the Internet and it causes I involved to this trouble 3 > weeks. Dear Wim if possible do a favor for me and guide me in this > issue (at least an useful link in the Internet). > > I'm looking forward to hearing from you. > Best Regards > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gustavo.orrillo at gmail.com Tue Dec 22 19:12:27 2009 From: gustavo.orrillo at gmail.com (Gustavo Orrillo) Date: Tue, 22 Dec 2009 12:12:27 -0600 Subject: [gst-devel] Fwd: Question about using GStreamer In-Reply-To: <34539a480912220651k1242587bx26bb388667cfe3c3@mail.gmail.com> References: <34539a480912220651k1242587bx26bb388667cfe3c3@mail.gmail.com> Message-ID: Hi Mehrdad, Check how we use it with Moldeo: http://sourceforge.net/projects/moldeo/develop Check out the project from svn and then go through the moGSGraph.cpp file, it shows how we use it in our project Cheers, 2009/12/22 Ronald S. Bultje > Can anyone help this fellow? > > Cheers, > Ronald > > ---------- Forwarded message ---------- > From: mehrdad fallahpour > Date: Tue, Dec 22, 2009 at 7:49 AM > Subject: Question about using GStreamer > To: rbultje at ronald.bitfreak.net > > > Dear Ronald > > I'm Mehrdad an Electronic Engineer. > I want to produce an embedded video processor using lovely Linux & > GStreamer. > I have been working on application with Gtk+ and Gstreamer to show and > process video. > I want to show the original Video in a Ximage and after processing > data show processed data on another seperate Ximage of Gtk. > I could show Video frames with playbin and uri of GStreamer but > unfortunately when I want to make it with a pipeline and linking > low-level elements like source (filesrc), demux, queue, decoder, > ffmpegcolorspace and vscale and videosink, they can't link correctly > and it's bus issues a message of "Internal data stream error". > This is very big problem with very few source and example for > GStreamer in the Internet and it causes I involved to this trouble 3 > weeks. Dear Wim if possible do a favor for me and guide me in this > issue (at least an useful link in the Internet). > > I'm looking forward to hearing from you. > Best Regards > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gstelzz at yahoo.fr Tue Dec 22 22:37:27 2009 From: gstelzz at yahoo.fr (Aurelien Grimaud) Date: Tue, 22 Dec 2009 22:37:27 +0100 Subject: [gst-devel] saving rtsp stream tracks In-Reply-To: <1261470266.4184.49.camel@metal> References: <574899.3239.qm@web51303.mail.re2.yahoo.com> <1261470266.4184.49.camel@metal> Message-ID: <4B313C17.9070205@yahoo.fr> Le 22/12/2009 09:24, Wim Taymans a ?crit : > On Mon, 2009-12-21 at 22:54 -0800, gather bzbz wrote: > >> Hi, Aurelien, >> >> Thanks for the hint. Really appreciate it. >> >> I ran the said pipeline, it failed with the following errors >> >> ***************************************************************** >> >> /GstPipeline:pipeline0/GstCapsFilter:capsfilter2: caps = application/x-rtp, media=(string)audio >> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3: caps = application/x-rtp, media=(string)video >> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)41 >> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)1 >> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-l1 >> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad7: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mod1 >> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-l1 >> /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(s1 >> /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad6: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264,1 >> /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)42801 >> New clock: GstSystemClock >> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4: caps = application/x-rtp, media=(string)audio >> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-le1 >> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad9: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode1 >> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-le1 >> /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(st1 >> /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad8: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, 1 >> 0:00:02.744148481 1885 0xba050 WARN basesrc gstbasesrc.c:2334:gst_base_src_loop: error: Internal data flow error. >> 0:00:03.073260000 1885 0xba050 WARN basesrc gstbasesrc.c:2334:gst_base_src_loop: error: streaming task paused, reason not-linked (-1) >> >> ***************************************************************** >> >> The strange thing is that, after rtspsrc, the track with payload 14 (according to the rtsp SDP media session) is supposed to have "media=audio", but somehow the rtsp pipe thinks it is "media=video payload=14 encoding-name=H.264). Thus, I think the whole capfilter things are messed up. I am totally lost here. Any pads here for rtspsrc? Please help!. >> > gst-launch is not smart enough to link this pipeline because it > negotiates a format after creating the pad. You'll have to write an > application. > > Wim > > Actually this pipeline works ... Why does gather bzbz's uri fail ? How come the 2 tracks caps are the same except for payload ? Gather, what rtsp server do you use ? Could you send the sdp ? gst-launch -v rtspsrc location=rtsp://127.0.0.1/sample_50kbit.3gp name=src src. ! application/x-rtp, media=audio ! fakesink sync=TRUE src. ! application/x-rtp, media=video ! fakesink sync=TRUE Setting pipeline to PAUSED ... /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0: latency = 3000 /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1: timeout = 5000000 /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3: timeout = 5000000 Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1: ntp-ns-base = 3470505739412582000 /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0: ntp-ns-base = 3470505739412582000 /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src: caps = application/x-rtcp /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink: caps = application/x-rtcp /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src: caps = application/x-rtcp /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink: caps = application/x-rtcp /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1: timeout = 0 /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3: timeout = 0 /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp: caps = application/x-rtcp New clock: GstSystemClock /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp: caps = application/x-rtcp /GstPipeline:pipeline0/GstCapsFilter:capsfilter2: caps = application/x-rtp, media=(string)audio /GstPipeline:pipeline0/GstCapsFilter:capsfilter3: caps = application/x-rtp, media=(string)video /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\ 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080, npt-start=(guint64)0, npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\ 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080, npt-start=(guint64)0, npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\ 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080, npt-start=(guint64)0, npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad7: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\ 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080, npt-start=(guint64)0, npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad6: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\ 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080, npt-start=(guint64)0, npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\ 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080, npt-start=(guint64)0, npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "preroll ******* " WARNING: from element /GstPipeline:pipeline0/GstFakeSink:fakesink1: Internal data flow problem. Additional debug info: gstbasesink.c(3315): gst_base_sink_chain_unlocked (): /GstPipeline:pipeline0/GstFakeSink:fakesink1: Received buffer without a new-segment. Assuming timestamps start from 0. /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1: caps = application/x-rtcp /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src: caps = application/x-rtcp /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink: caps = application/x-rtcp /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1.GstProxyPad:proxypad5: caps = application/x-rtcp /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0: caps = application/x-rtcp /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src: caps = application/x-rtcp /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink: caps = application/x-rtcp /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0.GstProxyPad:proxypad2: caps = application/x-rtcp /GstPipeline:pipeline0/GstCapsFilter:capsfilter4: caps = application/x-rtp, media=(string)audio /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src: caps = application/x-rtp, media=(string)audio, payload=(int)97, clock-rate=(int)8000, encoding-name=(string)AMR, encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0, npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink: caps = application/x-rtp, media=(string)audio, payload=(int)97, clock-rate=(int)8000, encoding-name=(string)AMR, encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0, npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97: caps = application/x-rtp, media=(string)audio, payload=(int)97, clock-rate=(int)8000, encoding-name=(string)AMR, encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0, npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad9: caps = application/x-rtp, media=(string)audio, payload=(int)97, clock-rate=(int)8000, encoding-name=(string)AMR, encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0, npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad8: caps = application/x-rtp, media=(string)audio, payload=(int)97, clock-rate=(int)8000, encoding-name=(string)AMR, encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0, npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = application/x-rtp, media=(string)audio, payload=(int)97, clock-rate=(int)8000, encoding-name=(string)AMR, encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0, npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "preroll ******* " WARNING: from element /GstPipeline:pipeline0/GstFakeSink:fakesink0: Internal data flow problem. Additional debug info: gstbasesink.c(3315): gst_base_sink_chain_unlocked (): /GstPipeline:pipeline0/GstFakeSink:fakesink0: Received buffer without a new-segment. Assuming timestamps start from 0. /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 298 bytes, timestamp: 0:00:00.029967661, duration: none, offset: -1, offset_end: -1, flags: 32) 0x82d63a0" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 113 bytes, timestamp: 0:00:00.029723222, duration: none, offset: -1, offset_end: -1, flags: 32) 0xb5f0bd18" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 39 bytes, timestamp: 0:00:00.096627699, duration: none, offset: -1, offset_end: -1, flags: 0) 0x82d6450" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 113 bytes, timestamp: 0:00:00.129621419, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb5f0bdc8" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 73 bytes, timestamp: 0:00:00.163267870, duration: none, offset: -1, offset_end: -1, flags: 0) 0x82d6500" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 113 bytes, timestamp: 0:00:00.229215223, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb5f0be78" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 186 bytes, timestamp: 0:00:00.229861203, duration: none, offset: -1, offset_end: -1, flags: 0) 0x82d65b0" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 46 bytes, timestamp: 0:00:00.296405174, duration: none, offset: -1, offset_end: -1, flags: 0) 0x82d6660" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 113 bytes, timestamp: 0:00:00.328310421, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb5f0bf28" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 46 bytes, timestamp: 0:00:00.362889122, duration: none, offset: -1, offset_end: -1, flags: 0) 0x82d6710" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 113 bytes, timestamp: 0:00:00.426738076, duration: none, offset: -1, offset_end: -1, flags: 0) 0x82d6030" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 110 bytes, timestamp: 0:00:00.429277600, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b05038" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 167 bytes, timestamp: 0:00:00.495591078, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b050e8" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 113 bytes, timestamp: 0:00:00.524379558, duration: none, offset: -1, offset_end: -1, flags: 0) 0x82d60e0" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 212 bytes, timestamp: 0:00:00.561827296, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b05198" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 113 bytes, timestamp: 0:00:00.621195558, duration: none, offset: -1, offset_end: -1, flags: 0) 0x82d6190" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 135 bytes, timestamp: 0:00:00.627925760, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b05248" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 166 bytes, timestamp: 0:00:00.693966778, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b052f8" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 113 bytes, timestamp: 0:00:00.717251820, duration: none, offset: -1, offset_end: -1, flags: 0) 0x82d6240" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 214 bytes, timestamp: 0:00:00.759969955, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b053a8" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 113 bytes, timestamp: 0:00:00.812731813, duration: none, offset: -1, offset_end: -1, flags: 0) 0x82d62f0" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 260 bytes, timestamp: 0:00:00.825923657, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b05458" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 226 bytes, timestamp: 0:00:00.891898231, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b05508" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 113 bytes, timestamp: 0:00:00.907926480, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b068b8" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 336 bytes, timestamp: 0:00:00.957919311, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b055b8" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 113 bytes, timestamp: 0:00:01.003195304, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b06968" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 252 bytes, timestamp: 0:00:01.023984631, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b05668" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 255 bytes, timestamp: 0:00:01.090144543, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b05718" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 113 bytes, timestamp: 0:00:01.098893340, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b06a18" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 278 bytes, timestamp: 0:00:01.156404381, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b06808" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 113 bytes, timestamp: 0:00:01.195322355, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b06ac8" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 301 bytes, timestamp: 0:00:01.222750484, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b06ee8" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 380 bytes, timestamp: 0:00:01.289190961, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b09818" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 113 bytes, timestamp: 0:00:01.292640148, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b06b78" /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain ******* < ( 475 bytes, timestamp: 0:00:01.355707910, duration: none, offset: -1, offset_end: -1, flags: 0) 0xb6b098c8" ^CCaught interrupt -- handling interrupt. Interrupt: Stopping pipeline ... Execution ended after 4489782939 ns. Setting pipeline to PAUSED ... /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "preroll ******* " /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "preroll ******* " Setting pipeline to READY ... /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux1.GstPad:src_97: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_src_1438966686: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux0.GstPad:src_96: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_src_1306561041: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink: caps = NULL Setting pipeline to NULL ... Freeing pipeline ... >> --- On Mon, 12/21/09, Aurelien Grimaud wrote: >> >> >>> From: Aurelien Grimaud >>> Subject: Re: [gst-devel] saving rtsp stream tracks >>> To: "Discussion of the development of GStreamer" >>> Date: Monday, December 21, 2009, 12:53 PM >>> Hi, >>> >>> Le 21/12/2009 08:02, gather bzbz a ?crit : >>> >>>> Hi, I try to use gstreamer to receive rtsp stream to >>>> >>> files. The stream contains a track1 for audio and track2 for >>> video. VLC works very well with the stream. When I use the >>> following command pipeline >>> >>>> " gst-launch rtspsrc location=rtsp:// >>>> >>> debug=true ! fakesink ", I can see that gstreamer actually >>> gets the SDP part right. See following info. >>> >>>> >>>> >>> Try gst-launch -v rtspsrc name=src src. ! >>> application/x-rtp, media=audio >>> ! fakesink src. ! application/x-rtp, media=video ! >>> fakesink >>> >>> Aurelien >>> >>>> ************************************************* >>>> medias: >>>> media 0: >>>> media: >>>> >>> 'audio' >>> >>>> port: >>>> >>> '0' >>> >>>> >>> num_ports: '4294967295' >>> >>>> proto: >>>> >>> 'RTP/AVP' >>> >>>> formats: >>>> format '14' >>>> information: '(NULL)' >>>> connections: >>>> nettype: 'IN' >>>> addrtype: >>>> >>> 'IP4' >>> >>>> address: >>>> >>> '0.0.0.0' >>> >>>> ttl: >>>> >>> '0' >>> >>>> addr_number: '0' >>>> key: >>>> type: >>>> >>> '(NULL)' >>> >>>> data: >>>> >>> '(NULL)' >>> >>>> attributes: >>>> attribute 'control' : 'track1' >>>> media 1: >>>> media: >>>> >>> 'video' >>> >>>> port: >>>> >>> '0' >>> >>>> >>> num_ports: '4294967295' >>> >>>> proto: >>>> >>> 'RTP/AVP' >>> >>>> formats: >>>> format '97' >>>> information: '(NULL)' >>>> connections: >>>> nettype: 'IN' >>>> addrtype: >>>> >>> 'IP4' >>> >>>> address: >>>> >>> '0.0.0.0' >>> >>>> ttl: >>>> >>> '0' >>> >>>> addr_number: '0' >>>> key: >>>> type: >>>> >>> '(NULL)' >>> >>>> data: >>>> >>> '(NULL)' >>> >>>> attributes: >>>> attribute 'rtpmap' : '97 >>>> >>> H264/90000' >>> >>>> attribute 'fmtp' : '97 >>>> >>> packetization-mode=1;profile-level-id=;sprop-parameter-sets=' >>> >>>> attribute 'control' : 'track2' >>>> >>>> ************************************************* >>>> How can I save the audio track1 to a file and video >>>> >>> track2 to another so I can do some post-processings? Thanks >>> a lot for your help!!! >>> >>>> >>>> >>>> >>>> >>>> >>> ------------------------------------------------------------------------------ >>> >>>> This SF.Net email is sponsored by the Verizon >>>> >>> Developer Community >>> >>>> Take advantage of Verizon's best-in-class app >>>> >>> development support >>> >>>> A streamlined, 14 day to market process makes app >>>> >>> distribution fast and easy >>> >>>> Join now and get one step closer to millions of >>>> >>> Verizon customers >>> >>>> http://p.sf.net/sfu/verizon-dev2dev >>>> _______________________________________________ >>>> gstreamer-devel mailing list >>>> gstreamer-devel at lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>>> >>>> >>>> >>> >>> ------------------------------------------------------------------------------ >>> This SF.Net email is sponsored by the Verizon Developer >>> Community >>> Take advantage of Verizon's best-in-class app development >>> support >>> A streamlined, 14 day to market process makes app >>> distribution fast and easy >>> Join now and get one step closer to millions of Verizon >>> customers >>> http://p.sf.net/sfu/verizon-dev2dev >>> _______________________________________________ >>> gstreamer-devel mailing list >>> gstreamer-devel at lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>> >>> >> >> >> >> ------------------------------------------------------------------------------ >> This SF.Net email is sponsored by the Verizon Developer Community >> Take advantage of Verizon's best-in-class app development support >> A streamlined, 14 day to market process makes app distribution fast and easy >> Join now and get one step closer to millions of Verizon customers >> http://p.sf.net/sfu/verizon-dev2dev >> _______________________________________________ >> gstreamer-devel mailing list >> gstreamer-devel at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From gstelzz at yahoo.fr Tue Dec 22 22:58:00 2009 From: gstelzz at yahoo.fr (Aurelien Grimaud) Date: Tue, 22 Dec 2009 22:58:00 +0100 Subject: [gst-devel] saving rtsp stream tracks In-Reply-To: <4B313C17.9070205@yahoo.fr> References: <574899.3239.qm@web51303.mail.re2.yahoo.com> <1261470266.4184.49.camel@metal> <4B313C17.9070205@yahoo.fr> Message-ID: <4B3140E8.5000700@yahoo.fr> This reminds me of https://bugzilla.gnome.org/show_bug.cgi?id=545710 There was this same mismatch on caps (the same except payload type). The problem was that rtspsrc used the same file descriptor for both tracks. What version of gstreamer do you use ? Which OS ? Can you post the result of GST_DEBUG=2,rtspsrc:5,udpsrc*:5 gst-launch -v rtspsrc debug=1 ! .... Aurelien Le 22/12/2009 22:37, Aurelien Grimaud a ?crit : > Le 22/12/2009 09:24, Wim Taymans a ?crit : > >> On Mon, 2009-12-21 at 22:54 -0800, gather bzbz wrote: >> >> >>> Hi, Aurelien, >>> >>> Thanks for the hint. Really appreciate it. >>> >>> I ran the said pipeline, it failed with the following errors >>> >>> ***************************************************************** >>> >>> /GstPipeline:pipeline0/GstCapsFilter:capsfilter2: caps = application/x-rtp, media=(string)audio >>> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3: caps = application/x-rtp, media=(string)video >>> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)41 >>> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)1 >>> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-l1 >>> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad7: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mod1 >>> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-l1 >>> /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(s1 >>> /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad6: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264,1 >>> /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)97, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)42801 >>> New clock: GstSystemClock >>> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4: caps = application/x-rtp, media=(string)audio >>> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-le1 >>> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad9: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode1 >>> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-le1 >>> /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(st1 >>> /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad8: caps = application/x-rtp, media=(string)video, payload=(int)14, clock-rate=(int)90000, encoding-name=(string)H264, 1 >>> 0:00:02.744148481 1885 0xba050 WARN basesrc gstbasesrc.c:2334:gst_base_src_loop: error: Internal data flow error. >>> 0:00:03.073260000 1885 0xba050 WARN basesrc gstbasesrc.c:2334:gst_base_src_loop: error: streaming task paused, reason not-linked (-1) >>> >>> ***************************************************************** >>> >>> The strange thing is that, after rtspsrc, the track with payload 14 (according to the rtsp SDP media session) is supposed to have "media=audio", but somehow the rtsp pipe thinks it is "media=video payload=14 encoding-name=H.264). Thus, I think the whole capfilter things are messed up. I am totally lost here. Any pads here for rtspsrc? Please help!. >>> >>> >> gst-launch is not smart enough to link this pipeline because it >> negotiates a format after creating the pad. You'll have to write an >> application. >> >> Wim >> >> >> > Actually this pipeline works ... > Why does gather bzbz's uri fail ? How come the 2 tracks caps are the > same except for payload ? > Gather, what rtsp server do you use ? Could you send the sdp ? > > gst-launch -v rtspsrc location=rtsp://127.0.0.1/sample_50kbit.3gp > name=src src. ! application/x-rtp, media=audio ! fakesink sync=TRUE src. > ! application/x-rtp, media=video ! fakesink sync=TRUE > Setting pipeline to PAUSED ... > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0: latency = 3000 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1: timeout = 5000000 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3: timeout = 5000000 > Pipeline is live and does not need PREROLL ... > Setting pipeline to PLAYING ... > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1: > ntp-ns-base = 3470505739412582000 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0: > ntp-ns-base = 3470505739412582000 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src: > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink: > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src: > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink: > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1: timeout = 0 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3: timeout = 0 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp: > caps = application/x-rtcp > New clock: GstSystemClock > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp: > caps = application/x-rtcp > /GstPipeline:pipeline0/GstCapsFilter:capsfilter2: caps = > application/x-rtp, media=(string)audio > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3: caps = > application/x-rtp, media=(string)video > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: caps = > application/x-rtp, media=(string)video, payload=(int)96, > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > profile-level-id=(string)1, > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\ > 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080, > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = > application/x-rtp, media=(string)video, payload=(int)96, > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > profile-level-id=(string)1, > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\ > 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080, > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96: > caps = application/x-rtp, media=(string)video, payload=(int)96, > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > profile-level-id=(string)1, > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\ > 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080, > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad7: > caps = application/x-rtp, media=(string)video, payload=(int)96, > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > profile-level-id=(string)1, > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\ > 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080, > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad6: > caps = application/x-rtp, media=(string)video, payload=(int)96, > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > profile-level-id=(string)1, > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\ > 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080, > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: caps = > application/x-rtp, media=(string)video, payload=(int)96, > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > profile-level-id=(string)1, > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\ > 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080, > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "preroll > ******* " > WARNING: from element /GstPipeline:pipeline0/GstFakeSink:fakesink1: > Internal data flow problem. > Additional debug info: > gstbasesink.c(3315): gst_base_sink_chain_unlocked (): > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > Received buffer without a new-segment. Assuming timestamps start from 0. > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1: > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src: > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink: > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1.GstProxyPad:proxypad5: > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0: > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src: > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink: > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0.GstProxyPad:proxypad2: > caps = application/x-rtcp > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4: caps = > application/x-rtp, media=(string)audio > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src: caps = > application/x-rtp, media=(string)audio, payload=(int)97, > clock-rate=(int)8000, encoding-name=(string)AMR, > encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0, > npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink: caps = > application/x-rtp, media=(string)audio, payload=(int)97, > clock-rate=(int)8000, encoding-name=(string)AMR, > encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0, > npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97: > caps = application/x-rtp, media=(string)audio, payload=(int)97, > clock-rate=(int)8000, encoding-name=(string)AMR, > encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0, > npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad9: > caps = application/x-rtp, media=(string)audio, payload=(int)97, > clock-rate=(int)8000, encoding-name=(string)AMR, > encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0, > npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad8: > caps = application/x-rtp, media=(string)audio, payload=(int)97, > clock-rate=(int)8000, encoding-name=(string)AMR, > encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0, > npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = > application/x-rtp, media=(string)audio, payload=(int)97, > clock-rate=(int)8000, encoding-name=(string)AMR, > encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0, > npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "preroll > ******* " > WARNING: from element /GstPipeline:pipeline0/GstFakeSink:fakesink0: > Internal data flow problem. > Additional debug info: > gstbasesink.c(3315): gst_base_sink_chain_unlocked (): > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > Received buffer without a new-segment. Assuming timestamps start from 0. > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 298 bytes, timestamp: 0:00:00.029967661, duration: none, > offset: -1, offset_end: -1, flags: 32) 0x82d63a0" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain > *******< ( 113 bytes, timestamp: 0:00:00.029723222, duration: none, > offset: -1, offset_end: -1, flags: 32) 0xb5f0bd18" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 39 bytes, timestamp: 0:00:00.096627699, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d6450" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain > *******< ( 113 bytes, timestamp: 0:00:00.129621419, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb5f0bdc8" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 73 bytes, timestamp: 0:00:00.163267870, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d6500" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain > *******< ( 113 bytes, timestamp: 0:00:00.229215223, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb5f0be78" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 186 bytes, timestamp: 0:00:00.229861203, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d65b0" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 46 bytes, timestamp: 0:00:00.296405174, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d6660" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain > *******< ( 113 bytes, timestamp: 0:00:00.328310421, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb5f0bf28" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 46 bytes, timestamp: 0:00:00.362889122, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d6710" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain > *******< ( 113 bytes, timestamp: 0:00:00.426738076, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d6030" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 110 bytes, timestamp: 0:00:00.429277600, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b05038" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 167 bytes, timestamp: 0:00:00.495591078, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b050e8" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain > *******< ( 113 bytes, timestamp: 0:00:00.524379558, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d60e0" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 212 bytes, timestamp: 0:00:00.561827296, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b05198" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain > *******< ( 113 bytes, timestamp: 0:00:00.621195558, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d6190" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 135 bytes, timestamp: 0:00:00.627925760, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b05248" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 166 bytes, timestamp: 0:00:00.693966778, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b052f8" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain > *******< ( 113 bytes, timestamp: 0:00:00.717251820, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d6240" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 214 bytes, timestamp: 0:00:00.759969955, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b053a8" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain > *******< ( 113 bytes, timestamp: 0:00:00.812731813, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d62f0" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 260 bytes, timestamp: 0:00:00.825923657, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b05458" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 226 bytes, timestamp: 0:00:00.891898231, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b05508" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain > *******< ( 113 bytes, timestamp: 0:00:00.907926480, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b068b8" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 336 bytes, timestamp: 0:00:00.957919311, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b055b8" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain > *******< ( 113 bytes, timestamp: 0:00:01.003195304, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b06968" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 252 bytes, timestamp: 0:00:01.023984631, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b05668" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 255 bytes, timestamp: 0:00:01.090144543, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b05718" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain > *******< ( 113 bytes, timestamp: 0:00:01.098893340, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b06a18" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 278 bytes, timestamp: 0:00:01.156404381, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b06808" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain > *******< ( 113 bytes, timestamp: 0:00:01.195322355, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b06ac8" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 301 bytes, timestamp: 0:00:01.222750484, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b06ee8" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 380 bytes, timestamp: 0:00:01.289190961, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b09818" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain > *******< ( 113 bytes, timestamp: 0:00:01.292640148, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b06b78" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain > *******< ( 475 bytes, timestamp: 0:00:01.355707910, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b098c8" > ^CCaught interrupt -- handling interrupt. > Interrupt: Stopping pipeline ... > Execution ended after 4489782939 ns. > Setting pipeline to PAUSED ... > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "preroll > ******* " > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "preroll > ******* " > Setting pipeline to READY ... > /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: caps = NULL > /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = NULL > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: caps = NULL > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = NULL > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src: caps = NULL > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink: caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux1.GstPad:src_97: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_src_1438966686: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux0.GstPad:src_96: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_src_1306561041: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink: > caps = NULL > Setting pipeline to NULL ... > Freeing pipeline ... > > >>> --- On Mon, 12/21/09, Aurelien Grimaud wrote: >>> >>> >>> >>>> From: Aurelien Grimaud >>>> Subject: Re: [gst-devel] saving rtsp stream tracks >>>> To: "Discussion of the development of GStreamer" >>>> Date: Monday, December 21, 2009, 12:53 PM >>>> Hi, >>>> >>>> Le 21/12/2009 08:02, gather bzbz a ?crit : >>>> >>>> >>>>> Hi, I try to use gstreamer to receive rtsp stream to >>>>> >>>>> >>>> files. The stream contains a track1 for audio and track2 for >>>> video. VLC works very well with the stream. When I use the >>>> following command pipeline >>>> >>>> >>>>> " gst-launch rtspsrc location=rtsp:// >>>>> >>>>> >>>> debug=true ! fakesink ", I can see that gstreamer actually >>>> gets the SDP part right. See following info. >>>> >>>> >>>>> >>>>> >>>> Try gst-launch -v rtspsrc name=src src. ! >>>> application/x-rtp, media=audio >>>> ! fakesink src. ! application/x-rtp, media=video ! >>>> fakesink >>>> >>>> Aurelien >>>> >>>> >>>>> ************************************************* >>>>> medias: >>>>> media 0: >>>>> media: >>>>> >>>>> >>>> 'audio' >>>> >>>> >>>>> port: >>>>> >>>>> >>>> '0' >>>> >>>> >>>>> >>>>> >>>> num_ports: '4294967295' >>>> >>>> >>>>> proto: >>>>> >>>>> >>>> 'RTP/AVP' >>>> >>>> >>>>> formats: >>>>> format '14' >>>>> information: '(NULL)' >>>>> connections: >>>>> nettype: 'IN' >>>>> addrtype: >>>>> >>>>> >>>> 'IP4' >>>> >>>> >>>>> address: >>>>> >>>>> >>>> '0.0.0.0' >>>> >>>> >>>>> ttl: >>>>> >>>>> >>>> '0' >>>> >>>> >>>>> addr_number: '0' >>>>> key: >>>>> type: >>>>> >>>>> >>>> '(NULL)' >>>> >>>> >>>>> data: >>>>> >>>>> >>>> '(NULL)' >>>> >>>> >>>>> attributes: >>>>> attribute 'control' : 'track1' >>>>> media 1: >>>>> media: >>>>> >>>>> >>>> 'video' >>>> >>>> >>>>> port: >>>>> >>>>> >>>> '0' >>>> >>>> >>>>> >>>>> >>>> num_ports: '4294967295' >>>> >>>> >>>>> proto: >>>>> >>>>> >>>> 'RTP/AVP' >>>> >>>> >>>>> formats: >>>>> format '97' >>>>> information: '(NULL)' >>>>> connections: >>>>> nettype: 'IN' >>>>> addrtype: >>>>> >>>>> >>>> 'IP4' >>>> >>>> >>>>> address: >>>>> >>>>> >>>> '0.0.0.0' >>>> >>>> >>>>> ttl: >>>>> >>>>> >>>> '0' >>>> >>>> >>>>> addr_number: '0' >>>>> key: >>>>> type: >>>>> >>>>> >>>> '(NULL)' >>>> >>>> >>>>> data: >>>>> >>>>> >>>> '(NULL)' >>>> >>>> >>>>> attributes: >>>>> attribute 'rtpmap' : '97 >>>>> >>>>> >>>> H264/90000' >>>> >>>> >>>>> attribute 'fmtp' : '97 >>>>> >>>>> >>>> packetization-mode=1;profile-level-id=;sprop-parameter-sets=' >>>> >>>> >>>>> attribute 'control' : 'track2' >>>>> >>>>> ************************************************* >>>>> How can I save the audio track1 to a file and video >>>>> >>>>> >>>> track2 to another so I can do some post-processings? Thanks >>>> a lot for your help!!! >>>> >>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> >>>>> This SF.Net email is sponsored by the Verizon >>>>> >>>>> >>>> Developer Community >>>> >>>> >>>>> Take advantage of Verizon's best-in-class app >>>>> >>>>> >>>> development support >>>> >>>> >>>>> A streamlined, 14 day to market process makes app >>>>> >>>>> >>>> distribution fast and easy >>>> >>>> >>>>> Join now and get one step closer to millions of >>>>> >>>>> >>>> Verizon customers >>>> >>>> >>>>> http://p.sf.net/sfu/verizon-dev2dev >>>>> _______________________________________________ >>>>> gstreamer-devel mailing list >>>>> gstreamer-devel at lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>>>> >>>>> >>>>> >>>>> >>>> ------------------------------------------------------------------------------ >>>> This SF.Net email is sponsored by the Verizon Developer >>>> Community >>>> Take advantage of Verizon's best-in-class app development >>>> support >>>> A streamlined, 14 day to market process makes app >>>> distribution fast and easy >>>> Join now and get one step closer to millions of Verizon >>>> customers >>>> http://p.sf.net/sfu/verizon-dev2dev >>>> _______________________________________________ >>>> gstreamer-devel mailing list >>>> gstreamer-devel at lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>>> >>>> >>>> >>> >>> >>> ------------------------------------------------------------------------------ >>> This SF.Net email is sponsored by the Verizon Developer Community >>> Take advantage of Verizon's best-in-class app development support >>> A streamlined, 14 day to market process makes app distribution fast and easy >>> Join now and get one step closer to millions of Verizon customers >>> http://p.sf.net/sfu/verizon-dev2dev >>> _______________________________________________ >>> gstreamer-devel mailing list >>> gstreamer-devel at lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>> >>> >> >> ------------------------------------------------------------------------------ >> This SF.Net email is sponsored by the Verizon Developer Community >> Take advantage of Verizon's best-in-class app development support >> A streamlined, 14 day to market process makes app distribution fast and easy >> Join now and get one step closer to millions of Verizon customers >> http://p.sf.net/sfu/verizon-dev2dev >> _______________________________________________ >> gstreamer-devel mailing list >> gstreamer-devel at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> >> > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From debojyoti.pal at wipro.com Wed Dec 23 06:10:12 2009 From: debojyoti.pal at wipro.com (Debsu) Date: Tue, 22 Dec 2009 21:10:12 -0800 (PST) Subject: [gst-devel] Unable to display .bmp file using gstreamer Message-ID: <1261545012392-977580.post@n4.nabble.com> Hi, I need to know which plugin is required to play a .BMP file using Gstreamer. In one Ubuntu system, I am able to display an .bmp file using my test application through gstreamer, but the same application can't display the same .bmp file in another fedora system. Any help is appreciated. -- View this message in context: http://n4.nabble.com/Unable-to-display-bmp-file-using-gstreamer-tp977580p977580.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From msmith at xiph.org Wed Dec 23 06:18:02 2009 From: msmith at xiph.org (Michael Smith) Date: Tue, 22 Dec 2009 21:18:02 -0800 Subject: [gst-devel] Unable to display .bmp file using gstreamer In-Reply-To: <1261545012392-977580.post@n4.nabble.com> References: <1261545012392-977580.post@n4.nabble.com> Message-ID: <3c1737210912222118i751d9242x96567948072a7642@mail.gmail.com> On Tue, Dec 22, 2009 at 9:10 PM, Debsu wrote: > > Hi, > > I need to know which plugin is required to play a .BMP file using Gstreamer. > In one Ubuntu system, I am able to display an .bmp file using my test > application through gstreamer, but the same application can't display the > same .bmp file in another fedora system. On my system, ffdec_bmp (part of the ffmpeg plugin) looks like the only thing that will read bmp files. A standalone bmp plugin would be easy to write, but since it's not something that most people have any interest in, I don't think anyone has written one yet. Mike From debojyoti.pal at wipro.com Wed Dec 23 07:01:04 2009 From: debojyoti.pal at wipro.com (Debsu) Date: Tue, 22 Dec 2009 22:01:04 -0800 (PST) Subject: [gst-devel] Unable to display .bmp file using gstreamer In-Reply-To: <3c1737210912222118i751d9242x96567948072a7642@mail.gmail.com> References: <1261545012392-977580.post@n4.nabble.com> <3c1737210912222118i751d9242x96567948072a7642@mail.gmail.com> Message-ID: Hi, Through my test application, I was able to run .png, .jpg, .gif. All were displayed clearly, but when I was trying display .bmp file, it displayed the blanck screen and the gst_element_set_state() function for Playing state returned GST_STATE_CHANGE_ASYNC which is same in other cases also. FFMpeg plugin is installed in my system. In my system, I have the following gstreamer packages installed: 1. gst-plugins-base-0.10.22 2. gst-plugins-good-0.10.14 3. gst-plugins-bad-0.10.11 4. gst-plugins-ugly-0.10.11 5. gst-ffmpeg-0.10.4. Regards, Deb -----Original Message----- From: michael smith-6-3 [via GStreamer-devel] [mailto:ml-node+977584-529588816 at n4.nabble.com] Sent: Wed 12/23/2009 10:48 AM To: Debojyoti Pal (WT01 - PES-Mobile-Auto-CE Practice) Subject: Re: [gst-devel] Unable to display .bmp file using gstreamer On Tue, Dec 22, 2009 at 9:10 PM, Debsu wrote: > > Hi, > > I need to know which plugin is required to play a .BMP file using Gstreamer. > In one Ubuntu system, I am able to display an .bmp file using my test > application through gstreamer, but the same application can't display the > same .bmp file in another fedora system. On my system, ffdec_bmp (part of the ffmpeg plugin) looks like the only thing that will read bmp files. A standalone bmp plugin would be easy to write, but since it's not something that most people have any interest in, I don't think anyone has written one yet. Mike ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ______________________________________ View message @ http://n4.nabble.com/Unable-to-display-bmp-file-using-gstreamer-tp977580p977584.html To unsubscribe from Unable to display .bmp file using gstreamer, click (link removed) == Please do not print this email unless it is absolutely necessary. The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. www.wipro.com -- View this message in context: http://n4.nabble.com/Unable-to-display-bmp-file-using-gstreamer-tp977580p977599.html Sent from the GStreamer-devel mailing list archive at Nabble.com. -------------- next part -------------- An HTML attachment was scrubbed... URL: From userone2010 at gmail.com Wed Dec 23 07:50:01 2009 From: userone2010 at gmail.com (user1 linux) Date: Wed, 23 Dec 2009 12:20:01 +0530 Subject: [gst-devel] How to use Gstreamer framework for hardware based video decoder ? Message-ID: Hi, so if i want to write a driver for h/w based h264 video decoder then it should contain all the calls as a s/w decoder which is part of gstreamer. regards, Raghuveer.k -------------- next part -------------- An HTML attachment was scrubbed... URL: From gbzbz at yahoo.com Wed Dec 23 09:32:29 2009 From: gbzbz at yahoo.com (gather bzbz) Date: Wed, 23 Dec 2009 00:32:29 -0800 (PST) Subject: [gst-devel] saving rtsp stream tracks In-Reply-To: <4B313C17.9070205@yahoo.fr> Message-ID: <223243.96080.qm@web51308.mail.re2.yahoo.com> Hi Aurelien, The server is an embedded DSP box running linux. GSTREAMER versions are gstreamer-0.10.23, gst-plugins-base-0.10.23, gst-plugins-good-0.10.15, gst-plugins-ugly-0.10.11, gst-plugins-bad-0.10.12 pipeline used is same as yours. The follwing is the SDP sdp packet 0xbefff268: version: '0' origin: username: '-' sess_id: '1075644172143134' sess_version: '1' nettype: 'IN' addrtype: 'IP4' addr: '192.168.1.4' session_name: 'name' information: 'info' uri: '(NULL)' connection: nettype: '(NULL)' addrtype: '(NULL)' address: '(NULL)' ttl: '0' addr_number: '0' key: type: '(NULL)' data: '(NULL)' attributes: attribute 'tool' : 'tool' attribute 'type' : 'broadcast' attribute 'control' : '*' attribute 'range' : 'npt=0-' attribute 'x-qt-text-nam' : 'name' attribute 'x-qt-text-inf' : 'info' medias: media 0: media: 'audio' port: '0' num_ports: '4294967295' proto: 'RTP/AVP' formats: format '14' information: '(NULL)' connections: nettype: 'IN' addrtype: 'IP4' address: '0.0.0.0' ttl: '0' addr_number: '0' key: type: '(NULL)' data: '(NULL)' attributes: attribute 'control' : 'track1' media 1: media: 'video' port: '0' num_ports: '4294967295' proto: 'RTP/AVP' formats: format '97' information: '(NULL)' connections: nettype: 'IN' addrtype: 'IP4' address: '0.0.0.0' ttl: '0' addr_number: '0' key: type: '(NULL)' data: '(NULL)' attributes: attribute 'rtpmap' : '97 H264/90000' attribute 'fmtp' : '97 packetization-mode=1;profile-level-id=;sprop-parameter-sets=' attribute 'control' : 'track2' --- On Tue, 12/22/09, Aurelien Grimaud wrote: > From: Aurelien Grimaud > Subject: Re: [gst-devel] saving rtsp stream tracks > To: "Discussion of the development of GStreamer" > Date: Tuesday, December 22, 2009, 1:37 PM > Le 22/12/2009 09:24, Wim Taymans a > ?crit : > > On Mon, 2009-12-21 at 22:54 -0800, gather bzbz wrote: > > > >> Hi, Aurelien, > >> > >> Thanks for the hint. Really appreciate it. > >> > >> I ran the said pipeline, it failed with the > following errors > >> > >> > ***************************************************************** > >> > >> /GstPipeline:pipeline0/GstCapsFilter:capsfilter2: > caps = application/x-rtp, media=(string)audio > >> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3: > caps = application/x-rtp, media=(string)video > >> > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(string)1, > profile-level-id=(string)41 > >> > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(string)1, > profile-level-id=(string)1 > >> > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(string)1, > profile-l1 > >> > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad7: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mod1 > >> > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(string)1, > profile-l1 > >> > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(s1 > >> > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad6: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264,1 > >> > /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: > caps = application/x-rtp, media=(string)video, > payload=(int)97, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(string)1, > profile-level-id=(string)42801 > >> New clock: GstSystemClock > >> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4: > caps = application/x-rtp, media=(string)audio > >> > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14: > caps = application/x-rtp, media=(string)video, > payload=(int)14, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(string)1, > profile-le1 > >> > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad9: > caps = application/x-rtp, media=(string)video, > payload=(int)14, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode1 > >> > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14: > caps = application/x-rtp, media=(string)video, > payload=(int)14, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(string)1, > profile-le1 > >> > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14: > caps = application/x-rtp, media=(string)video, > payload=(int)14, clock-rate=(int)90000, > encoding-name=(string)H264, packetization-mode=(st1 > >> > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad8: > caps = application/x-rtp, media=(string)video, > payload=(int)14, clock-rate=(int)90000, > encoding-name=(string)H264, 1 > >> 0:00:02.744148481 1885 0xba050 > WARN > basesrc > gstbasesrc.c:2334:gst_base_src_loop: > error: Internal data flow error. > >> 0:00:03.073260000 1885 0xba050 > WARN > basesrc > gstbasesrc.c:2334:gst_base_src_loop: > error: streaming task paused, reason not-linked (-1) > >> > >> > ***************************************************************** > >> > >> The strange thing is that, after rtspsrc, the > track with payload 14 (according to the rtsp SDP media > session) is supposed to have "media=audio", but somehow the > rtsp pipe thinks it is "media=video payload=14 > encoding-name=H.264). Thus, I think the whole capfilter > things are messed up. I am totally lost here. Any pads here > for rtspsrc? Please help!. > >> > > gst-launch is not smart enough to link this pipeline > because it > > negotiates a format after creating the pad. You'll > have to write an > > application. > > > > Wim > > > > > Actually this pipeline works ... > Why does gather bzbz's uri fail ? How come the 2 tracks > caps are the > same except for payload ? > Gather, what rtsp server do you use ? Could you send the > sdp ? > > gst-launch -v rtspsrc > location=rtsp://127.0.0.1/sample_50kbit.3gp > name=src src. ! application/x-rtp, media=audio ! fakesink > sync=TRUE src. > ! application/x-rtp, media=video ! fakesink sync=TRUE > Setting pipeline to PAUSED ... > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0: > latency = 3000 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1: > timeout = 5000000 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3: > timeout = 5000000 > Pipeline is live and does not need PREROLL ... > Setting pipeline to PLAYING ... > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1: > > ntp-ns-base = 3470505739412582000 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0: > > ntp-ns-base = 3470505739412582000 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src: > > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink: > > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src: > > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink: > > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1: > timeout = 0 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3: > timeout = 0 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp: > > caps = application/x-rtcp > New clock: GstSystemClock > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp: > > caps = application/x-rtcp > /GstPipeline:pipeline0/GstCapsFilter:capsfilter2: caps = > application/x-rtp, media=(string)audio > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3: caps = > application/x-rtp, media=(string)video > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: > caps = > application/x-rtp, media=(string)video, payload=(int)96, > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > profile-level-id=(string)1, > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > > a-cliprect=(string)\"0\\,0\\,144\\,176\", > a-framesize=(string)\"96\\ > 176-144\", clock-base=(guint)1767044848, > seqnum-base=(guint)28080, > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: > caps = > application/x-rtp, media=(string)video, payload=(int)96, > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > profile-level-id=(string)1, > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > > a-cliprect=(string)\"0\\,0\\,144\\,176\", > a-framesize=(string)\"96\\ > 176-144\", clock-base=(guint)1767044848, > seqnum-base=(guint)28080, > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96: > > caps = application/x-rtp, media=(string)video, > payload=(int)96, > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > profile-level-id=(string)1, > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > > a-cliprect=(string)\"0\\,0\\,144\\,176\", > a-framesize=(string)\"96\\ > 176-144\", clock-base=(guint)1767044848, > seqnum-base=(guint)28080, > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad7: > > caps = application/x-rtp, media=(string)video, > payload=(int)96, > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > profile-level-id=(string)1, > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > > a-cliprect=(string)\"0\\,0\\,144\\,176\", > a-framesize=(string)\"96\\ > 176-144\", clock-base=(guint)1767044848, > seqnum-base=(guint)28080, > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad6: > > caps = application/x-rtp, media=(string)video, > payload=(int)96, > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > profile-level-id=(string)1, > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > > a-cliprect=(string)\"0\\,0\\,144\\,176\", > a-framesize=(string)\"96\\ > 176-144\", clock-base=(guint)1767044848, > seqnum-base=(guint)28080, > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: > caps = > application/x-rtp, media=(string)video, payload=(int)96, > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > profile-level-id=(string)1, > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > > a-cliprect=(string)\"0\\,0\\,144\\,176\", > a-framesize=(string)\"96\\ > 176-144\", clock-base=(guint)1767044848, > seqnum-base=(guint)28080, > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > play-speed=(double)1, play-scale=(double)1 > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "preroll > ******* " > WARNING: from element > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > Internal data flow problem. > Additional debug info: > gstbasesink.c(3315): gst_base_sink_chain_unlocked (): > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > Received buffer without a new-segment. Assuming timestamps > start from 0. > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1: > > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src: > > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink: > > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1.GstProxyPad:proxypad5: > > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0: > > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src: > > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink: > > caps = application/x-rtcp > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0.GstProxyPad:proxypad2: > > caps = application/x-rtcp > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4: caps = > application/x-rtp, media=(string)audio > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src: > caps = > application/x-rtp, media=(string)audio, payload=(int)97, > clock-rate=(int)8000, encoding-name=(string)AMR, > encoding-params=(string)1, octet-align=(string)1, > npt-start=(guint64)0, > npt-stop=(guint64)70000000000, play-speed=(double)1, > play-scale=(double)1 > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink: > caps = > application/x-rtp, media=(string)audio, payload=(int)97, > clock-rate=(int)8000, encoding-name=(string)AMR, > encoding-params=(string)1, octet-align=(string)1, > npt-start=(guint64)0, > npt-stop=(guint64)70000000000, play-speed=(double)1, > play-scale=(double)1 > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97: > > caps = application/x-rtp, media=(string)audio, > payload=(int)97, > clock-rate=(int)8000, encoding-name=(string)AMR, > encoding-params=(string)1, octet-align=(string)1, > npt-start=(guint64)0, > npt-stop=(guint64)70000000000, play-speed=(double)1, > play-scale=(double)1 > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad9: > > caps = application/x-rtp, media=(string)audio, > payload=(int)97, > clock-rate=(int)8000, encoding-name=(string)AMR, > encoding-params=(string)1, octet-align=(string)1, > npt-start=(guint64)0, > npt-stop=(guint64)70000000000, play-speed=(double)1, > play-scale=(double)1 > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad8: > > caps = application/x-rtp, media=(string)audio, > payload=(int)97, > clock-rate=(int)8000, encoding-name=(string)AMR, > encoding-params=(string)1, octet-align=(string)1, > npt-start=(guint64)0, > npt-stop=(guint64)70000000000, play-speed=(double)1, > play-scale=(double)1 > /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: > caps = > application/x-rtp, media=(string)audio, payload=(int)97, > clock-rate=(int)8000, encoding-name=(string)AMR, > encoding-params=(string)1, octet-align=(string)1, > npt-start=(guint64)0, > npt-stop=(guint64)70000000000, play-speed=(double)1, > play-scale=(double)1 > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "preroll > ******* " > WARNING: from element > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > Internal data flow problem. > Additional debug info: > gstbasesink.c(3315): gst_base_sink_chain_unlocked (): > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > Received buffer without a new-segment. Assuming timestamps > start from 0. > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 298 bytes, timestamp: > 0:00:00.029967661, duration: none, > offset: -1, offset_end: -1, flags: 32) 0x82d63a0" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "chain > ******* < ( 113 bytes, timestamp: > 0:00:00.029723222, duration: none, > offset: -1, offset_end: -1, flags: 32) 0xb5f0bd18" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 39 bytes, timestamp: > 0:00:00.096627699, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d6450" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "chain > ******* < ( 113 bytes, timestamp: > 0:00:00.129621419, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb5f0bdc8" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 73 bytes, timestamp: > 0:00:00.163267870, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d6500" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "chain > ******* < ( 113 bytes, timestamp: > 0:00:00.229215223, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb5f0be78" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 186 bytes, timestamp: > 0:00:00.229861203, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d65b0" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 46 bytes, timestamp: > 0:00:00.296405174, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d6660" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "chain > ******* < ( 113 bytes, timestamp: > 0:00:00.328310421, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb5f0bf28" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 46 bytes, timestamp: > 0:00:00.362889122, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d6710" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "chain > ******* < ( 113 bytes, timestamp: > 0:00:00.426738076, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d6030" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 110 bytes, timestamp: > 0:00:00.429277600, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b05038" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 167 bytes, timestamp: > 0:00:00.495591078, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b050e8" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "chain > ******* < ( 113 bytes, timestamp: > 0:00:00.524379558, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d60e0" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 212 bytes, timestamp: > 0:00:00.561827296, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b05198" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "chain > ******* < ( 113 bytes, timestamp: > 0:00:00.621195558, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d6190" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 135 bytes, timestamp: > 0:00:00.627925760, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b05248" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 166 bytes, timestamp: > 0:00:00.693966778, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b052f8" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "chain > ******* < ( 113 bytes, timestamp: > 0:00:00.717251820, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d6240" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 214 bytes, timestamp: > 0:00:00.759969955, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b053a8" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "chain > ******* < ( 113 bytes, timestamp: > 0:00:00.812731813, duration: none, > offset: -1, offset_end: -1, flags: 0) 0x82d62f0" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 260 bytes, timestamp: > 0:00:00.825923657, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b05458" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 226 bytes, timestamp: > 0:00:00.891898231, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b05508" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "chain > ******* < ( 113 bytes, timestamp: > 0:00:00.907926480, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b068b8" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 336 bytes, timestamp: > 0:00:00.957919311, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b055b8" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "chain > ******* < ( 113 bytes, timestamp: > 0:00:01.003195304, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b06968" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 252 bytes, timestamp: > 0:00:01.023984631, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b05668" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 255 bytes, timestamp: > 0:00:01.090144543, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b05718" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "chain > ******* < ( 113 bytes, timestamp: > 0:00:01.098893340, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b06a18" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 278 bytes, timestamp: > 0:00:01.156404381, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b06808" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "chain > ******* < ( 113 bytes, timestamp: > 0:00:01.195322355, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b06ac8" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 301 bytes, timestamp: > 0:00:01.222750484, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b06ee8" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 380 bytes, timestamp: > 0:00:01.289190961, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b09818" > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "chain > ******* < ( 113 bytes, timestamp: > 0:00:01.292640148, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b06b78" > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "chain > ******* < ( 475 bytes, timestamp: > 0:00:01.355707910, duration: none, > offset: -1, offset_end: -1, flags: 0) 0xb6b098c8" > ^CCaught interrupt -- handling interrupt. > Interrupt: Stopping pipeline ... > Execution ended after 4489782939 ns. > Setting pipeline to PAUSED ... > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message > = "preroll > ******* " > /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message > = "preroll > ******* " > Setting pipeline to READY ... > /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: > caps = NULL > /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: > caps = NULL > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: > caps = NULL > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: > caps = NULL > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src: > caps = NULL > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink: > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux1.GstPad:src_97: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_src_1438966686: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux0.GstPad:src_96: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_src_1306561041: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink: > > caps = NULL > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink: > > caps = NULL > Setting pipeline to NULL ... > Freeing pipeline ... > > >> --- On Mon, 12/21/09, Aurelien Grimaud > wrote: > >> > >> > >>> From: Aurelien Grimaud > >>> Subject: Re: [gst-devel] saving rtsp stream > tracks > >>> To: "Discussion of the development of > GStreamer" > >>> Date: Monday, December 21, 2009, 12:53 PM > >>> Hi, > >>> > >>> Le 21/12/2009 08:02, gather bzbz a ?crit : > >>> > >>>> Hi, I try to use gstreamer to receive rtsp > stream to > >>>> > >>> files. The stream contains a track1 for audio > and track2 for > >>> video. VLC works very well with the stream. > When I use the > >>> following command pipeline > >>> > >>>> " gst-launch rtspsrc > location=rtsp:// > >>>> > >>> debug=true ! fakesink ", I can see that > gstreamer actually > >>> gets the SDP part right. See following info. > >>> > >>>> > >>>> > >>> Try gst-launch -v rtspsrc name=src src. ! > >>> application/x-rtp, media=audio > >>> ! fakesink src. ! application/x-rtp, > media=video ! > >>> fakesink > >>> > >>> Aurelien > >>> > >>>> > ************************************************* > >>>> medias: > >>>> media 0: > >>>> media: > >>>> > >>> 'audio' > >>> > >>>> port: > >>>> > >>> '0' > >>> > >>>> > >>> > num_ports: '4294967295' > >>> > >>>> proto: > >>>> > >>> 'RTP/AVP' > >>> > >>>> formats: > >>>> > format '14' > >>>> information: '(NULL)' > >>>> connections: > >>>> > nettype: 'IN' > >>>> addrtype: > >>>> > >>> 'IP4' > >>> > >>>> address: > >>>> > >>> '0.0.0.0' > >>> > >>>> ttl: > >>>> > >>> '0' > >>> > >>>> > addr_number: '0' > >>>> key: > >>>> type: > >>>> > >>> '(NULL)' > >>> > >>>> data: > >>>> > >>> '(NULL)' > >>> > >>>> attributes: > >>>> attribute > 'control' : 'track1' > >>>> media 1: > >>>> media: > >>>> > >>> 'video' > >>> > >>>> port: > >>>> > >>> '0' > >>> > >>>> > >>> > num_ports: '4294967295' > >>> > >>>> proto: > >>>> > >>> 'RTP/AVP' > >>> > >>>> formats: > >>>> > format '97' > >>>> information: '(NULL)' > >>>> connections: > >>>> > nettype: 'IN' > >>>> addrtype: > >>>> > >>> 'IP4' > >>> > >>>> address: > >>>> > >>> '0.0.0.0' > >>> > >>>> ttl: > >>>> > >>> '0' > >>> > >>>> > addr_number: '0' > >>>> key: > >>>> type: > >>>> > >>> '(NULL)' > >>> > >>>> data: > >>>> > >>> '(NULL)' > >>> > >>>> attributes: > >>>> attribute > 'rtpmap' : '97 > >>>> > >>> H264/90000' > >>> > >>>> attribute > 'fmtp' : '97 > >>>> > >>> > packetization-mode=1;profile-level-id=;sprop-parameter-sets=' > >>> > >>>> attribute > 'control' : 'track2' > >>>> > >>>> > ************************************************* > >>>> How can I save the audio track1 to a file > and video > >>>> > >>> track2 to another so I can do some > post-processings? Thanks > >>> a lot for your help!!! > >>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>> > ------------------------------------------------------------------------------ > >>> > >>>> This SF.Net email is sponsored by the > Verizon > >>>> > >>> Developer Community > >>> > >>>> Take advantage of Verizon's best-in-class > app > >>>> > >>> development support > >>> > >>>> A streamlined, 14 day to market process > makes app > >>>> > >>> distribution fast and easy > >>> > >>>> Join now and get one step closer to > millions of > >>>> > >>> Verizon customers > >>> > >>>> http://p.sf.net/sfu/verizon-dev2dev > >>>> > _______________________________________________ > >>>> gstreamer-devel mailing list > >>>> gstreamer-devel at lists.sourceforge.net > >>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > >>>> > >>>> > >>>> > >>> > >>> > ------------------------------------------------------------------------------ > >>> This SF.Net email is sponsored by the Verizon > Developer > >>> Community > >>> Take advantage of Verizon's best-in-class app > development > >>> support > >>> A streamlined, 14 day to market process makes > app > >>> distribution fast and easy > >>> Join now and get one step closer to millions > of Verizon > >>> customers > >>> http://p.sf.net/sfu/verizon-dev2dev > >>> > _______________________________________________ > >>> gstreamer-devel mailing list > >>> gstreamer-devel at lists.sourceforge.net > >>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > >>> > >>> > >> > >> > >> > >> > ------------------------------------------------------------------------------ > >> This SF.Net email is sponsored by the Verizon > Developer Community > >> Take advantage of Verizon's best-in-class app > development support > >> A streamlined, 14 day to market process makes app > distribution fast and easy > >> Join now and get one step closer to millions of > Verizon customers > >> http://p.sf.net/sfu/verizon-dev2dev > >> _______________________________________________ > >> gstreamer-devel mailing list > >> gstreamer-devel at lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > >> > > > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon > Developer Community > > Take advantage of Verizon's best-in-class app > development support > > A streamlined, 14 day to market process makes app > distribution fast and easy > > Join now and get one step closer to millions of > Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer > Community > Take advantage of Verizon's best-in-class app development > support > A streamlined, 14 day to market process makes app > distribution fast and easy > Join now and get one step closer to millions of Verizon > customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From marc.leeman at gmail.com Wed Dec 23 09:47:10 2009 From: marc.leeman at gmail.com (Marc Leeman) Date: Wed, 23 Dec 2009 09:47:10 +0100 Subject: [gst-devel] How to use Gstreamer framework for hardware based video decoder ? In-Reply-To: References: Message-ID: <20091223084710.GD18704@crichton.homelinux.org> > so if i want to write a driver for h/w based h264 video decoder then it > should contain all the calls as a s/w decoder which is part of gstreamer. I haven't looked at the h264 encoder in gstreamer; but for a lot of modules; gstreamer provides a wrapper around an external library (jasper, ffmpeg). The GStreamer buffers are prepared and passed to the library, the result is put back in GStreamer buffers. A hardware encoder would probably be the same. And as for all the calls; you'd only need to expose the parameters that your hardware encoder knows/uses. -- greetz, marc UFOs are for real: the Air Force doesn't exist. crichton 2.6.26 #1 PREEMPT Tue Jul 29 21:17:59 CDT 2008 GNU/Linux -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From halley.zhao at intel.com Wed Dec 23 09:57:53 2009 From: halley.zhao at intel.com (Zhao, Halley) Date: Wed, 23 Dec 2009 16:57:53 +0800 Subject: [gst-devel] what's the reason for 'returned caps which are not a real subset of its template caps'? Message-ID: When I use my customized camera src element, there is one warning that: 'returned caps which are not a real subset of its template caps' Could anyone kindly tell me where is root reason? How to fix it? Thanks. I guess there are two possible reasons: 1. I added 'video/x-raw-va' for my camera src caps, which is not included in base src. 2. Pad template (shows by gst-inspect?) doesn't match with _get_caps during run-time. See attachment. ZHAO, Halley (Aihua) Email: halley.zhao at intel.com Tel: +86(21)61166476 iNet: 8821-6476 SSG/OTC/Moblin 3W038 Pole: F4 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: gst-inspect-mrstcamsrc.txt URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: mrstcamsrc-caps-runtime.txt URL: From wim.taymans at gmail.com Wed Dec 23 10:54:48 2009 From: wim.taymans at gmail.com (Wim Taymans) Date: Wed, 23 Dec 2009 10:54:48 +0100 Subject: [gst-devel] what's the reason for 'returned caps which are not a real subset of its template caps'? In-Reply-To: References: Message-ID: <1261562088.4184.78.camel@metal> On Wed, 2009-12-23 at 16:57 +0800, Zhao, Halley wrote: > When I use my customized camera src element, there is one warning > that: > > 'returned caps which are not a real subset of its template caps' It means that the template caps are more restrictive that the caps returned by getcaps, which is likely not what you want. > > Could anyone kindly tell me where is root reason? The template caps contain a framerate field while the ones from the getcaps function don't. > > How to fix it? Add a framerate field to the caps returned from getcaps. Wim > > Thanks. > > > > > > I guess there are two possible reasons: > > 1. I added ?video/x-raw-va? for my camera src caps, which is not > included in base src. > > 2. Pad template (shows by gst-inspect?) doesn?t match with _get_caps > during run-time. See attachment. > > > > > > > > ZHAO, Halley (Aihua) > > Email: halley.zhao at intel.com > > Tel: +86(21)61166476 > > iNet: 8821-6476 > > SSG/OTC/Moblin 3W038 Pole: F4 > > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From gerd at aline-gerd.de Wed Dec 23 11:08:53 2009 From: gerd at aline-gerd.de (jenzz) Date: Wed, 23 Dec 2009 02:08:53 -0800 (PST) Subject: [gst-devel] Mux video and audio. Ist it possible, to pause just video ? Message-ID: <1261562933957-977673.post@n4.nabble.com> Hello, gstreamer: Im encoding the video signal of my webcam with theoraenc and the audio signal with vorbisenc. I'm multiplexing both signals with oggmux and saving the stream with filesink. It works. But now, I want to stop the video part of the stream for some seconds to reduce the bitrate of the stream. But the audio should be continued. I tried to set the bitrate of theoraenc to 1 instead of stopping it completely. But it seems, that it is not possible to change the bitrate parameter while the pipeline is playing. It there a way, to pause the video stream ? Jenzz -- View this message in context: http://n4.nabble.com/Mux-video-and-audio-Ist-it-possible-to-pause-just-video-tp977673p977673.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From jyoti.d at allaboutif.com Wed Dec 23 12:51:57 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Wed, 23 Dec 2009 17:21:57 +0530 Subject: [gst-devel] New segment update Message-ID: Hi All, For my player application am required to frequently update the playback segment values. Currently am seeking the first segment as below: gst_element_seek ( pipeline, 1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_SEGMENT, SEEK_TYPE_SET, (0 * GST_SECOND), GST_SEEK_TYPE_NONE, -1 ); After sometime I get GST_MESSAGE_SEGMENT_DONE. Now I want to update the my NEW_SEGMENT from the last played value to the total duration. Can someone tell me how can I update the NEW_SEGMENT values. And what changes to be done with pipeline state, before or after doing the seek for NEW_SEGMENT? Thanks, Jyoti -------------- next part -------------- An HTML attachment was scrubbed... URL: From francis.rammeloo at gmail.com Wed Dec 23 13:29:51 2009 From: francis.rammeloo at gmail.com (Francis Rammeloo) Date: Wed, 23 Dec 2009 13:29:51 +0100 Subject: [gst-devel] Limitations when programming on top of gst_parse_launch? In-Reply-To: References: Message-ID: I am developing a lecture-capture application using GStreamer. In the setup multiple video streams (camera, screen capature, white board) arrive at one PC where they are blended and recorded. This requires some complex pipelines to be created, which would be a lot of work to implement using the C API. Therefore I have all the pipelines in configuration files (using the gst-launch syntax) and at runtime they are constructed using the gst_parse_launch call. My question is: is this a good approach? I ask because I get the impression that gst-launch is mainly used for prototyping, while the serious work is done in C code. Is it really so? Are there some fundamental limitations to the gst_parse_launch approach that I should be aware of? Many thanks, Francis -------------- next part -------------- An HTML attachment was scrubbed... URL: From wim.taymans at gmail.com Wed Dec 23 14:55:14 2009 From: wim.taymans at gmail.com (Wim Taymans) Date: Wed, 23 Dec 2009 14:55:14 +0100 Subject: [gst-devel] New segment update In-Reply-To: References: Message-ID: <1261576514.4184.89.camel@metal> On Wed, 2009-12-23 at 17:21 +0530, Jyoti wrote: > Hi All, > > For my player application am required to frequently update the > playback > segment values. Currently am seeking the first segment as below: > > gst_element_seek > ( > pipeline, > 1.0, > GST_FORMAT_TIME, > GST_SEEK_FLAG_SEGMENT, SEEK_TYPE_SET, > (0 * GST_SECOND), > GST_SEEK_TYPE_NONE, > -1 > ); > > After sometime I get GST_MESSAGE_SEGMENT_DONE. Now I want to update > the my NEW_SEGMENT from the last > played value to the total duration. Since you configured the playback segment to play to the end of the stream, the SEGMENT_DONE message is posted as soon as the last byte of the data is pushed in the pipeline (by the demuxer or source). In light of this, your question does not make any sense. What are you trying to do? > > > Can someone tell me how can I update the NEW_SEGMENT values. What do mean with 'NEW_SEGMENT values'? Maybe you mean changing the playback segment start and stop values? Maybe you mean the values of the NEW_SEGMENT event? > And what changes to be done with pipeline state, before or after doing > the seek for > NEW_SEGMENT? What's a 'seek for NEW_SEGMENT'? maybe you mean that you want to perform a segment seek? In any case, this has nothing to do with state changes. In general, seeking can be done in either PAUSED or PLAYING. Performing a non-flushing seek will usually block the caller until the PLAYING state is reached (so you usually want to perform non-flushing seeks in PLAYING). Wim > > Thanks, > Jyoti > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From fabioestevam at yahoo.com Wed Dec 23 18:35:29 2009 From: fabioestevam at yahoo.com (Fabio Estevam) Date: Wed, 23 Dec 2009 09:35:29 -0800 (PST) Subject: [gst-devel] Fwd: Question about using GStreamer In-Reply-To: <34539a480912220651k1242587bx26bb388667cfe3c3@mail.gmail.com> Message-ID: <779702.7905.qm@web51004.mail.re2.yahoo.com> --- On Tue, 12/22/09, Ronald S. Bultje wrote: > From: Ronald S. Bultje > Subject: [gst-devel] Fwd: Question about using GStreamer > To: gstreamer-devel at lists.sf.net > Date: Tuesday, December 22, 2009, 12:51 PM > Can anyone help this fellow? > > Cheers, > Ronald > > ---------- Forwarded message ---------- > From: mehrdad fallahpour > Date: Tue, Dec 22, 2009 at 7:49 AM > Subject: Question about using GStreamer > To: rbultje at ronald.bitfreak.net > > > Dear Ronald > > I'm Mehrdad an Electronic Engineer. > I want to produce an embedded video processor using lovely > Linux & GStreamer. > I have been working on application with Gtk+ and Gstreamer > to show and > process video. > I want to show the original Video in a Ximage and after > processing > data show processed data on another seperate Ximage of > Gtk. > I could show Video frames with playbin and uri of GStreamer > but > unfortunately when I want to make it with a pipeline and > linking > low-level elements like source (filesrc), demux, queue, > decoder, > ffmpegcolorspace and vscale and videosink, they can't link > correctly > and it's bus issues a message of "Internal data stream > error". > This is very big problem with very few source and example > for > GStreamer in the Internet and it causes I involved to this > trouble 3 > weeks. Dear Wim if possible do a favor for me and guide me > in this > issue (at least an useful link in the Internet). Take a look into this thread: http://n4.nabble.com/Converting-a-gst-launch-pipeline-to-C-code-td973812.html#a973812 Regards, Fabio Estevam From fabioestevam at yahoo.com Wed Dec 23 18:35:29 2009 From: fabioestevam at yahoo.com (Fabio Estevam) Date: Wed, 23 Dec 2009 09:35:29 -0800 (PST) Subject: [gst-devel] Fwd: Question about using GStreamer In-Reply-To: <34539a480912220651k1242587bx26bb388667cfe3c3@mail.gmail.com> Message-ID: <779702.7905.qm@web51004.mail.re2.yahoo.com> --- On Tue, 12/22/09, Ronald S. Bultje wrote: > From: Ronald S. Bultje > Subject: [gst-devel] Fwd: Question about using GStreamer > To: gstreamer-devel at lists.sf.net > Date: Tuesday, December 22, 2009, 12:51 PM > Can anyone help this fellow? > > Cheers, > Ronald > > ---------- Forwarded message ---------- > From: mehrdad fallahpour > Date: Tue, Dec 22, 2009 at 7:49 AM > Subject: Question about using GStreamer > To: rbultje at ronald.bitfreak.net > > > Dear Ronald > > I'm Mehrdad an Electronic Engineer. > I want to produce an embedded video processor using lovely > Linux & GStreamer. > I have been working on application with Gtk+ and Gstreamer > to show and > process video. > I want to show the original Video in a Ximage and after > processing > data show processed data on another seperate Ximage of > Gtk. > I could show Video frames with playbin and uri of GStreamer > but > unfortunately when I want to make it with a pipeline and > linking > low-level elements like source (filesrc), demux, queue, > decoder, > ffmpegcolorspace and vscale and videosink, they can't link > correctly > and it's bus issues a message of "Internal data stream > error". > This is very big problem with very few source and example > for > GStreamer in the Internet and it causes I involved to this > trouble 3 > weeks. Dear Wim if possible do a favor for me and guide me > in this > issue (at least an useful link in the Internet). Take a look into this thread: http://n4.nabble.com/Converting-a-gst-launch-pipeline-to-C-code-td973812.html#a973812 Regards, Fabio Estevam From halley.zhao at intel.com Thu Dec 24 03:24:30 2009 From: halley.zhao at intel.com (Zhao, Halley) Date: Thu, 24 Dec 2009 10:24:30 +0800 Subject: [gst-devel] what's the reason for 'returned caps which are not a real subset of its template caps'? In-Reply-To: <1261562088.4184.78.camel@metal> References: <1261562088.4184.78.camel@metal> Message-ID: Great thanks Wim. It works. -----Original Message----- From: Wim Taymans [mailto:wim.taymans at gmail.com] Sent: 2009?12?23? 17:55 To: Discussion of the development of GStreamer Subject: Re: [gst-devel] what's the reason for 'returned caps which are not a real subset of its template caps'? On Wed, 2009-12-23 at 16:57 +0800, Zhao, Halley wrote: > When I use my customized camera src element, there is one warning > that: > > 'returned caps which are not a real subset of its template caps' It means that the template caps are more restrictive that the caps returned by getcaps, which is likely not what you want. > > Could anyone kindly tell me where is root reason? The template caps contain a framerate field while the ones from the getcaps function don't. > > How to fix it? Add a framerate field to the caps returned from getcaps. Wim > > Thanks. > > > > > > I guess there are two possible reasons: > > 1. I added ?video/x-raw-va? for my camera src caps, which is not > included in base src. > > 2. Pad template (shows by gst-inspect?) doesn?t match with _get_caps > during run-time. See attachment. > > > > > > > > ZHAO, Halley (Aihua) > > Email: halley.zhao at intel.com > > Tel: +86(21)61166476 > > iNet: 8821-6476 > > SSG/OTC/Moblin 3W038 Pole: F4 > > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From jyoti.d at allaboutif.com Thu Dec 24 05:30:34 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Thu, 24 Dec 2009 10:00:34 +0530 Subject: [gst-devel] New segment update In-Reply-To: <1261576514.4184.89.camel@metal> References: <1261576514.4184.89.camel@metal> Message-ID: Sorry for the inconvienience. I want to update start and stop values of the playback segment. In my player application am downloading http stream into a tmp file(this is done in one pipeline) and for playback I have another pipeline playing data from this tmp file. Sometimes when the download rate is too slow. The pipeline emits EOS signal on reaching EOF of tmp file and the playback stops. Now I want to continue plaback once enough data is available for playback. To do this am querying the position of the last left data and seeking to that position. This is what I was refering to new segment. Thanks, Jyoti ---------- Forwarded message ---------- From: Wim Taymans Date: Wed, Dec 23, 2009 at 7:25 PM Subject: Re: [gst-devel] New segment update To: Discussion of the development of GStreamer < gstreamer-devel at lists.sourceforge.net> On Wed, 2009-12-23 at 17:21 +0530, Jyoti wrote: > Hi All, > > For my player application am required to frequently update the > playback > segment values. Currently am seeking the first segment as below: > > gst_element_seek > ( > pipeline, > 1.0, > GST_FORMAT_TIME, > GST_SEEK_FLAG_SEGMENT, SEEK_TYPE_SET, > (0 * GST_SECOND), > GST_SEEK_TYPE_NONE, > -1 > ); > > After sometime I get GST_MESSAGE_SEGMENT_DONE. Now I want to update > the my NEW_SEGMENT from the last > played value to the total duration. Since you configured the playback segment to play to the end of the stream, the SEGMENT_DONE message is posted as soon as the last byte of the data is pushed in the pipeline (by the demuxer or source). In light of this, your question does not make any sense. What are you trying to do? > > > Can someone tell me how can I update the NEW_SEGMENT values. What do mean with 'NEW_SEGMENT values'? Maybe you mean changing the playback segment start and stop values? Maybe you mean the values of the NEW_SEGMENT event? > And what changes to be done with pipeline state, before or after doing > the seek for > NEW_SEGMENT? What's a 'seek for NEW_SEGMENT'? maybe you mean that you want to perform a segment seek? In any case, this has nothing to do with state changes. In general, seeking can be done in either PAUSED or PLAYING. Performing a non-flushing seek will usually block the caller until the PLAYING state is reached (so you usually want to perform non-flushing seeks in PLAYING). Wim > > Thanks, > Jyoti > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: From kapil.agl at gmail.com Thu Dec 24 12:55:53 2009 From: kapil.agl at gmail.com (Kapil Agrawal) Date: Thu, 24 Dec 2009 17:25:53 +0530 Subject: [gst-devel] how to loop pipelines? In-Reply-To: <785339900912220134q34815d90k67cea7d48e0a1959@mail.gmail.com> References: <785339900912220028y6c6ae99fpc707952806c5eb4c@mail.gmail.com> <612642.59325.qm@web51304.mail.re2.yahoo.com> <785339900912220134q34815d90k67cea7d48e0a1959@mail.gmail.com> Message-ID: I suggest write a simple C application, and whenever you get EOS set the pipeline to READY state and then PLAYING. On Tue, Dec 22, 2009 at 3:04 PM, sudarshan bisht wrote: > try using alsasink . > > On Tue, Dec 22, 2009 at 2:59 PM, gather bzbz wrote: > >> Thanks. Tried, but failed with >> >> ERROR: from element /GstPipeline:pipeline0/GstOssSink:osssink0: Could not >> open audio device for playback. Device is being used by another application. >> >> I guess all the pipes are executed in competition....Any suggestions? >> >> --- On Tue, 12/22/09, sudarshan bisht wrote: >> >> > From: sudarshan bisht >> > Subject: Re: [gst-devel] how to loop pipelines? >> > To: "Discussion of the development of GStreamer" < >> gstreamer-devel at lists.sourceforge.net> >> > Date: Tuesday, December 22, 2009, 12:28 AM >> > type the same command n times in terminal >> > . e.g filesrc ! mad ! audioconvert ! osssink filesrc ! >> > mad ! audioconvert ! osssink filesrc ! mad ! audioconvert >> > ! osssink ........ >> > >> > >> > On Tue, Dec 22, 2009 at 1:53 PM, >> > gather bzbz >> > wrote: >> > >> > >> > Yeah, can do that. But any way to loop it from the pipeline >> > script itself? I googled a little bit, someone was talking >> > about setting the pipe stages to get it done, but have not >> > found any samples yet. Anyone can kindly provide some? >> > Thanks. >> > >> > >> > --- On Tue, 12/22/09, shinstar >> > wrote: >> > >> > > From: shinstar >> > >> > > Subject: Re: [gst-devel] how to loop pipelines? >> > > To: gstreamer-devel at lists.sourceforge.net >> > > Date: Tuesday, December 22, 2009, 12:17 AM >> > >> > >> > >> > > >> > > Hi, >> > > Maybe you should write a simple shell script or build >> > your >> > > own GStreamer >> > > applications. >> > > >> > > regards, >> > > >> > > >> > > gather bzbz wrote: >> > > > >> > >> > > > Say, if I have a mp3 file, I can play it with >> > "filesrc >> > > ! mad ! >> > > > audioconvert ! osssink ", how can I loop it >> > so that >> > > the same mp3 file gets >> > > > played again and again? idealy, the number of >> > loops >> > >> > > can be controled by a >> > > > number. Thanks a ton! >> > > > >> > > > >> > > > >> > > > >> > > > >> > > >> > >> ------------------------------------------------------------------------------ >> > > > This SF.Net email is sponsored by the Verizon >> > >> > > Developer Community >> > > > Take advantage of Verizon's best-in-class >> > app >> > > development support >> > > > A streamlined, 14 day to market process makes >> > app >> > > distribution fast and >> > > > easy >> > >> > > > Join now and get one step closer to millions of >> > > Verizon customers >> > > > http://p.sf.net/sfu/verizon-dev2dev >> > > > _______________________________________________ >> > >> > > > gstreamer-devel mailing list >> > > > gstreamer-devel at lists.sourceforge.net >> > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> > >> > > > >> > > > >> > > >> > > -- >> > > View this message in context: >> http://n4.nabble.com/how-to-loop-pipelines-tp976779p976785.html >> > >> > > Sent from the GStreamer-devel mailing list archive at >> > > Nabble.com. >> > > >> > > >> > >> ------------------------------------------------------------------------------ >> > > This SF.Net email is sponsored by the Verizon >> > Developer >> > >> > > Community >> > > Take advantage of Verizon's best-in-class app >> > development >> > > support >> > > A streamlined, 14 day to market process makes app >> > > distribution fast and easy >> > > Join now and get one step closer to millions of >> > Verizon >> > >> > > customers >> > > http://p.sf.net/sfu/verizon-dev2dev >> > > _______________________________________________ >> > > gstreamer-devel mailing list >> > >> > > gstreamer-devel at lists.sourceforge.net >> > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> > >> > > >> > >> > >> > >> > >> > >> ------------------------------------------------------------------------------ >> > This SF.Net email is sponsored by the Verizon Developer >> > Community >> > Take advantage of Verizon's best-in-class app >> > development support >> > >> > A streamlined, 14 day to market process makes app >> > distribution fast and easy >> > Join now and get one step closer to millions of Verizon >> > customers >> > http://p.sf.net/sfu/verizon-dev2dev >> > >> > _______________________________________________ >> > gstreamer-devel mailing list >> > gstreamer-devel at lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> > >> > >> > >> > >> > -- >> > Regards, >> > >> > Sudarshan Bisht >> > >> > >> > -----Inline Attachment Follows----- >> > >> > >> ------------------------------------------------------------------------------ >> > This SF.Net email is sponsored by the Verizon Developer >> > Community >> > Take advantage of Verizon's best-in-class app development >> > support >> > A streamlined, 14 day to market process makes app >> > distribution fast and easy >> > Join now and get one step closer to millions of Verizon >> > customers >> > http://p.sf.net/sfu/verizon-dev2dev >> > -----Inline Attachment Follows----- >> > >> > _______________________________________________ >> > gstreamer-devel mailing list >> > gstreamer-devel at lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> > >> >> >> >> >> >> ------------------------------------------------------------------------------ >> This SF.Net email is sponsored by the Verizon Developer Community >> Take advantage of Verizon's best-in-class app development support >> A streamlined, 14 day to market process makes app distribution fast and >> easy >> Join now and get one step closer to millions of Verizon customers >> http://p.sf.net/sfu/verizon-dev2dev >> _______________________________________________ >> gstreamer-devel mailing list >> gstreamer-devel at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> > > > > -- > Regards, > > Sudarshan Bisht > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- http://www.linkedin.com/in/kapilagrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: From felipe.contreras at gmail.com Thu Dec 24 18:13:30 2009 From: felipe.contreras at gmail.com (Felipe Contreras) Date: Thu, 24 Dec 2009 19:13:30 +0200 Subject: [gst-devel] How to decrease CPU consumation for audio recording? In-Reply-To: References: <8FED46E8A9CA574792FC7AACAC38FE7714FF94456C@PDSMSX501.ccr.corp.intel.com> <4B26B68D.3060601@hora-obscura.de> <8FED46E8A9CA574792FC7AACAC38FE77150B79DDA4@PDSMSX501.ccr.corp.intel.com> Message-ID: <94a0d4530912240913t10cb098dj60e3cb7bce827f4@mail.gmail.com> 2009/12/17 Zhao, Halley : > Finally, I found out pulseaudio play a lot in the audio pipeline, if I access alsasrc, hw:0 directly, it could make %cpu half. > > Then I tried flac instead of vorbis, %CPU is decreased another half. GStreamer is not good at handling very small buffers. Try playing with alsasrc (or better pulsesrc) properties to generate bigger buffers. Also try removing the queue because it will make a thread boundary and there will be a lot of thread contention. Somebody suggested using OProfile, I also recommend that. You can generate profiles like this: http://people.freedesktop.org/~felipec/profile/mp3-1.png Cheers. -- Felipe Contreras From felipe.contreras at gmail.com Thu Dec 24 18:25:31 2009 From: felipe.contreras at gmail.com (Felipe Contreras) Date: Thu, 24 Dec 2009 19:25:31 +0200 Subject: [gst-devel] Question on codec_data for H.264 when ES has AnnexB package In-Reply-To: References: Message-ID: <94a0d4530912240925n4b1424d9w9fc633ed5ec34dab@mail.gmail.com> On Wed, Dec 16, 2009 at 9:38 AM, Chen, Weian wrote: > I can get the H.264 ES stream (AnnexB Package) from HW encoder in my encoder > element, and I also can get sps/pps NAL unit from the ES, but when I fill > the codec_data (decoder configuration record) according to spec, then write > the stream into mp4 file format, but the dump *.mp4 is not playable. > > And the difference between my HW encoder and x264enc is the ES output from > HW is AnnexB package and x264enc isn?t. > > Could anybody here tell me the reason? Can AnnexB stream have codec_data? No. AnnexB is also named "bytestream" format, and it doesn't contain codec_data. The codec_data part is defined in MPEG-4 part 15, and the stream format is different from Annex B. AFAIK if you are going to save to an MP4 container you need to specify bytestream=false (x264enc has that option), however, this should have been introduced in the caps so that it's negotiated automatically. Perhaps for GStreamer 0.11. I wrote this document to clarify the different H.264 formats. I hope you find it useful. H.264 formats ============= This document tries to summarize high-level formats of H.264 to define the interfaces between encoders, decoders, muxers, demuxers, payloaders, and depayloaders. Byte stream ----------- The H.264 standard by ITU-T defines only the byte stream format (Annex B) which can used standalone, or in dummy containers (AVI) in order to avoid codec-data[1]. File format ----------- The MPEG-4 part 15 specification (ISO/IEC 14496-15) on section 5.2.4 defines the codec-data format (decoder configuration information). This is mostly used by smart containers (MPEG-4, Matroska). The codec-data includes information, such as profile, level, sps and pps. Also, it specifies the size of NAL unit lenght field, which is prefixed before each NAL unit. For example, if the size corresponds to 4 bytes, then a 100-byte NAL unit would be prefixed with 0x00000064. RTP payload ----------- The RTP Payload Format for H.264 Video specification (RFC3984) in section 1.1 makes perfectly clear that neither byte-stream or the file-format are relevant for RTP; a payloader would only care about NAL units. Interfacing ----------- Now that all the formats have been defined it's only sensible to use these for interfacing between different components. Let's keep in mind that each component should be logically independent: do one job, and one job only. A demuxer should be codec-agnostic, therefore, it would output only whatever is stored as it is. A decoder should be able to receive whatever the demuxer outputs: both byte-stream and AVC file-format. If in file-format, then receive the codec-data in separate, appropriately identified buffer. A muxer should mirror the demuxer; store whatever it receives. An encoder should mirror the decoder; provide decodable frames either in byte-stream, or AVC file-format. A payloader should be able to receive whatever the encoder produces, possibly one of the two formats would be enough, but ideally both should be supported. A depayloader should produce decodable frames, either format should work. Glossary -------- codec-data:: codec-specific configuration data, also known as 'extra-data' and 'CODECCONFIG' in OpenMAX IL. -- Felipe Contreras From wim.taymans at gmail.com Thu Dec 24 18:52:01 2009 From: wim.taymans at gmail.com (Wim Taymans) Date: Thu, 24 Dec 2009 18:52:01 +0100 Subject: [gst-devel] How to decrease CPU consumation for audio recording? In-Reply-To: <94a0d4530912240913t10cb098dj60e3cb7bce827f4@mail.gmail.com> References: <8FED46E8A9CA574792FC7AACAC38FE7714FF94456C@PDSMSX501.ccr.corp.intel.com> <4B26B68D.3060601@hora-obscura.de> <8FED46E8A9CA574792FC7AACAC38FE77150B79DDA4@PDSMSX501.ccr.corp.intel.com> <94a0d4530912240913t10cb098dj60e3cb7bce827f4@mail.gmail.com> Message-ID: <1261677121.4184.101.camel@metal> On Thu, 2009-12-24 at 19:13 +0200, Felipe Contreras wrote: > 2009/12/17 Zhao, Halley : > > Finally, I found out pulseaudio play a lot in the audio pipeline, if I access alsasrc, hw:0 directly, it could make %cpu half. > > > > Then I tried flac instead of vorbis, %CPU is decreased another half. > > GStreamer is not good at handling very small buffers. What do you mean with this? What do you define as a small buffer? How is it not good? Anything in practice where this is a problem? >From the improvements from switching from pulsesrc to alsasrc and then some more when using a faster encoder, as stated above, your comment needs some more explanation, IMO. Wim > Try playing with > alsasrc (or better pulsesrc) properties to generate bigger buffers. > Also try removing the queue because it will make a thread boundary and > there will be a lot of thread contention. > > Somebody suggested using OProfile, I also recommend that. You can > generate profiles like this: > http://people.freedesktop.org/~felipec/profile/mp3-1.png > > Cheers. > From weian.chen at intel.com Fri Dec 25 03:05:09 2009 From: weian.chen at intel.com (Chen, Weian) Date: Fri, 25 Dec 2009 10:05:09 +0800 Subject: [gst-devel] Question on H.264 AnnexB package mode in MP4 container Message-ID: Hi All As you know, h264 streams come in two package modes: 1. Length prefixed 2. start code prefixed (AnnexB) My question here is: can we put start code prefixed H.264 stream into MP4 container, is it legal or not? Thanks in advanced. Weian Chen Ultra Mobility Group Intel Corporation Tel: 86-21-6116-6478 Fax: 86-21-3429-1915 iNet: 8-821-6478 -------------- next part -------------- An HTML attachment was scrubbed... URL: From gbzbz at yahoo.com Fri Dec 25 08:49:04 2009 From: gbzbz at yahoo.com (gather bzbz) Date: Thu, 24 Dec 2009 23:49:04 -0800 (PST) Subject: [gst-devel] osssrc complains "Can't record audio fast enough" Message-ID: <264928.31376.qm@web51308.mail.re2.yahoo.com> case 1: "gst-launch osssrc ! lame ! filesink location=xxx" gives "osssrc: Can't record audio fast enough". case 2" "gst-launch osssrc ! audioconvert ! osssink sync=false" gives OK. Any way to generate mp3 files with osssrc? Thanks! From kapil.agl at gmail.com Fri Dec 25 09:33:02 2009 From: kapil.agl at gmail.com (Kapil Agrawal) Date: Fri, 25 Dec 2009 14:03:02 +0530 Subject: [gst-devel] osssrc complains "Can't record audio fast enough" In-Reply-To: <264928.31376.qm@web51308.mail.re2.yahoo.com> References: <264928.31376.qm@web51308.mail.re2.yahoo.com> Message-ID: although I am unable to regenerate your test case, you might try gst-launch osssrc ! lame ! filesink location=xxx sync=true On Fri, Dec 25, 2009 at 1:19 PM, gather bzbz wrote: > case 1: "gst-launch osssrc ! lame ! filesink location=xxx" gives "osssrc: > Can't record audio fast enough". > > case 2" "gst-launch osssrc ! audioconvert ! osssink sync=false" gives OK. > > Any way to generate mp3 files with osssrc? Thanks! > > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -- http://www.linkedin.com/in/kapilagrawal -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.i.m at zen.co.uk Fri Dec 25 17:19:30 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Fri, 25 Dec 2009 16:19:30 +0000 Subject: [gst-devel] osssrc complains "Can't record audio fast enough" In-Reply-To: <264928.31376.qm@web51308.mail.re2.yahoo.com> References: <264928.31376.qm@web51308.mail.re2.yahoo.com> Message-ID: <1261757970.3208.9.camel@zingle> On Thu, 2009-12-24 at 23:49 -0800, gather bzbz wrote: > case 1: "gst-launch osssrc ! lame ! filesink location=xxx" gives "osssrc: Can't record audio fast enough". Note that for any half-way recent version of gstreamer/gst-plugins-base the debug message that comes with that warning reads something like "Dropped x samples. This is most likely because downstream can't keep up and is consuming samples too slowly." Try putting a queue between osssrc and lame. If that doesn't fix it, then the encoder (lame) is most likely just not able to encode fast enough, ie. in real time on average, on that particular computer, in which case you might be able to configure the encoder to use a less computationally intensive algorithm/mode (see gst-inspect-0.10 lame; also have a look at the lamemp3enc element which has simpler options). If that still doesn't help, you could try to reduce the input sample rate (by adding a caps filter between source and the encoder, for example). Cheers -Tim From gbzbz at yahoo.com Sat Dec 26 02:11:23 2009 From: gbzbz at yahoo.com (gather bzbz) Date: Fri, 25 Dec 2009 17:11:23 -0800 (PST) Subject: [gst-devel] osssrc complains "Can't record audio fast enough" In-Reply-To: <1261757970.3208.9.camel@zingle> Message-ID: <353193.80693.qm@web51307.mail.re2.yahoo.com> Hi Tim, Could you please provide a sample of the said cap filter set between the src and lame? I have tried other ways, none worked :( Best, B.Z. --- On Fri, 12/25/09, Tim-Philipp M?ller wrote: > From: Tim-Philipp M?ller > Subject: Re: [gst-devel] osssrc complains "Can't record audio fast enough" > To: gstreamer-devel at lists.sourceforge.net > Date: Friday, December 25, 2009, 8:19 AM > On Thu, 2009-12-24 at 23:49 -0800, > gather bzbz wrote: > > > case 1: "gst-launch osssrc ! lame ! filesink > location=xxx" gives "osssrc: Can't record audio fast > enough". > > Note that for any half-way recent version of > gstreamer/gst-plugins-base > the debug message that comes with that warning reads > something like > "Dropped x samples. This is most likely because downstream > can't keep up > and is consuming samples too slowly." > > Try putting a queue between osssrc and lame. If that > doesn't fix it, > then the encoder (lame) is most likely just not able to > encode fast > enough, ie. in real time on average, on that particular > computer, in > which case you might be able to configure the encoder to > use a less > computationally intensive algorithm/mode (see > gst-inspect-0.10 lame; > also have a look at the lamemp3enc element which has > simpler options). > > If that still doesn't help, you could try to reduce the > input sample > rate (by adding a caps filter between source and the > encoder, for > example). > > Cheers > -Tim > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer > Community > Take advantage of Verizon's best-in-class app development > support > A streamlined, 14 day to market process makes app > distribution fast and easy > Join now and get one step closer to millions of Verizon > customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From ved.kpl at gmail.com Sun Dec 27 10:24:17 2009 From: ved.kpl at gmail.com (ved kpl) Date: Sun, 27 Dec 2009 18:24:17 +0900 Subject: [gst-devel] New segment update In-Reply-To: References: <1261576514.4184.89.camel@metal> Message-ID: <7496c23f0912270124t124e6735x847b3661141511a7@mail.gmail.com> Why use two pipelines?, You can use queue2 with use-buffering == TRUE and appropriately set the low and high thresholds. Whenever the pipeline hits low threshold, set it to paused (waiting for the queue to fill up) and then accordingly set the pipeline to playing. Listen for the buffering percent messages onto the bus to achieve this and also fine tune your high and low thresholds for the queue. On 12/24/09, Jyoti wrote: > Sorry for the inconvienience. > > I want to update start and stop values of the playback segment. > > In my player application am downloading http stream into a tmp file(this is > done in one pipeline) > and for playback I have another pipeline playing data from this tmp file. > > Sometimes when the download rate is too slow. The pipeline emits > EOS signal on reaching EOF of tmp file and the playback stops. > Now I want to continue plaback once enough data is available for playback. > To do this am querying the position of the last left data and seeking to > that position. > > This is what I was refering to new segment. > > Thanks, > Jyoti > > ---------- Forwarded message ---------- > From: Wim Taymans > Date: Wed, Dec 23, 2009 at 7:25 PM > Subject: Re: [gst-devel] New segment update > To: Discussion of the development of GStreamer < > gstreamer-devel at lists.sourceforge.net> > > > On Wed, 2009-12-23 at 17:21 +0530, Jyoti wrote: >> Hi All, >> >> For my player application am required to frequently update the >> playback >> segment values. Currently am seeking the first segment as below: >> >> gst_element_seek >> ( >> pipeline, >> 1.0, >> GST_FORMAT_TIME, >> GST_SEEK_FLAG_SEGMENT, SEEK_TYPE_SET, >> (0 * GST_SECOND), >> GST_SEEK_TYPE_NONE, >> -1 >> ); >> >> After sometime I get GST_MESSAGE_SEGMENT_DONE. Now I want to update >> the my NEW_SEGMENT from the last >> played value to the total duration. > > Since you configured the playback segment to play to the end of the > stream, the SEGMENT_DONE message is posted as soon as the last byte of > the data is pushed in the pipeline (by the demuxer or source). > > In light of this, your question does not make any sense. What are you > trying to do? > >> >> >> Can someone tell me how can I update the NEW_SEGMENT values. > > What do mean with 'NEW_SEGMENT values'? Maybe you mean changing the > playback segment start and stop values? Maybe you mean the values of the > NEW_SEGMENT event? > >> And what changes to be done with pipeline state, before or after doing >> the seek for >> NEW_SEGMENT? > > What's a 'seek for NEW_SEGMENT'? maybe you mean that you want to perform > a segment seek? In any case, this has nothing to do with state changes. > > In general, seeking can be done in either PAUSED or PLAYING. Performing > a non-flushing seek will usually block the caller until the PLAYING > state is reached (so you usually want to perform non-flushing seeks in > PLAYING). > > Wim >> >> Thanks, >> Jyoti >> >> >> > ------------------------------------------------------------------------------ >> This SF.Net email is sponsored by the Verizon Developer Community >> Take advantage of Verizon's best-in-class app development support >> A streamlined, 14 day to market process makes app distribution fast and > easy >> Join now and get one step closer to millions of Verizon customers >> http://p.sf.net/sfu/verizon-dev2dev >> _______________________________________________ gstreamer-devel mailing > list gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From gstreamer-devel at omroepvenray.nl Sun Dec 27 17:44:45 2009 From: gstreamer-devel at omroepvenray.nl (Roland Hermans) Date: Sun, 27 Dec 2009 17:44:45 +0100 Subject: [gst-devel] controlling framerate for custom src plugin Message-ID: Hi, For a local public radio station a few years ago I have setup a live Ogg Theora/Vorbis stream. The current solution is based on a Python script that grabs the frames of an Intellinet IP camera and is used together with ffmpeg to overlay an image and text messages, and gstreamer to add live alsa audio capture and create the Ogg stream and Icecast2 to stream. Problems with this setup are that audio and video are not synchronized, and that the latest version of ffmpeg no longer supports vhooks. Therefore I'm looking for a completely gstreamer based solution to implement the live stream. I could not find a plugin to capture the images from the IP camera and I started implementing my own plugin based on gsttcpclientsrc.c. It is able to capture the JPEG images from the IP camera and send them as buffers to jpegdec (the next element in the pipeline) but for some reason I'm not able to control the framerate. It is always capturing images at the highest possible speed. After some more reading of the manuals and checking sources of e.g. videotestsrc and v4lsrc I added timestamps to the buffers but that did not help: the stream was freezing at the first frame but capturing is still done at high speed. I also tried forcing a framerate 1 fps with caps. Images now appear between 3 and 4 seconds, but capturing remains at high speed. The pipeline I currently use for testing: gst-launch ipcamsrc host=HOST port=8080 username=USER password=PASS ! jpegdec ! ffmpegcolorspace ! timeoverlay ! ximagesink >From the following debug output I conclude that this pipeline is operating in push mode: 0:00:00.910443729 ...: Trying pull mode first 0:00:00.910471532 ...: pull mode disabled 0:00:00.910498350 ...: Falling back to push mode A current development snapshot is available via http://www.omroepvenray.nl/gst/ipcam.tar.gz Any idea what might be wrong/missing here? Best regards, Roland Hermans ________________________________________________ Message sent using UebiMiau 2.7.10 From t.i.m at zen.co.uk Sun Dec 27 21:04:28 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Sun, 27 Dec 2009 20:04:28 +0000 Subject: [gst-devel] controlling framerate for custom src plugin In-Reply-To: References: Message-ID: <1261944268.3503.13.camel@zingle> On Sun, 2009-12-27 at 17:44 +0100, Roland Hermans wrote: Hi Roland, > I could not find a plugin to capture the images from the IP > lcamera and I started implementing my own plugin based on > gsttcpclientsrc.c. It's not the kind of cam that just works with e.g. souptthpsrc location=... ! multipartdemux ! ... ? > It is able to capture the JPEG images from the IP camera and send them as > buffers to jpegdec (the next element in the pipeline) but for some reason > I'm not able to control the framerate. It is always capturing images at the > highest possible speed. I think that's normal for a lot of these cameras. > After some more reading of the manuals and checking sources of e.g. > videotestsrc and v4lsrc I added timestamps to the buffers but that did not > help: the stream was freezing at the first frame but capturing is still done > at high speed. I also tried forcing a framerate 1 fps with caps. Images now > appear between 3 and 4 seconds, but capturing remains at high speed. Your source should put timestamps on buffers. If it derives from GstBaseSrc it might be enough to set the do-timestamp property to TRUE. You can then put a videorate element into the pipeline followed by a capsfilter with a framerate, which will drop/duplicate frames and fix up the timestamps a bit so that you get a perfectly time-stamped stream that's easy to feed into encoders/muxers. > The pipeline I currently use for testing: > > gst-launch ipcamsrc host=HOST port=8080 username=USER password=PASS ! > jpegdec ! ffmpegcolorspace ! timeoverlay ! ximagesink Maybe try something like: ipcamsrc do-timestamp=true ... ! videorate ! image/jpeg,framerate= \(fraction\)25/1 ! jpegdec ! ffmpegcolorspace ! timeoverlay ! ffmpegcolorspace ! ximagesink sync=false (IIRC videorate supports image/jpeg only in recent versions of gst-plugins-base - if that's a problem you can move the videorate behind the jpegdec.) Cheers -Tim From francis.rammeloo at gmail.com Sun Dec 27 23:28:39 2009 From: francis.rammeloo at gmail.com (Francis Rammeloo) Date: Sun, 27 Dec 2009 23:28:39 +0100 Subject: [gst-devel] Display static image? Message-ID: I'm using the videomixer plugin to create a combined video from two incoming video streams. Both videos are positioned horizontally next to each other. The second video has a smaller height than the first one. Resulting in a black rectangular area in the lower right corner of the video. I would like to fill this black hole with a static image. I have tried loading an image using a filesrc linked with a jpegdec element, but the problem is that the video gets an EOS event after having loaded the image, so it only shows for a fraction of a second. Is there any way to do it? I'm currently loading all my pipelines using the gst-launch parser, so a solution in gst-launch syntax would be ideal. However, I'd be willing to do it in code if needed. Francis -------------- next part -------------- An HTML attachment was scrubbed... URL: From gstreamer-devel at omroepvenray.nl Mon Dec 28 09:36:43 2009 From: gstreamer-devel at omroepvenray.nl (Roland Hermans) Date: Mon, 28 Dec 2009 09:36:43 +0100 (CET) Subject: [gst-devel] Display static image? In-Reply-To: References: Message-ID: <58720.84.30.205.28.1261989403.squirrel@www.omroepvenray.nl> Hi Francis, > I would like to fill this black hole with a static image. I have tried > loading an image using a filesrc linked with a jpegdec element, but the > problem is that the video gets an EOS event after having loaded the image, > so it only shows for a fraction of a second. > > Is there any way to do it? I'm currently loading all my pipelines using > the > gst-launch parser, so a solution in gst-launch syntax would be ideal. A workaround that I have used is a multifilesrc with a fixed location, so that it keeps reading the same image over and over again. For example: gst-launch multifilesrc location=yourfile.jpg caps=image/jpeg,framerate=\(fraction\)1/1 ! jpegdec ! ffmpegcolorspace ! video/x-raw-rgb,framerate=\(fraction\)1/1 ! timeoverlay ! ximagesink But it might very well be that there is a better solution and I would be interested in it as well. Roland From gstreamer-devel at omroepvenray.nl Mon Dec 28 09:41:21 2009 From: gstreamer-devel at omroepvenray.nl (Roland Hermans) Date: Mon, 28 Dec 2009 09:41:21 +0100 (CET) Subject: [gst-devel] controlling framerate for custom src plugin In-Reply-To: <1261944268.3503.13.camel@zingle> References: <1261944268.3503.13.camel@zingle> Message-ID: <44303.84.30.205.28.1261989681.squirrel@www.omroepvenray.nl> Hi Tim, >> I could not find a plugin to capture the images from the IP >> lcamera and I started implementing my own plugin based on >> gsttcpclientsrc.c. > > It's not the kind of cam that just works with e.g. souptthpsrc > location=... ! multipartdemux ! ... ? No, unfortunately it doesn't use http but has a custom protocol to authenticate and request images. >> I'm not able to control the framerate. It is always capturing images at >> the >> highest possible speed. > > I think that's normal for a lot of these cameras. Sorry if I wasn't clear. It's not the camera that's sending images too frequent but it's gstreamer that keeps calling the _create() on my ipcamsrc element. The camera will only send an image after receiving and image request. I send this image request from within the _create() call, receive the JPEG image data and put it in a buffer. If I debug the same pipeline with e.g. videotestsrc, I see that videotestsrc generates new frames at the requested frame rate (as it should). I would like to have the same behavior for my ipcamsrc, i.e. _create() is called only when a frame is needed. > Your source should put timestamps on buffers. If it derives from > GstBaseSrc it might be enough to set the do-timestamp property to TRUE. > You can then put a videorate element into the pipeline followed by a > capsfilter with a framerate, which will drop/duplicate frames and fix up > the timestamps a bit so that you get a perfectly time-stamped stream > that's easy to feed into encoders/muxers. I removed all my own (well, copied from v4lsrc) time stamping code and enabled do-timestamp but without luck. >> The pipeline I currently use for testing: >> >> gst-launch ipcamsrc host=HOST port=8080 username=USER password=PASS ! >> jpegdec ! ffmpegcolorspace ! timeoverlay ! ximagesink > > Maybe try something like: > > ipcamsrc do-timestamp=true ... ! videorate ! image/jpeg,framerate= > \(fraction\)25/1 ! jpegdec ! ffmpegcolorspace ! timeoverlay ! > ffmpegcolorspace ! ximagesink sync=false Unfortunately this doesn't help either. But to check my understanding of how gstreamer works: the src pad of videorate should be emitting frames at exactly the specified framerate, but does it also try to negotiate this framerate on the sink pad of the videorate element? I also noticed that gst_buffer_set_caps() is called. Is it necessary/important that the correct caps are set on the buffer? In other words, what is important for the framerate (timestamp, duration, caps, ...)? > (IIRC videorate supports image/jpeg only in recent versions of > gst-plugins-base - if that's a problem you can move the videorate behind > the jpegdec.) I'm using gstreamer-plugins-base 0.10.25.1 and didn't notice any errors related to this. Best regards, Roland BTW: see http://www.omroepvenray.nl/gst/gstipcamsrc.c for latest snapshot From ensonic at hora-obscura.de Mon Dec 28 09:55:20 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Mon, 28 Dec 2009 10:55:20 +0200 Subject: [gst-devel] Playbin2 and Audio-CDs In-Reply-To: <1261428907.5707.4.camel@jono-desktop> References: <1261428907.5707.4.camel@jono-desktop> Message-ID: <4B387278.3050006@hora-obscura.de> Hi, Am 21.12.2009 22:55, schrieb reg: > Hi, > I'm trying to use playbin2 with audiocds. I can get a track to > play,pause and seek fine but the moment I try and change the uri > playbin2 just plays up a lot. These are the errors I get: > > (Gereqi.py:5019): GStreamer-WARNING **: Name queue is not unique in bin > uridecodebin0, not adding > > (Gereqi.py:5019): GStreamer-CRITICAL **: gst_caps_get_structure: > assertion `index < caps->structs->len' failed > > (Gereqi.py:5019): GStreamer-CRITICAL **: gst_structure_get_name: > assertion `structure != NULL' failed > > > However, I can use playbin2 again without restarting my app. I just > can't use the audio-cd until I restart my app. > > Is it possible to use playbin2 with audio-cd's yet? It should all work. Try gstreamer from git and if it also fails run G_DEBUG=fatal_warnings" gdb ./your-app when it breaks. print the backtrace (bt command) and file a bug attaching that backtrace. Stefan > > Regard > > Reg. > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Mon Dec 28 09:59:51 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Mon, 28 Dec 2009 10:59:51 +0200 Subject: [gst-devel] how to loop pipelines? In-Reply-To: <655547.7289.qm@web51304.mail.re2.yahoo.com> References: <655547.7289.qm@web51304.mail.re2.yahoo.com> Message-ID: <4B387387.1070606@hora-obscura.de> hi, Am 22.12.2009 09:59, schrieb gather bzbz: > Say, if I have a mp3 file, I can play it with "filesrc ! mad ! audioconvert ! osssink ", how can I loop it so that the same mp3 file gets played again and again? idealy, the number of loops can be controled by a number. Thanks a ton! > you cannot loop from gst-launch. You need to write an application. Look for gst_element_seek and GST_SEEK_FLAG_SEGMENT. Stefan > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Mon Dec 28 10:02:12 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Mon, 28 Dec 2009 11:02:12 +0200 Subject: [gst-devel] how to define NEW_SEGMENT values after GST_MESSAGE_SEGMENT_DONE In-Reply-To: References: Message-ID: <4B387414.7040200@hora-obscura.de> Am 22.12.2009 08:48, schrieb Jyoti: > Hi All, > > For my player application am required to frequently update the playback > segment values. Currently am seeking the first segment as below: > > gst_element_seek > ( > pipeline, > 1.0, > GST_FORMAT_TIME, > GST_SEEK_FLAG_SEGMENT, SEEK_TYPE_SET, > (0 * GST_SECOND), > GST_SEEK_TYPE_NONE, > -1 > ); This is simply requesting to play from the start to EOS. > > After sometime I get GST_MESSAGE_SEGMENT_DONE. Now I want to update the > my NEW_SEGMENT from the last > played value to the total duration. When you receive SEGMENT_DONE, you can seek again to replay from somewhere or loop. If it does not work, you will need to debug. E.g. when gst_element_seek() fails dump a pipeline as a dot-graph and check that all pads are active and not flushing. Maybe some element you use has bugs with seek handling. Stefan > > Can someone tell me how can I define the NEW_SEGMENT values. > And what changes to be done with pipeline state, before or after doing > the seek for > NEW_SEGMENT? > > Thanks, > Jyoti > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > > > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Mon Dec 28 10:06:14 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Mon, 28 Dec 2009 11:06:14 +0200 Subject: [gst-devel] Usage of gst_pad_alloc_buffer in source elements ? In-Reply-To: <4d28d4b50912220238i6e1a8c30s3ca2aafdc09afcf@mail.gmail.com> References: <4d28d4b50912220147t3827fca5i87414cab57d9f53d@mail.gmail.com> <2601e9a90912220204q7be930d5sfc3e94e2c8421e68@mail.gmail.com> <4d28d4b50912220215v719d1395s74d1ee7cc179e0b@mail.gmail.com> <2601e9a90912220219p40a72bboba563b6b23b48810@mail.gmail.com> <4d28d4b50912220238i6e1a8c30s3ca2aafdc09afcf@mail.gmail.com> Message-ID: <4B387506.4080505@hora-obscura.de> Am 22.12.2009 12:38, schrieb Lionel Landwerlin: > Ok, thanks you for your quick answer ! > > So now the 100$ question ;) > If there is a reasonnable gain, would it be considered for inclusion > in the official gstreamer elements ? > That's just to save me some time in posting patches whether nobody is > interested. If you get it working, it saves CPU and it does not make the coder very ugly, it will be considered :) Stefan > > -- > Lionel Landwerlin > > On Tue, Dec 22, 2009 at 11:19 AM, Julien Moutte wrote: >> Potentially yes, you could save one memcpy by doing that. No idea of exactly >> how much you would gain by doing that for compressed data buffers, might be >> worth a try :) >> >> Julien Moutte, >> FLUENDO S.A. >> >> >> On Tue, Dec 22, 2009 at 11:15 AM, Lionel Landwerlin >> wrote: >>> >>> Well... >>> >>> I'm expecting mpegts data from various sources (file/http/udp/etc...) >>> to be transfered through dma to the hardware demuxer. >>> Does it make sense ? >>> >>> -- >>> Lionel Landwerlin >>> >>> On Tue, Dec 22, 2009 at 11:04 AM, Julien Moutte wrote: >>>> If your source element directly produce video frames then it makes sense >>>> to >>>> implement such allocation functions. >>>> >>>> As most source elements are producing compressed data (filesrc, >>>> demuxers,etc...), it does not really make sense to write into a >>>> downstream >>>> allocated buffer. >>>> >>>> Hope this helps, >>>> >>>> Julien Moutte, >>>> FLUENDO S.A. >>>> >>>> >>>> On Tue, Dec 22, 2009 at 10:47 AM, Lionel Landwerlin >>>> >>>> wrote: >>>>> >>>>> Hi gstreamer-devel, >>>>> >>>>> I'm interested in writing a bunch of plugins/elements to get gstreamer >>>>> perform well enough to display SD/HD videos on a set top box chip. >>>>> >From my firsts investigations, it seems quite possible and development >>>>> should start quite soon. However, after reading a few article about >>>>> gstreamer on TI OMAP chips (this one in particular >>>>> >>>>> >>>>> http://www.eetimes.com/news/design/showArticle.jhtml?articleID=193401461&pgno=2 >>>>> ), >>>>> I'm wondering why most of the source elements does not use the >>>>> gst_pad_alloc_buffer function. >>>>> >>>>> In my case, this would be quite interesting to avoid a memory copy and >>>>> to directly write into a contigeous dma mmapped buffer. >>>>> >>>>> Is it something to be done ? >>>>> Is there a very few interest from the community ? >>>>> >>>>> Thanks in advance for your responses. >>>>> >>>>> -- >>>>> Lionel Landwerlin >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> This SF.Net email is sponsored by the Verizon Developer Community >>>>> Take advantage of Verizon's best-in-class app development support >>>>> A streamlined, 14 day to market process makes app distribution fast and >>>>> easy >>>>> Join now and get one step closer to millions of Verizon customers >>>>> http://p.sf.net/sfu/verizon-dev2dev >>>>> _______________________________________________ >>>>> gstreamer-devel mailing list >>>>> gstreamer-devel at lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> This SF.Net email is sponsored by the Verizon Developer Community >>>> Take advantage of Verizon's best-in-class app development support >>>> A streamlined, 14 day to market process makes app distribution fast and >>>> easy >>>> Join now and get one step closer to millions of Verizon customers >>>> http://p.sf.net/sfu/verizon-dev2dev >>>> _______________________________________________ >>>> gstreamer-devel mailing list >>>> gstreamer-devel at lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>>> >>>> >>> >>> >>> ------------------------------------------------------------------------------ >>> This SF.Net email is sponsored by the Verizon Developer Community >>> Take advantage of Verizon's best-in-class app development support >>> A streamlined, 14 day to market process makes app distribution fast and >>> easy >>> Join now and get one step closer to millions of Verizon customers >>> http://p.sf.net/sfu/verizon-dev2dev >>> _______________________________________________ >>> gstreamer-devel mailing list >>> gstreamer-devel at lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> >> >> ------------------------------------------------------------------------------ >> This SF.Net email is sponsored by the Verizon Developer Community >> Take advantage of Verizon's best-in-class app development support >> A streamlined, 14 day to market process makes app distribution fast and easy >> Join now and get one step closer to millions of Verizon customers >> http://p.sf.net/sfu/verizon-dev2dev >> _______________________________________________ >> gstreamer-devel mailing list >> gstreamer-devel at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> >> > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Mon Dec 28 10:07:07 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Mon, 28 Dec 2009 11:07:07 +0200 Subject: [gst-devel] Unable to display .bmp using gstreamer In-Reply-To: References: Message-ID: <4B38753B.4010006@hora-obscura.de> Am 22.12.2009 11:55, schrieb debojyoti.pal at wipro.com: > Hi, > > I need to know which plugin is required to play a .BMP file using > Gstreamer. In one Ubuntu system, I am able to display an .bmp file using > my test application through gstreamer, but the same application can't > display the same .bmp file in another fedora system. Its probably gdk-pixbuf that is providing the bmp decoding. Stefan > > Any help is appreciated. > > Regards, > Deb > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > > > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From debojyoti.pal at wipro.com Mon Dec 28 10:23:52 2009 From: debojyoti.pal at wipro.com (debojyoti.pal at wipro.com) Date: Mon, 28 Dec 2009 14:53:52 +0530 Subject: [gst-devel] Unable to display .bmp using gstreamer References: <4B38753B.4010006@hora-obscura.de> Message-ID: Hi Stefan, Thanks a lot, Could you please tell me which plugin contains gdk-pixbuf, is it part of FF-Mpeg plugin? -----Original Message----- From: Stefan Kost [mailto:ensonic at hora-obscura.de] Sent: Mon 12/28/2009 2:37 PM To: Discussion of the development of GStreamer Cc: Debojyoti Pal (WT01 - PES-Mobile-Auto-CE Practice) Subject: Re: [gst-devel] Unable to display .bmp using gstreamer Am 22.12.2009 11:55, schrieb debojyoti.pal at wipro.com: > Hi, > > I need to know which plugin is required to play a .BMP file using > Gstreamer. In one Ubuntu system, I am able to display an .bmp file using > my test application through gstreamer, but the same application can't > display the same .bmp file in another fedora system. Its probably gdk-pixbuf that is providing the bmp decoding. Stefan > > Any help is appreciated. > > Regards, > Deb > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > > > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: From ensonic at hora-obscura.de Mon Dec 28 14:28:17 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Mon, 28 Dec 2009 15:28:17 +0200 Subject: [gst-devel] Limitations when programming on top of gst_parse_launch? In-Reply-To: References: Message-ID: <4B38B271.9090309@hora-obscura.de> Am 23.12.2009 14:29, schrieb Francis Rammeloo: > I am developing a lecture-capture application using GStreamer. In the > setup multiple video streams (camera, screen capature, white > board) arrive at one PC where they are blended and recorded. This > requires some complex pipelines to be created, which would be a lot of > work to implement using the C API. Therefore I have all the pipelines in > configuration files (using the gst-launch syntax) and at runtime they > are constructed using the gst_parse_launch call. > > My question is: is this a good approach? I ask because I get the > impression that gst-launch is mainly used for prototyping, while the > serious work is done in C code. Is it really so? Are there some > fundamental limitations to the gst_parse_launch approach that I should > be aware of? Setting up your own pipeline can be faster. Using gst-launch might fail in some cases. Also gst-launch might leak some things (pads). But basically if gst_parse_lauch works for you, its fine. Stefan > > Many thanks, > Francis > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > > > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Mon Dec 28 14:23:42 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Mon, 28 Dec 2009 15:23:42 +0200 Subject: [gst-devel] Unable to display .bmp using gstreamer In-Reply-To: References: <4B38753B.4010006@hora-obscura.de> Message-ID: <4B38B15E.7090403@hora-obscura.de> Am 28.12.2009 11:23, schrieb debojyoti.pal at wipro.com: > Hi Stefan, > > Thanks a lot, Could you please tell me which plugin contains gdk-pixbuf, > is it part of FF-Mpeg plugin? hey, you can easily find out yourself: > gst-inspect | grep pixbuf gdkpixbuf: gdkpixbufdec: GdkPixbuf image decoder gdkpixbuf: gdkpixbufsink: GdkPixbuf sink gdkpixbuf: gdkpixbufscale: GdkPixbuf image scaler > gst-inspect gdkpixbuf ... Source module: gst-plugins-good ... > gst-inspect gdkpixbufdec ... SINK template: 'sink' Availability: Always Capabilities: image/png image/gif image/x-icon application/x-navi-animation image/x-cmu-raster image/x-sun-raster image/x-pixmap image/tiff image/x-portable-anymap image/x-portable-bitmap image/x-portable-graymap image/x-portable-pixmap image/bmp image/x-bmp image/x-MS-bmp image/vnd.wap.wbmp image/x-bitmap image/x-tga image/x-pcx image/svg image/svg+xml ... Stefan > > -----Original Message----- > From: Stefan Kost [mailto:ensonic at hora-obscura.de] > Sent: Mon 12/28/2009 2:37 PM > To: Discussion of the development of GStreamer > Cc: Debojyoti Pal (WT01 - PES-Mobile-Auto-CE Practice) > Subject: Re: [gst-devel] Unable to display .bmp using gstreamer > > Am 22.12.2009 11:55, schrieb debojyoti.pal at wipro.com: >> Hi, >> >> I need to know which plugin is required to play a .BMP file using >> Gstreamer. In one Ubuntu system, I am able to display an .bmp file using >> my test application through gstreamer, but the same application can't >> display the same .bmp file in another fedora system. > > > Its probably gdk-pixbuf that is providing the bmp decoding. > > Stefan > >> >> Any help is appreciated. >> >> Regards, >> Deb >> >> >> >> > ------------------------------------------------------------------------------ >> This SF.Net email is sponsored by the Verizon Developer Community >> Take advantage of Verizon's best-in-class app development support >> A streamlined, 14 day to market process makes app distribution fast > and easy >> Join now and get one step closer to millions of Verizon customers >> http://p.sf.net/sfu/verizon-dev2dev >> >> >> >> _______________________________________________ >> gstreamer-devel mailing list >> gstreamer-devel at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > > > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Mon Dec 28 14:44:19 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Mon, 28 Dec 2009 15:44:19 +0200 Subject: [gst-devel] Display static image? In-Reply-To: <58720.84.30.205.28.1261989403.squirrel@www.omroepvenray.nl> References: <58720.84.30.205.28.1261989403.squirrel@www.omroepvenray.nl> Message-ID: <4B38B633.4040504@hora-obscura.de> Am 28.12.2009 10:36, schrieb Roland Hermans: > Hi Francis, > >> I would like to fill this black hole with a static image. I have tried >> loading an image using a filesrc linked with a jpegdec element, but the >> problem is that the video gets an EOS event after having loaded the image, >> so it only shows for a fraction of a second. >> >> Is there any way to do it? I'm currently loading all my pipelines using >> the >> gst-launch parser, so a solution in gst-launch syntax would be ideal. > > A workaround that I have used is a multifilesrc with a fixed location, so > that it keeps reading the same image over and over again. For example: > > gst-launch multifilesrc location=yourfile.jpg > caps=image/jpeg,framerate=\(fraction\)1/1 ! jpegdec ! ffmpegcolorspace ! > video/x-raw-rgb,framerate=\(fraction\)1/1 ! timeoverlay ! ximagesink > > But it might very well be that there is a better solution and I would be > interested in it as well. There is a element called freeze for that. Stefan > > Roland > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From jrioslists at gmail.com Mon Dec 28 13:34:11 2009 From: jrioslists at gmail.com (J. Rios) Date: Mon, 28 Dec 2009 12:34:11 +0000 Subject: [gst-devel] level element in playbin2 Message-ID: <36bc52e10912280434k45f97d7fj7a96fce2dbd64005@mail.gmail.com> Hello, Im tryign to incorporate the level element into a playbin2. This is the significant part of what I have tried GstElement * outputsink; outputsink = gst_element_factory_make( "gconfaudiosink", "audio-sink" ); ... GstElement * m_Playbin = gst_element_factory_make( "playbin2", "play" ); ... GstElement * level = gst_element_factory_make( "level", "levelctrl" ); GstElement * replay = gst_element_factory_make( "rgvolume", "replaygain" ); gst_bin_add( GST_BIN( m_Playbin ), level ); gst_bin_add( GST_BIN( m_Playbin ), replay ); g_object_set( G_OBJECT( m_Playbin ), "audio-sink", outputsink, NULL ); g_object_set( level, "message", true, NULL ); g_object_set( G_OBJECT( m_Playbin ), "flags", 0x02|0x10, NULL ); gst_bus_add_watch( gst_pipeline_get_bus( GST_PIPELINE( m_Playbin ) ), ( GstBusFunc ) gst_bus_async_callback, this ); The problem I have is that I dont get the Element messages. All the rest works fine including the replay-gain volumen but I dont get the level messages in the callback function. What I want to do is detect when the sound level is below an user defined level so I can skip to next track. I dunno if this is the correct place to put it but I have been tryign to search for this with no success. Please if u know what is wrong or how it should work let me know Thanks in advance J.Rios -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.i.m at zen.co.uk Mon Dec 28 16:51:47 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Mon, 28 Dec 2009 15:51:47 +0000 Subject: [gst-devel] controlling framerate for custom src plugin In-Reply-To: <44303.84.30.205.28.1261989681.squirrel@www.omroepvenray.nl> References: <1261944268.3503.13.camel@zingle> <44303.84.30.205.28.1261989681.squirrel@www.omroepvenray.nl> Message-ID: <1262015507.3280.340.camel@zingle> On Mon, 2009-12-28 at 09:41 +0100, Roland Hermans wrote: > Sorry if I wasn't clear. It's not the camera that's sending images too > frequent but it's gstreamer that keeps calling the _create() on my > ipcamsrc element. The camera will only send an image after receiving and > image request. I send this image request from within the _create() call, > receive the JPEG image data and put it in a buffer. > If I debug the same pipeline with e.g. videotestsrc, I see that > videotestsrc generates new frames at the requested frame rate (as it > should). I would like to have the same behavior for my ipcamsrc, i.e. > _create() is called only when a frame is needed. videotestsrc will create buffers as fast as possible (see e.g. videotestsrc ! fakesink), it will however put timestamps on it so that when the sink syncs against the clock it will display 25 frames per second or whatever the framerate is. This will then throttle the source so that it ends up creating 25 frames per second in the end. (cp. videotestsrc ! ximagesink and videotestsrc ! queue ! ximagesink for example). > (...) But to check my understanding of how gstreamer works: the src pad > of videorate should be emitting frames at exactly the specified > framerate, but does it also try to negotiate this framerate on the > sink pad of the videorate element? Sort of. First of all, the framerate field in the caps really does not matter that much. It's used for negotiation, but what matters in the end is the timestamps on buffers (and the initial newsegment event). videorate will re-timestamp/duplicate/drop buffers to match the desired downstream framerate. It *should* advertise the framerate configured downstream via caps for upstream negotiation, but that will only be used by the source if the source looks for it. And in any case it won't affect/throttle the source *directly* in any way unless the source configures hardware with the framerate or so. Usually upstream produces buffers as fast as possible and only the sink(s) sync against the clock, and this indirectly throttles upstream (once the internal/external queues are full and block, so that upstream only gets scheduled again when a buffer is processed downstream and taken out of the queue etc.). Alternatively, you could try and make your source a live source that syncs against the clock (and then not make the sinks sync against the clock with sync=false, or implement latency queries properly), and schedule buffer production yourself based on the clock, but I'm not sure that's easier or even more desirable (depends a bit on how it currently works in practice I guess). > I also noticed that gst_buffer_set_caps() is called. Is it > necessary/important that the correct caps are set on the buffer? Yes, you need to set caps on at least the first buffer. Ideally on all buffers. Cheers -Tim From t.i.m at zen.co.uk Mon Dec 28 17:01:06 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Mon, 28 Dec 2009 16:01:06 +0000 Subject: [gst-devel] Playbin2 and Audio-CDs In-Reply-To: <1261428907.5707.4.camel@jono-desktop> References: <1261428907.5707.4.camel@jono-desktop> Message-ID: <1262016067.3280.348.camel@zingle> On Mon, 2009-12-21 at 20:55 +0000, reg wrote: > I'm trying to use playbin2 with audiocds. I can get a track to > play,pause and seek fine but the moment I try and change the uri > playbin2 just plays up a lot. These are the errors I get: > > (Gereqi.py:5019): GStreamer-WARNING **: Name queue is not unique in bin > uridecodebin0, not adding > > (Gereqi.py:5019): GStreamer-CRITICAL **: gst_caps_get_structure: > assertion `index < caps->structs->len' failed > > (Gereqi.py:5019): GStreamer-CRITICAL **: gst_structure_get_name: > assertion `structure != NULL' failed > > > However, I can use playbin2 again without restarting my app. I just > can't use the audio-cd until I restart my app. > > Is it possible to use playbin2 with audio-cd's yet? This was a bug, it's fixed in git now and will be in the upcoming -base 0.10.26 release. See https://bugzilla.gnome.org/show_bug.cgi?id=605219 Cheers -Tim From t.i.m at zen.co.uk Mon Dec 28 17:15:10 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Mon, 28 Dec 2009 16:15:10 +0000 Subject: [gst-devel] how to loop pipelines? In-Reply-To: References: <785339900912220028y6c6ae99fpc707952806c5eb4c@mail.gmail.com> <612642.59325.qm@web51304.mail.re2.yahoo.com> <785339900912220134q34815d90k67cea7d48e0a1959@mail.gmail.com> Message-ID: <1262016910.3280.353.camel@zingle> On Thu, 2009-12-24 at 17:25 +0530, Kapil Agrawal wrote: > I suggest write a simple C application, and whenever you get EOS set > the pipeline to READY state and then PLAYING. Or you could just seek back to 0 and leave the pipeline in PLAYING state.. (For 'seamless' looping a bit more work is needed though). Cheers -Tim From regomodo at googlemail.com Mon Dec 28 17:41:43 2009 From: regomodo at googlemail.com (regomodo) Date: Mon, 28 Dec 2009 16:41:43 +0000 Subject: [gst-devel] Playbin2 and Audio-CDs In-Reply-To: <1262016067.3280.348.camel@zingle> References: <1261428907.5707.4.camel@jono-desktop> <1262016067.3280.348.camel@zingle> Message-ID: <200912281641.43708.regomodo@googlemail.com> On Monday 28 December 2009 16:01:06 Tim-Philipp M?ller wrote: > On Mon, 2009-12-21 at 20:55 +0000, reg wrote: > > I'm trying to use playbin2 with audiocds. I can get a track to > > play,pause and seek fine but the moment I try and change the uri > > playbin2 just plays up a lot. These are the errors I get: > > > > (Gereqi.py:5019): GStreamer-WARNING **: Name queue is not unique in bin > > uridecodebin0, not adding > > > > (Gereqi.py:5019): GStreamer-CRITICAL **: gst_caps_get_structure: > > assertion `index < caps->structs->len' failed > > > > (Gereqi.py:5019): GStreamer-CRITICAL **: gst_structure_get_name: > > assertion `structure != NULL' failed > > > > > > However, I can use playbin2 again without restarting my app. I just > > can't use the audio-cd until I restart my app. > > > > Is it possible to use playbin2 with audio-cd's yet? > > This was a bug, it's fixed in git now and will be in the upcoming -base > 0.10.26 release. > > See https://bugzilla.gnome.org/show_bug.cgi?id=605219 > > Cheers > -Tim > > > > --------------------------------------------------------------------------- > --- This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > Thanks. I shall give the git source a try. Reg From gstreamer-devel at omroepvenray.nl Mon Dec 28 18:52:03 2009 From: gstreamer-devel at omroepvenray.nl (Roland Hermans) Date: Mon, 28 Dec 2009 18:52:03 +0100 (CET) Subject: [gst-devel] controlling framerate for custom src plugin In-Reply-To: <1262015507.3280.340.camel@zingle> References: <1261944268.3503.13.camel@zingle> <44303.84.30.205.28.1261989681.squirrel@www.omroepvenray.nl> <1262015507.3280.340.camel@zingle> Message-ID: <52617.84.30.205.28.1262022723.squirrel@www.omroepvenray.nl> >> Sorry if I wasn't clear. It's not the camera that's sending images too >> frequent but it's gstreamer that keeps calling the _create() on my >> ipcamsrc element. The camera will only send an image after receiving and >> image request. I send this image request from within the _create() call, >> receive the JPEG image data and put it in a buffer. > >> If I debug the same pipeline with e.g. videotestsrc, I see that >> videotestsrc generates new frames at the requested frame rate (as it >> should). I would like to have the same behavior for my ipcamsrc, i.e. >> _create() is called only when a frame is needed. > > videotestsrc will create buffers as fast as possible (see e.g. > videotestsrc ! fakesink), it will however put timestamps on it so that > when the sink syncs against the clock it will display 25 frames per > second or whatever the framerate is. This will then throttle the source > so that it ends up creating 25 frames per second in the end. (cp. > videotestsrc ! ximagesink and videotestsrc ! queue ! ximagesink for > example). > > >> (...) But to check my understanding of how gstreamer works: the src pad >> of videorate should be emitting frames at exactly the specified >> framerate, but does it also try to negotiate this framerate on the >> sink pad of the videorate element? > > Sort of. First of all, the framerate field in the caps really does not > matter that much. It's used for negotiation, but what matters in the end > is the timestamps on buffers (and the initial newsegment event). > videorate will re-timestamp/duplicate/drop buffers to match the desired > downstream framerate. It *should* advertise the framerate configured > downstream via caps for upstream negotiation, but that will only be used > by the source if the source looks for it. And in any case it won't > affect/throttle the source *directly* in any way unless the source > configures hardware with the framerate or so. Usually upstream produces > buffers as fast as possible and only the sink(s) sync against the clock, > and this indirectly throttles upstream (once the internal/external > queues are full and block, so that upstream only gets scheduled again > when a buffer is processed downstream and taken out of the queue etc.). > Alternatively, you could try and make your source a live source that > syncs against the clock (and then not make the sinks sync against the > clock with sync=false, or implement latency queries properly), and > schedule buffer production yourself based on the clock, but I'm not sure > that's easier or even more desirable (depends a bit on how it currently > works in practice I guess). > >> I also noticed that gst_buffer_set_caps() is called. Is it >> necessary/important that the correct caps are set on the buffer? > > Yes, you need to set caps on at least the first buffer. Ideally on all > buffers. Thanks for your clarifications. I decided to just reimplemented the element - this time based on multifilesrc - and now the framerate issue is solved :-). However the code still does need some cleanup as it was a quick hack to get things working. Once the code is cleaned up it might be useful for other gstreamer users as well, even though the target audience is probably pretty limited as it depends on specific hardware (Intellinet IP camera). Would you suggest filing a bug report containing a patch, or is the plugin most likely too specific to be of general use? Best regards, Roland From joh-z at gmx.de Mon Dec 28 22:42:03 2009 From: joh-z at gmx.de (jz) Date: Mon, 28 Dec 2009 22:42:03 +0100 Subject: [gst-devel] controlling framerate for custom src plugin In-Reply-To: <52617.84.30.205.28.1262022723.squirrel@www.omroepvenray.nl> References: <1261944268.3503.13.camel@zingle> <44303.84.30.205.28.1261989681.squirrel@www.omroepvenray.nl> <1262015507.3280.340.camel@zingle> <52617.84.30.205.28.1262022723.squirrel@www.omroepvenray.nl> Message-ID: <1262036523.5875.8.camel@jz-ibm> Hi, would be nice to have your src. I'am still working on someting similar. I try to use a Prosilica Gige Camera with gstreamer. thx, Johannes On Mon, 2009-12-28 at 18:52 +0100, Roland Hermans wrote: > >> Sorry if I wasn't clear. It's not the camera that's sending images too > >> frequent but it's gstreamer that keeps calling the _create() on my > >> ipcamsrc element. The camera will only send an image after receiving and > >> image request. I send this image request from within the _create() call, > >> receive the JPEG image data and put it in a buffer. > > > >> If I debug the same pipeline with e.g. videotestsrc, I see that > >> videotestsrc generates new frames at the requested frame rate (as it > >> should). I would like to have the same behavior for my ipcamsrc, i.e. > >> _create() is called only when a frame is needed. > > > > videotestsrc will create buffers as fast as possible (see e.g. > > videotestsrc ! fakesink), it will however put timestamps on it so that > > when the sink syncs against the clock it will display 25 frames per > > second or whatever the framerate is. This will then throttle the source > > so that it ends up creating 25 frames per second in the end. (cp. > > videotestsrc ! ximagesink and videotestsrc ! queue ! ximagesink for > > example). > > > > > >> (...) But to check my understanding of how gstreamer works: the src pad > >> of videorate should be emitting frames at exactly the specified > >> framerate, but does it also try to negotiate this framerate on the > >> sink pad of the videorate element? > > > > Sort of. First of all, the framerate field in the caps really does not > > matter that much. It's used for negotiation, but what matters in the end > > is the timestamps on buffers (and the initial newsegment event). > > videorate will re-timestamp/duplicate/drop buffers to match the desired > > downstream framerate. It *should* advertise the framerate configured > > downstream via caps for upstream negotiation, but that will only be used > > by the source if the source looks for it. And in any case it won't > > affect/throttle the source *directly* in any way unless the source > > configures hardware with the framerate or so. Usually upstream produces > > buffers as fast as possible and only the sink(s) sync against the clock, > > and this indirectly throttles upstream (once the internal/external > > queues are full and block, so that upstream only gets scheduled again > > when a buffer is processed downstream and taken out of the queue etc.). > > Alternatively, you could try and make your source a live source that > > syncs against the clock (and then not make the sinks sync against the > > clock with sync=false, or implement latency queries properly), and > > schedule buffer production yourself based on the clock, but I'm not sure > > that's easier or even more desirable (depends a bit on how it currently > > works in practice I guess). > > > >> I also noticed that gst_buffer_set_caps() is called. Is it > >> necessary/important that the correct caps are set on the buffer? > > > > Yes, you need to set caps on at least the first buffer. Ideally on all > > buffers. > > Thanks for your clarifications. > > I decided to just reimplemented the element - this time based on > multifilesrc - and now the framerate issue is solved :-). However the code > still does need some cleanup as it was a quick hack to get things working. > > Once the code is cleaned up it might be useful for other gstreamer users > as well, even though the target audience is probably pretty limited as it > depends on specific hardware (Intellinet IP camera). Would you suggest > filing a bug report containing a patch, or is the plugin most likely too > specific to be of general use? > > Best regards, > Roland > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From wesley.hoke at gmail.com Tue Dec 29 05:43:26 2009 From: wesley.hoke at gmail.com (Wesley Smith) Date: Mon, 28 Dec 2009 20:43:26 -0800 Subject: [gst-devel] clock not running in play state Message-ID: <1079b050912282043t65f4e569kbbcce8e0add93139@mail.gmail.com> Hi, I'm trying to debug an odd issue I'm having where I have a pipeline in the PLAY state but the clock associated with the pipeline isn't running. I'm using a playbin and an appsink for getting the video data and everything works fine when I use my code inside a GLUT app, but when I use it inside a Qt-based app, the clock associated with the playbin pipeline fails to start despite it successfully getting into the PLAY state. >From what I understand, when a pipeline goes into the PLAY state, a thread is spawned that services the clock and pushes data through the pipeline. I'm wondering if there's something about the mainloop here that's messing things up. The way I'm doing things now is 1) create pipeline and open media 2) set callbacks like: g_object_set(G_OBJECT(mVideoSink), "emit-signals", TRUE, "sync", TRUE, NULL); g_signal_connect(mVideoSink, "new-buffer", G_CALLBACK(new_buffer), (gpointer)this); 3) set into play state 4) poll the messages on the pipeline and see if there's any new data I've built my code into a shared lib that I link into the 2 applications I'm testing with, so the code is _exactly_ the same in both instances. This is why I'm a bit baffled and don't know how to find a way around my problem. Essentially I'm getting the first frame and nothing else. When I query the clock each time I poll for messages, the clock is stuck at 0 in my Qt app and is increasing for my GLUT one. This is what's leading me to suspect something with how the threading works in gstreamer. I'm using the latest on Ubuntu 9.10. If it helps, here's the entire code listing: http://www.mat.ucsb.edu/projects/luaAV/browser/branches/luaav3/modules/Muro/src/video/GstVideoImpl.cpp I've googled around quite a bit but haven't found any pertinent info. Any pointers appreciated. thanks, wes From ivan.murashko at gmail.com Tue Dec 29 12:00:26 2009 From: ivan.murashko at gmail.com (Ivan Murashko) Date: Tue, 29 Dec 2009 14:00:26 +0300 Subject: [gst-devel] GstElement statistic retrieval Message-ID: <9c6ce7150912290300n689807d8xd2421d52dbfd8d92@mail.gmail.com> Hi, I have an GstElement instance and want to know how many time the element was in PLAYING state. As I understood gst_element_get_base_time() can help in the case the element is in the RUNNING state but is it possible to retrieve such info after the main pipeline was stopped (set in NULL state)? -- Best regards, Ivan -------------- next part -------------- An HTML attachment was scrubbed... URL: From bisht.sudarshan at gmail.com Tue Dec 29 12:15:13 2009 From: bisht.sudarshan at gmail.com (sudarshan bisht) Date: Tue, 29 Dec 2009 16:45:13 +0530 Subject: [gst-devel] GstElement statistic retrieval In-Reply-To: <9c6ce7150912290300n689807d8xd2421d52dbfd8d92@mail.gmail.com> References: <9c6ce7150912290300n689807d8xd2421d52dbfd8d92@mail.gmail.com> Message-ID: <785339900912290315o4a5cfe8clc7dfc168754efb0f@mail.gmail.com> Hi Ivan , U can insert a count in bus call handler and know how many times element was in PLAYING state . On Tue, Dec 29, 2009 at 4:30 PM, Ivan Murashko wrote: > Hi, > > I have an GstElement instance and want to know how many time the element > was in PLAYING state. > As I understood gst_element_get_base_time() can help in the case the > element is in the RUNNING state but is it possible to retrieve such info > after the main pipeline was stopped (set in NULL state)? > > -- > Best regards, > Ivan > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- Regards, Sudarshan Bisht -------------- next part -------------- An HTML attachment was scrubbed... URL: From wim.taymans at gmail.com Tue Dec 29 12:41:29 2009 From: wim.taymans at gmail.com (Wim Taymans) Date: Tue, 29 Dec 2009 12:41:29 +0100 Subject: [gst-devel] GstElement statistic retrieval In-Reply-To: <9c6ce7150912290300n689807d8xd2421d52dbfd8d92@mail.gmail.com> References: <9c6ce7150912290300n689807d8xd2421d52dbfd8d92@mail.gmail.com> Message-ID: <1262086889.4184.152.camel@metal> On Tue, 2009-12-29 at 14:00 +0300, Ivan Murashko wrote: > Hi, > > I have an GstElement instance and want to know how many time the > element was in PLAYING state. If you mean 'for how long the pipeline has been in the playing state' then you can use gst_element_get_start_time() on the pipeline, which gives you the running_time of when the pipeline was last paused. If you set a pipeline to NULL and then get the start_time, you will get the total amount of time spent in the playing state. Note however that this time resets to 0 after a flushing seek. Wim > As I understood gst_element_get_base_time() can help in the case the > element is in the RUNNING state but is it possible to retrieve such > info after the main pipeline was stopped (set in NULL state)? > > -- > Best regards, > Ivan > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ivan.murashko at gmail.com Tue Dec 29 12:51:12 2009 From: ivan.murashko at gmail.com (Ivan Murashko) Date: Tue, 29 Dec 2009 14:51:12 +0300 Subject: [gst-devel] GstElement statistic retrieval In-Reply-To: <785339900912290315o4a5cfe8clc7dfc168754efb0f@mail.gmail.com> References: <9c6ce7150912290300n689807d8xd2421d52dbfd8d92@mail.gmail.com> <785339900912290315o4a5cfe8clc7dfc168754efb0f@mail.gmail.com> Message-ID: <9c6ce7150912290351q4ea8966drbaf421d1193bae8d@mail.gmail.com> Hello Sudarshan, This gives me a knowledge that there was (or not) any data flow in the pipeline. I can also recalculate time after each state change. But I want (if it's possible) to get this info via an element but not via the bus call handler. The reason is that the call handler is located at a separate module which I can not access. On Tue, Dec 29, 2009 at 2:15 PM, sudarshan bisht wrote: > Hi Ivan , > > U can insert a count in bus call handler and know how many times element > was in PLAYING state . > > > -- Best regards, Ivan -------------- next part -------------- An HTML attachment was scrubbed... URL: From ivan.murashko at gmail.com Tue Dec 29 12:57:57 2009 From: ivan.murashko at gmail.com (Ivan Murashko) Date: Tue, 29 Dec 2009 14:57:57 +0300 Subject: [gst-devel] GstElement statistic retrieval In-Reply-To: <1262086889.4184.152.camel@metal> References: <9c6ce7150912290300n689807d8xd2421d52dbfd8d92@mail.gmail.com> <1262086889.4184.152.camel@metal> Message-ID: <9c6ce7150912290357y1e66dafdx9bee21a6797abda@mail.gmail.com> Hello Wim, Thank you very much, seems that it works for me On Tue, Dec 29, 2009 at 2:41 PM, Wim Taymans wrote: > On Tue, 2009-12-29 at 14:00 +0300, Ivan Murashko wrote: > > Hi, > > > > I have an GstElement instance and want to know how many time the > > element was in PLAYING state. > > If you mean 'for how long the pipeline has been in the playing state' > then you can use gst_element_get_start_time() on the pipeline, which > gives you the running_time of when the pipeline was last paused. If you > set a pipeline to NULL and then get the start_time, you will get the > total amount of time spent in the playing state. > > Note however that this time resets to 0 after a flushing seek. > > Wim > > > As I understood gst_element_get_base_time() can help in the case the > > element is in the RUNNING state but is it possible to retrieve such > > info after the main pipeline was stopped (set in NULL state)? > > > > -- > > Best regards, > > Ivan > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer Community > > Take advantage of Verizon's best-in-class app development support > > A streamlined, 14 day to market process makes app distribution fast and > easy > > Join now and get one step closer to millions of Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ gstreamer-devel mailing > list gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > -- Best regards, Ivan -------------- next part -------------- An HTML attachment was scrubbed... URL: From leonardo_gdl at yahoo.com.mx Tue Dec 29 17:18:49 2009 From: leonardo_gdl at yahoo.com.mx (Leonardo Sandoval) Date: Tue, 29 Dec 2009 08:18:49 -0800 (PST) Subject: [gst-devel] gstreamer in a non-multimedia area? Message-ID: <409333.57832.qm@web50706.mail.re2.yahoo.com> Hi, In the past, I worked in a project which consists of joining together several numerical codes (codes which solve some particular physic problem, like stars gravity or star mass evolution) in a single one, but this turned to be a very difficult problem due to different language/technologies. Recently, I moved to the multimedia field using gstreamer and seems to be an excellent and natural 'glue' to put several things together under a single framework. Before I can dig deeper on this, I have a simple question: in the case of galaxy dynamics, we are not talking about frames but 'snapshots', where each snapshot contains the information of each star inside a galaxy (mass, position, velocity, gas composition, etc.), i.e. the state of the galaxy at some time. I know that gstreamer does not care about the kind of data flowing, I just want to know if gstreamer has been used in other fields rather than multimedia and if yes, which has been the experienced with this technology. Happy new year! Encuentra las mejores recetas en Yahoo! Cocina. http://mx.mujer.yahoo.com/cocina/ From wesley.hoke at gmail.com Tue Dec 29 17:29:30 2009 From: wesley.hoke at gmail.com (Wesley Smith) Date: Tue, 29 Dec 2009 09:29:30 -0700 Subject: [gst-devel] gstreamer in a non-multimedia area? In-Reply-To: <409333.57832.qm@web50706.mail.re2.yahoo.com> References: <409333.57832.qm@web50706.mail.re2.yahoo.com> Message-ID: <9E1D1899-8635-4D69-8D24-AFD9CCFBCB96@gmail.com> Sounds like you're interested in applying dataflow networks to scientific computing. There are a number of mostly commercial applications that do this but very few frameworks/libs. Have you considered using a scripting language to glue everything together? You'll have faster dev cycles and mote opportunity for customization. This is my personal prefernce for scientific applications because the data is often heterogeneous. What about a pre-baked solution like. SciPy or roll your own with lua Wes On Dec 29, 2009, at 9:18 AM, Leonardo Sandoval wrote: > Hi, > > In the past, I worked in a project which consists of joining > together several numerical codes (codes which solve some particular > physic problem, like stars gravity or star mass evolution) in a > single one, but this turned to be a very difficult problem due to > different language/technologies. > > Recently, I moved to the multimedia field using gstreamer and seems > to be an excellent and natural 'glue' to put several things together > under a single framework. Before I can dig deeper on this, I have a > simple question: in the case of galaxy dynamics, we are not talking > about frames but 'snapshots', where each snapshot contains the > information of each star inside a galaxy (mass, position, velocity, > gas composition, etc.), i.e. the state of the galaxy at some time. > > I know that gstreamer does not care about the kind of data flowing, > I just want to know if gstreamer has been used in other fields > rather than multimedia and if yes, which has been the experienced > with this technology. > > > Happy new year! > > > > Encuentra las mejores recetas en Yahoo! Cocina. > http://mx.mujer.yahoo.com/cocina/ > > --- > --- > --- > --------------------------------------------------------------------- > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast > and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From wangnull at gmail.com Wed Dec 30 04:38:17 2009 From: wangnull at gmail.com (wang zhenzhong) Date: Wed, 30 Dec 2009 11:38:17 +0800 Subject: [gst-devel] gstreamer to different video interface such as HDMI, DVI, ... Message-ID: <200912301138153909293@gmail.com> Hi everybody I will use gstreamer to display video in gtk window, the circumstance which I designed is this: RGB/YUV video stream--> GStreamer module --> mutil video interface HDMI/DVI/VGA/S-Port now I will code the GStreamer module, and have some problems: 1. Is my design OK? 2. to out to mutil interface, does the GStreamer support? or to support mutil interface is not GStreamer job? Is related to gtk+? because my desing is the whole display window design by gtk+ have two parts: one the control panel, the other is video window 3. Is there some examples to show RGB/YUV streams and audio stream to HDMI interface Thanks you very much 2009-12-30 wang zhenzhong -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsreerenj at gmail.com Wed Dec 30 07:19:33 2009 From: bsreerenj at gmail.com (sreerenj b) Date: Wed, 30 Dec 2009 11:49:33 +0530 Subject: [gst-devel] gstreamer clock Message-ID: HI, Is there any way to get some signal or tick from the pipeline depending upon the data transferd?(For example, suppose if i change the streaming server playback rate to twice the actual rate,then i should needs to get some identification from pipeline in each second or in some periodic manner.) -- Sreerenj B bsreerenj at gmail.com mob: +91 9739469496 -------------- next part -------------- An HTML attachment was scrubbed... URL: From arnout at mind.be Wed Dec 30 09:44:31 2009 From: arnout at mind.be (Arnout Vandecappelle) Date: Wed, 30 Dec 2009 09:44:31 +0100 Subject: [gst-devel] level element in playbin2 In-Reply-To: <36bc52e10912280434k45f97d7fj7a96fce2dbd64005@mail.gmail.com> References: <36bc52e10912280434k45f97d7fj7a96fce2dbd64005@mail.gmail.com> Message-ID: <200912300944.33160.arnout@mind.be> Without actually trying anything or knowing how the level element works, I'd say that at least you have to link your elements appropriately. See below. I'm surprised that the replaygain does work... Regards, Arnout On Monday 28 December 2009 13:34:11, J. Rios wrote: > Hello, > Im tryign to incorporate the level element into a playbin2. This is > the significant part of what I have tried > > GstElement * outputsink; > outputsink = gst_element_factory_make( "gconfaudiosink", "audio-sink" > ); ... > GstElement * m_Playbin = gst_element_factory_make( "playbin2", "play" > ); ... > GstElement * level = gst_element_factory_make( "level", "levelctrl" > ); > > GstElement * replay = gst_element_factory_make( "rgvolume", > "replaygain" ); > > gst_bin_add( GST_BIN( m_Playbin ), replay ); gst_bin_add( GST_BIN( m_Playbin ), outputsink ); gst_element_link_many ( level, replay, outputsink ); g_object_set( G_OBJECT( m_Playbin ), "audio-sink", level, NULL ); > > g_object_set( level, "message", true, NULL ); > > g_object_set( G_OBJECT( m_Playbin ), "flags", 0x02|0x10, NULL ); > > gst_bus_add_watch( gst_pipeline_get_bus( GST_PIPELINE( m_Playbin ) ), > ( GstBusFunc ) gst_bus_async_callback, this ); -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 31BB CF53 8660 6F88 345D 54CC A836 5879 20D7 CF43 From ivan.murashko at gmail.com Wed Dec 30 10:08:49 2009 From: ivan.murashko at gmail.com (Ivan Murashko) Date: Wed, 30 Dec 2009 12:08:49 +0300 Subject: [gst-devel] GstElement statistic retrieval In-Reply-To: <9c6ce7150912290357y1e66dafdx9bee21a6797abda@mail.gmail.com> References: <9c6ce7150912290300n689807d8xd2421d52dbfd8d92@mail.gmail.com> <1262086889.4184.152.camel@metal> <9c6ce7150912290357y1e66dafdx9bee21a6797abda@mail.gmail.com> Message-ID: <9c6ce7150912300108o7758b891p5f9d260453de7448@mail.gmail.com> Hi all, This code retrieves correct info about how much time an element was in a playing state (since last pause) may be somebody will need it too GstClockTime getRunningTime(GstElement* branch) { if (branch) { GstClock *clock = gst_element_get_clock(branch); if (clock) { return gst_clock_get_time(clock) - gst_element_get_base_time(branch); } } return 0ULL; } On Tue, Dec 29, 2009 at 2:57 PM, Ivan Murashko wrote: > Hello Wim, > > Thank you very much, seems that it works for me > > > On Tue, Dec 29, 2009 at 2:41 PM, Wim Taymans wrote: > >> On Tue, 2009-12-29 at 14:00 +0300, Ivan Murashko wrote: >> > Hi, >> > >> > I have an GstElement instance and want to know how many time the >> > element was in PLAYING state. >> >> If you mean 'for how long the pipeline has been in the playing state' >> then you can use gst_element_get_start_time() on the pipeline, which >> gives you the running_time of when the pipeline was last paused. If you >> set a pipeline to NULL and then get the start_time, you will get the >> total amount of time spent in the playing state. >> >> Note however that this time resets to 0 after a flushing seek. >> >> Wim >> >> > As I understood gst_element_get_base_time() can help in the case the >> > element is in the RUNNING state but is it possible to retrieve such >> > info after the main pipeline was stopped (set in NULL state)? >> > >> > -- >> > Best regards, >> > Ivan >> > >> ------------------------------------------------------------------------------ >> > This SF.Net email is sponsored by the Verizon Developer Community >> > Take advantage of Verizon's best-in-class app development support >> > A streamlined, 14 day to market process makes app distribution fast and >> easy >> > Join now and get one step closer to millions of Verizon customers >> > http://p.sf.net/sfu/verizon-dev2dev >> > _______________________________________________ gstreamer-devel mailing >> list gstreamer-devel at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> >> >> >> >> ------------------------------------------------------------------------------ >> This SF.Net email is sponsored by the Verizon Developer Community >> Take advantage of Verizon's best-in-class app development support >> A streamlined, 14 day to market process makes app distribution fast and >> easy >> Join now and get one step closer to millions of Verizon customers >> http://p.sf.net/sfu/verizon-dev2dev >> _______________________________________________ >> gstreamer-devel mailing list >> gstreamer-devel at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> > > > > -- > Best regards, > Ivan > -- Best regards, Ivan -------------- next part -------------- An HTML attachment was scrubbed... URL: From jrioslists at gmail.com Wed Dec 30 13:37:43 2009 From: jrioslists at gmail.com (J. Rios) Date: Wed, 30 Dec 2009 12:37:43 +0000 Subject: [gst-devel] level element in playbin2 In-Reply-To: <200912300944.33160.arnout@mind.be> References: <36bc52e10912280434k45f97d7fj7a96fce2dbd64005@mail.gmail.com> <200912300944.33160.arnout@mind.be> Message-ID: <36bc52e10912300437g299649cdlb88cb957bf8fb7dc@mail.gmail.com> This doenst work. How works but without level notifications is how i posted before. But I want the level be after the replay gain volume. So I can get the signal level after the replay gain have done its gain adjust but not influenced by the playbin volume. I dont know how to do something like that Thanks in advance J.Rios On Wed, Dec 30, 2009 at 8:44 AM, Arnout Vandecappelle wrote: > Without actually trying anything or knowing how the level element works, > I'd say that at least you have to link your elements appropriately. See > below. > > I'm surprised that the replaygain does work... > > Regards, > Arnout > > On Monday 28 December 2009 13:34:11, J. Rios wrote: > > Hello, > > Im tryign to incorporate the level element into a playbin2. This is > > the significant part of what I have tried > > > > GstElement * outputsink; > > outputsink = gst_element_factory_make( "gconfaudiosink", "audio-sink" > > ); ... > > GstElement * m_Playbin = gst_element_factory_make( "playbin2", "play" > > ); ... > > GstElement * level = gst_element_factory_make( "level", "levelctrl" > > ); > > > > GstElement * replay = gst_element_factory_make( "rgvolume", > > "replaygain" ); > > > > > gst_bin_add( GST_BIN( m_Playbin ), replay ); > gst_bin_add( GST_BIN( m_Playbin ), outputsink ); > gst_element_link_many ( level, replay, outputsink ); > g_object_set( G_OBJECT( m_Playbin ), "audio-sink", level, NULL ); > > > > g_object_set( level, "message", true, NULL ); > > > > g_object_set( G_OBJECT( m_Playbin ), "flags", 0x02|0x10, NULL ); > > > > gst_bus_add_watch( gst_pipeline_get_bus( GST_PIPELINE( m_Playbin ) ), > > ( GstBusFunc ) gst_bus_async_callback, this ); > > -- > Arnout Vandecappelle arnout at mind be > Senior Embedded Software Architect +32-16-286540 > Essensium/Mind http://www.mind.be > G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR > Leuven > LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle > GPG fingerprint: 31BB CF53 8660 6F88 345D 54CC A836 5879 20D7 CF43 > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kitone at free.fr Wed Dec 30 13:18:54 2009 From: kitone at free.fr (kitone) Date: Wed, 30 Dec 2009 13:18:54 +0100 Subject: [gst-devel] trouble with playbin2 and audio track Message-ID: <20091230131854.0c177421@free.fr> Hi everyone, I'm using playbin2 to play video and I've add the ability to change audio track in the player. This doesn't work very well. When I switch to an other track there's little problem like no sound, need to seek to have sound again or some little freeze. So there's a best way to change track ? Do I need to define the state of the pipeline to PAUSED, change the audio track and replay again ? Or can I do this on the fly ? code : void Player::set_current_audio(int track) { g_object_set (playbin, "current-audio", track, NULL); } Best regards, kitone From ensonic at hora-obscura.de Wed Dec 30 15:30:15 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Wed, 30 Dec 2009 16:30:15 +0200 Subject: [gst-devel] level element in playbin2 In-Reply-To: <36bc52e10912280434k45f97d7fj7a96fce2dbd64005@mail.gmail.com> References: <36bc52e10912280434k45f97d7fj7a96fce2dbd64005@mail.gmail.com> Message-ID: <4B3B63F7.9030601@hora-obscura.de> hi, Am 28.12.2009 14:34, schrieb J. Rios: > Hello, > Im tryign to incorporate the level element into a playbin2. This is > the significant part of what I have tried > > GstElement * outputsink; > outputsink = gst_element_factory_make( "gconfaudiosink", "audio-sink" ); > ... > GstElement * m_Playbin = gst_element_factory_make( "playbin2", "play" ); > ... > GstElement * level = gst_element_factory_make( "level", "levelctrl" ); > > GstElement * replay = gst_element_factory_make( "rgvolume", > "replaygain" ); > > > gst_bin_add( GST_BIN( m_Playbin ), level ); > gst_bin_add( GST_BIN( m_Playbin ), replay ); > g_object_set( G_OBJECT( m_Playbin ), "audio-sink", outputsink, NULL ); > > g_object_set( level, "message", true, NULL ); > > g_object_set( G_OBJECT( m_Playbin ), "flags", 0x02|0x10, NULL ); > > gst_bus_add_watch( gst_pipeline_get_bus( GST_PIPELINE( m_Playbin ) ), > ( GstBusFunc ) gst_bus_async_callback, this ); > > this cannot work as such. The elements need to be linked in the right order. What you need to do, is to create an own bin, add level, replay and the audiosink there, link them and set your bin as the audiosink. You need to add a ghostpad to the bin and set it to the first (yet unlinked) sink pad of you elements. Stefan > The problem I have is that I dont get the Element messages. All the rest > works fine including the replay-gain volumen but I dont get the level > messages in the callback function. > What I want to do is detect when the sound level is below an user > defined level so I can skip to next track. > > I dunno if this is the correct place to put it but I have been tryign to > search for this with no success. Please if u know what is wrong or how > it should work let me know > > Thanks in advance > J.Rios > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > > > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Wed Dec 30 15:33:26 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Wed, 30 Dec 2009 16:33:26 +0200 Subject: [gst-devel] gstreamer clock In-Reply-To: References: Message-ID: <4B3B64B6.3020401@hora-obscura.de> Am 30.12.2009 08:19, schrieb sreerenj b: > > HI, > > Is there any way to get some signal or tick from the pipeline depending > upon the data transferd?(For example, suppose if i change the streaming > server playback rate to twice the actual rate,then i should needs to get > some identification from pipeline in each second or in some periodic > manner.) You could use gst_clock_new_periodic_id() together with a gst_clock_id_wait() or gst_clock_id_wait_async() Stefan > -- > Sreerenj B > bsreerenj at gmail.com > mob: +91 9739469496 > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > > > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ensonic at hora-obscura.de Wed Dec 30 15:36:37 2009 From: ensonic at hora-obscura.de (Stefan Kost) Date: Wed, 30 Dec 2009 16:36:37 +0200 Subject: [gst-devel] gstreamer in a non-multimedia area? In-Reply-To: <409333.57832.qm@web50706.mail.re2.yahoo.com> References: <409333.57832.qm@web50706.mail.re2.yahoo.com> Message-ID: <4B3B6575.1020707@hora-obscura.de> hi, Am 29.12.2009 18:18, schrieb Leonardo Sandoval: > Hi, > > In the past, I worked in a project which consists of joining together several numerical codes (codes which solve some particular physic problem, like stars gravity or star mass evolution) in a single one, but this turned to be a very difficult problem due to different language/technologies. > > Recently, I moved to the multimedia field using gstreamer and seems to be an excellent and natural 'glue' to put several things together under a single framework. Before I can dig deeper on this, I have a simple question: in the case of galaxy dynamics, we are not talking about frames but 'snapshots', where each snapshot contains the information of each star inside a galaxy (mass, position, velocity, gas composition, etc.), i.e. the state of the galaxy at some time. > > I know that gstreamer does not care about the kind of data flowing, I just want to know if gstreamer has been used in other fields rather than multimedia and if yes, which has been the experienced with this technology. > I am quite sure it can be done. WHat I wonder is how gstreamer might help you. For multimedia it gives you data flow synchronisation and format negotiation (and other things). I am not sure you would need those. What would be left is the plugin framework and some developments support. > > Happy new year! > Same to you. Stefan > > > Encuentra las mejores recetas en Yahoo! Cocina. > http://mx.mujer.yahoo.com/cocina/ > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel From ananthula.madhu at wipro.com Wed Dec 30 15:45:13 2009 From: ananthula.madhu at wipro.com (ananthula.madhu at wipro.com) Date: Wed, 30 Dec 2009 20:15:13 +0530 Subject: [gst-devel] H.264 decoder sink problem Message-ID: <9833F736BF212D438BF4F998F697E4D01C0B0E@BLR-SJP-MBX02.wipro.com> Hi , I am developing H264 decoder plugin. In my current pipeline i took filesrc, myplugin and autovideosink elements. i was able to decode the .H264 input file but i am not able to view the video on sink side. The decoded data by writing into a file and able to run with yuv tool. but through sink i am not able to. Could anyone suggest what output buffer should i create and which capabilities need i to set? Please its urgent... Thanks & Regards Mohan Reddy -------------- next part -------------- An HTML attachment was scrubbed... URL: From leonardo_gdl at yahoo.com.mx Wed Dec 30 18:14:38 2009 From: leonardo_gdl at yahoo.com.mx (Leonardo Sandoval) Date: Wed, 30 Dec 2009 09:14:38 -0800 (PST) Subject: [gst-devel] gstreamer in a non-multimedia area? In-Reply-To: <4B3B6575.1020707@hora-obscura.de> Message-ID: <543562.52056.qm@web50708.mail.re2.yahoo.com> I think may be gstreamer a good option at least for those two reasons you mentioned: * Syncronisation: for example, in a galaxy evolution, several physics (gravitation, star evolution, etc.) are occurring at the same time, so we need syncronisation to control these computations. * format negotiation: currently, different codes outputs different data formats so most of the time the output of one program has to be converted in order to be the input of another program. Using standard formats specified in the pads/caps, these can be avoided, I believe. However, there is one problem. In a multimedia, we have all the data to be reproduced (encoded,decoded,etc) but in this case, starting from an initial snapshot (initial conditions) an new snapshot is produced (the snapshot at time t_0 + delta), then the latter is used to create the snapshot t_0 + 2*delta, etc, and I believe in gstreamer it is not possible that the output of a right element is the input of a left element, like in this diagram: ________ ________ _______ | | | | | | --|->---| |----- | |------| |--->---| | |________| |________| |_______| | | | |-----------------------------------------------------| Ing. Leonardo SandovalCel: (044) 81 10 62 33 59Casa: (0181) 17 33 04 73 --- El mi? 30-dic-09, Stefan Kost escribi?: > De:: Stefan Kost > Asunto: Re: [gst-devel] gstreamer in a non-multimedia area? > A: "Discussion of the development of GStreamer" > Cc: "Leonardo Sandoval" > Fecha: mi?rcoles 30 de diciembre de 2009, 8:36 > hi, > > Am 29.12.2009 18:18, schrieb Leonardo Sandoval: > > Hi, > > > > In the past, I worked in a project which consists of > joining together several numerical codes (codes which solve > some particular physic problem, like stars gravity or star > mass evolution) in a single one, but this turned to be a > very difficult problem due to different > language/technologies. > > > > Recently, I moved to the multimedia field using > gstreamer and seems? to be an excellent and natural > 'glue' to put several things together under a single > framework. Before I can dig deeper on this, I have a simple > question: in the case of galaxy dynamics, we are not talking > about frames but 'snapshots', where each snapshot contains > the information of each star inside a galaxy (mass, > position, velocity, gas composition, etc.), i.e. the > state? of the galaxy at some time.? > > > > I know that gstreamer does not care about the kind of > data flowing, I just want to know if gstreamer has been used > in other fields? rather than multimedia and if yes, > which has been the experienced with this technology. > > > > I am quite sure it can be done. WHat I wonder is how > gstreamer might help you. > For multimedia it gives you data flow synchronisation and > format negotiation > (and other things). I am not sure you would need those. > What would be left is > the plugin framework and some developments support. > > > > > Happy new year! > > > Same to you. > > Stefan > > > > > >? ? ???Encuentra las mejores > recetas en Yahoo! Cocina.? ? ? ? ? > ? ? ? ? ? ??? > > http://mx.mujer.yahoo.com/cocina/ > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon > Developer Community > > Take advantage of Verizon's best-in-class app > development support > > A streamlined, 14 day to market process makes app > distribution fast and easy > > Join now and get one step closer to millions of > Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > Encuentra las mejores recetas en Yahoo! Cocina. http://mx.mujer.yahoo.com/cocina/ From regomodo at googlemail.com Wed Dec 30 19:06:24 2009 From: regomodo at googlemail.com (regomodo) Date: Wed, 30 Dec 2009 18:06:24 +0000 Subject: [gst-devel] Playbin2 and Audio-CDs In-Reply-To: <1262016067.3280.348.camel@zingle> References: <1261428907.5707.4.camel@jono-desktop> <1262016067.3280.348.camel@zingle> Message-ID: <200912301806.24975.regomodo@googlemail.com> On Monday 28 December 2009 16:01:06 Tim-Philipp M?ller wrote: > On Mon, 2009-12-21 at 20:55 +0000, reg wrote: > > I'm trying to use playbin2 with audiocds. I can get a track to > > play,pause and seek fine but the moment I try and change the uri > > playbin2 just plays up a lot. These are the errors I get: > > > > (Gereqi.py:5019): GStreamer-WARNING **: Name queue is not unique in bin > > uridecodebin0, not adding > > > > (Gereqi.py:5019): GStreamer-CRITICAL **: gst_caps_get_structure: > > assertion `index < caps->structs->len' failed > > > > (Gereqi.py:5019): GStreamer-CRITICAL **: gst_structure_get_name: > > assertion `structure != NULL' failed > > > > > > However, I can use playbin2 again without restarting my app. I just > > can't use the audio-cd until I restart my app. > > > > Is it possible to use playbin2 with audio-cd's yet? > > This was a bug, it's fixed in git now and will be in the upcoming -base > 0.10.26 release. > > See https://bugzilla.gnome.org/show_bug.cgi?id=605219 > > Cheers > -Tim > > > > --------------------------------------------------------------------------- > --- This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > I finally got around to trying out git. Uninstalled everything gst related on my system and built gstreamer,gst-plugins-base and gst-python (in that order) only adding --prefix=/usr/ to ./configure. However, I get an error when I try to play a cd track: 'Error: Your GStreamer installation is missing a plug-in.', 'gstplaysink.c(1483): gen_audio_chain (): /GstPlayBin2:player/GstPlaySink:playsink0' I see this is from gst-plugins-base but I cannot see an option to enable/disable this. From julien.isorce at gmail.com Thu Dec 31 00:50:44 2009 From: julien.isorce at gmail.com (Julien Isorce) Date: Thu, 31 Dec 2009 00:50:44 +0100 Subject: [gst-devel] streaming - auth Message-ID: <180a127d0912301550s2b9915b0k5e6462b542f1be44@mail.gmail.com> Hi, Most of the time, using "download helper" plugin for firefox I can get the "playable" uri. (not only well known web site like youtube etc...) But I tried on the web site www.rtl.fr, I selected randomly a video and "download helper" plugin said: http://v.kewego.com/v/5/0992/37PPGYC6*.mp4*?*key*%3D20d855c7a7fd99fc Note the http://....mp4? key%... So it seems that key%... is used for authentification or something else. Then I tried to play to play it with gstreamer: -- gst-launch-0.10 playbin uri=" http://v.kewego.com/v/5/0992/37PPGYC6.mp4?key%3D20d855c7a7fd99fc" but I got the same result as if I do not put the key stuff, I mean I got the same result as -- gst-launch-0.10 playbin uri="http://v.kewego.com/v/5/0992/37PPGYC6.mp4" result ->403 Forbidden Sothe video is not playable with the pipeline. But it's still working with: firefox http://v.kewego.com/v/5/0992/37PPGYC6.mp4?key%3D20d855c7a7fd99fc Is it possible to configure souphttpsrc for auth, maybe user-pw property ? cookies ? Well, does anyone already encounter this kind of uri ? Sincerely Julien -------------- next part -------------- An HTML attachment was scrubbed... URL: From bisht.sudarshan at gmail.com Thu Dec 31 04:31:07 2009 From: bisht.sudarshan at gmail.com (sudarshan bisht) Date: Thu, 31 Dec 2009 09:01:07 +0530 Subject: [gst-devel] H.264 decoder sink problem In-Reply-To: <9833F736BF212D438BF4F998F697E4D01C0B0E@BLR-SJP-MBX02.wipro.com> References: <9833F736BF212D438BF4F998F697E4D01C0B0E@BLR-SJP-MBX02.wipro.com> Message-ID: <785339900912301931p2d8e773fsae701e2d8615348c@mail.gmail.com> Hi , Once you get decoded data from h264 decode function call , u have to use GstBuffer to carry this data . GstBuffer should have correct timestamp and proper caps of the data. Caps can be generated using gst_caps_new_simple API and attached to the buffer . On Wed, Dec 30, 2009 at 8:15 PM, wrote: > Hi , > I am developing H264 decoder plugin. In my current pipeline i took > filesrc, myplugin and autovideosink elements. > i was able to decode the .H264 input file but i am not able to view the > video on sink side. The decoded data by writing into a file and able to run > with yuv tool. but through sink i am not able to. Could anyone suggest what > output buffer should i create and which capabilities need i to set? > > Please its urgent... > > Thanks & Regards > Mohan Reddy > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- Regards, Sudarshan Bisht -------------- next part -------------- An HTML attachment was scrubbed... URL: From wangnull at gmail.com Thu Dec 31 04:36:52 2009 From: wangnull at gmail.com (wang zhenzhong) Date: Thu, 31 Dec 2009 11:36:52 +0800 Subject: [gst-devel] add log or subtitle to video Message-ID: <200912311136475932190@gmail.com> Hi every body: I want to add LOG or TEXT to a video stream. and now I don't have any idea! Is there some guildance? thank you very much 2009-12-31 wang zhenzhong -------------- next part -------------- An HTML attachment was scrubbed... URL: From ananthula.madhu at wipro.com Thu Dec 31 06:27:37 2009 From: ananthula.madhu at wipro.com (ananthula.madhu at wipro.com) Date: Thu, 31 Dec 2009 10:57:37 +0530 Subject: [gst-devel] Not able to run .264 file with playbin Message-ID: <9833F736BF212D438BF4F998F697E4D01C0B0F@BLR-SJP-MBX02.wipro.com> Hi, I was trying to run one .264 format file size of 55kb with playbin. But playbin showing only one frame at sink side. Actually it is of 4sec( 120 frames) video file. Playbin using 'ffdec_h264' for decoding and 'autovideosink' for display. is these plugins able to play or need i to do any changes? Please help me in this regard Thanks & Regards Madhu Reddy -------------- next part -------------- An HTML attachment was scrubbed... URL: From bisht.sudarshan at gmail.com Thu Dec 31 06:49:24 2009 From: bisht.sudarshan at gmail.com (sudarshan bisht) Date: Thu, 31 Dec 2009 11:19:24 +0530 Subject: [gst-devel] Not able to run .264 file with playbin In-Reply-To: <9833F736BF212D438BF4F998F697E4D01C0B0F@BLR-SJP-MBX02.wipro.com> References: <9833F736BF212D438BF4F998F697E4D01C0B0F@BLR-SJP-MBX02.wipro.com> Message-ID: <785339900912302149u492cb87dwe36e29c47bd55d40@mail.gmail.com> If you are trying to play raw h264 file then use following , gst-launch filesrc location=xyz ! h264parse ! ffdec_h264dec ! sdlvideosink On Thu, Dec 31, 2009 at 10:57 AM, wrote: > Hi, > I was trying to run one .264 format file size of 55kb with playbin. > But playbin showing only one frame at sink side. Actually it is of 4sec( 120 > frames) video file. > > Playbin using 'ffdec_h264' for decoding and 'autovideosink' for display. > is these plugins able to play or need i to do any changes? > > Please help me in this regard > > Thanks & Regards > Madhu Reddy > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- Regards, Sudarshan Bisht -------------- next part -------------- An HTML attachment was scrubbed... URL: From jyoti.d at allaboutif.com Thu Dec 31 06:49:19 2009 From: jyoti.d at allaboutif.com (Jyoti) Date: Thu, 31 Dec 2009 11:19:19 +0530 Subject: [gst-devel] Parsing the header to detect audio/audio&video presence Message-ID: Hi all, I have a requirement where I do need to list separately files which contain *only audio* data and *both audio-video* data. I did write an application to do typefinding and list the files. But the conflict is for files with container format as audio/x-m4a, and MPEG4 which can have *only audio* or *both audio and video* content but the container format shown is common. The one method I tried is adding a demuxer element and looking for pad-added signal. But this method is consuming a bit of time if I have more files to be listed. So I want to know if there is any other way where I can get to know the audio video info. Regards, Jyoti -------------- next part -------------- An HTML attachment was scrubbed... URL: From bsreerenj at gmail.com Thu Dec 31 08:45:51 2009 From: bsreerenj at gmail.com (sreerenj b) Date: Thu, 31 Dec 2009 13:15:51 +0530 Subject: [gst-devel] gstreamer-devel Digest, Vol 43, Issue 47 In-Reply-To: References: Message-ID: On Wed, Dec 30, 2009 at 11:36 PM, < gstreamer-devel-request at lists.sourceforge.net> wrote: > Send gstreamer-devel mailing list submissions to > gstreamer-devel at lists.sourceforge.net > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > or, via email, send a message with subject or body 'help' to > gstreamer-devel-request at lists.sourceforge.net > > You can reach the person managing the list at > gstreamer-devel-owner at lists.sourceforge.net > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of gstreamer-devel digest..." > > > Today's Topics: > > 1. trouble with playbin2 and audio track (kitone) > 2. Re: level element in playbin2 (Stefan Kost) > 3. Re: gstreamer clock (Stefan Kost) > 4. Re: gstreamer in a non-multimedia area? (Stefan Kost) > 5. H.264 decoder sink problem (ananthula.madhu at wipro.com) > 6. Re: gstreamer in a non-multimedia area? (Leonardo Sandoval) > 7. Re: Playbin2 and Audio-CDs (regomodo) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Wed, 30 Dec 2009 13:18:54 +0100 > From: kitone > Subject: [gst-devel] trouble with playbin2 and audio track > To: gstreamer-devel at lists.sourceforge.net > Message-ID: <20091230131854.0c177421 at free.fr> > Content-Type: text/plain; charset=US-ASCII > > Hi everyone, > > I'm using playbin2 to play video and I've add the ability to change > audio track in the player. This doesn't work very well. When I switch > to an other track there's little problem like no sound, need to seek to > have sound again or some little freeze. > > So there's a best way to change track ? > > Do I need to define the state of the pipeline to PAUSED, change the > audio track and replay again ? Or can I do this on the fly ? > > code : > void Player::set_current_audio(int track) { > g_object_set (playbin, "current-audio", track, NULL); > } > > Best regards, > kitone > > > > ------------------------------ > > Message: 2 > Date: Wed, 30 Dec 2009 16:30:15 +0200 > From: Stefan Kost > Subject: Re: [gst-devel] level element in playbin2 > To: Discussion of the development of GStreamer > > Message-ID: <4B3B63F7.9030601 at hora-obscura.de> > Content-Type: text/plain; charset=ISO-8859-1 > > hi, > > Am 28.12.2009 14:34, schrieb J. Rios: > > Hello, > > Im tryign to incorporate the level element into a playbin2. This is > > the significant part of what I have tried > > > > GstElement * outputsink; > > outputsink = gst_element_factory_make( "gconfaudiosink", "audio-sink" > ); > > ... > > GstElement * m_Playbin = gst_element_factory_make( "playbin2", "play" > ); > > ... > > GstElement * level = gst_element_factory_make( "level", "levelctrl" > ); > > > > GstElement * replay = gst_element_factory_make( "rgvolume", > > "replaygain" ); > > > > > > gst_bin_add( GST_BIN( m_Playbin ), level ); > > gst_bin_add( GST_BIN( m_Playbin ), replay ); > > g_object_set( G_OBJECT( m_Playbin ), "audio-sink", outputsink, NULL > ); > > > > g_object_set( level, "message", true, NULL ); > > > > g_object_set( G_OBJECT( m_Playbin ), "flags", 0x02|0x10, NULL ); > > > > gst_bus_add_watch( gst_pipeline_get_bus( GST_PIPELINE( m_Playbin ) ), > > ( GstBusFunc ) gst_bus_async_callback, this ); > > > > > this cannot work as such. The elements need to be linked in the right > order. > What you need to do, is to create an own bin, add level, replay and the > audiosink there, link them and set your bin as the audiosink. You need to > add a > ghostpad to the bin and set it to the first (yet unlinked) sink pad of you > elements. > > Stefan > > > > The problem I have is that I dont get the Element messages. All the rest > > works fine including the replay-gain volumen but I dont get the level > > messages in the callback function. > > What I want to do is detect when the sound level is below an user > > defined level so I can skip to next track. > > > > I dunno if this is the correct place to put it but I have been tryign to > > search for this with no success. Please if u know what is wrong or how > > it should work let me know > > > > Thanks in advance > > J.Rios > > > > > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer Community > > Take advantage of Verizon's best-in-class app development support > > A streamlined, 14 day to market process makes app distribution fast and > easy > > Join now and get one step closer to millions of Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > > > > > > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > ------------------------------ > > Message: 3 > Date: Wed, 30 Dec 2009 16:33:26 +0200 > From: Stefan Kost > Subject: Re: [gst-devel] gstreamer clock > To: Discussion of the development of GStreamer > > Cc: sreerenj b > Message-ID: <4B3B64B6.3020401 at hora-obscura.de> > Content-Type: text/plain; charset=ISO-8859-1 > > Am 30.12.2009 08:19, schrieb sreerenj b: > > > > HI, > > > > Is there any way to get some signal or tick from the pipeline depending > > upon the data transferd?(For example, suppose if i change the streaming > > server playback rate to twice the actual rate,then i should needs to get > > some identification from pipeline in each second or in some periodic > > manner.) > > You could use gst_clock_new_periodic_id() together with a > gst_clock_id_wait() or > gst_clock_id_wait_async() > > Stefan > > > -- > > Sreerenj B > > bsreerenj at gmail.com > > mob: +91 9739469496 > > > > > Hi , These are depending upon the time intervals i think.Is it possible to get the tick from pipeline depending upon the amount of data being trasfered?( if the network traffic is blocked for sometimes, it should not send any ticks) sreerenj > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer Community > > Take advantage of Verizon's best-in-class app development support > > A streamlined, 14 day to market process makes app distribution fast and > easy > > Join now and get one step closer to millions of Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > > > > > > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > ------------------------------ > > Message: 4 > Date: Wed, 30 Dec 2009 16:36:37 +0200 > From: Stefan Kost > Subject: Re: [gst-devel] gstreamer in a non-multimedia area? > To: Discussion of the development of GStreamer > > Cc: Leonardo Sandoval > Message-ID: <4B3B6575.1020707 at hora-obscura.de> > Content-Type: text/plain; charset=ISO-8859-1 > > hi, > > Am 29.12.2009 18:18, schrieb Leonardo Sandoval: > > Hi, > > > > In the past, I worked in a project which consists of joining together > several numerical codes (codes which solve some particular physic problem, > like stars gravity or star mass evolution) in a single one, but this turned > to be a very difficult problem due to different language/technologies. > > > > Recently, I moved to the multimedia field using gstreamer and seems to > be an excellent and natural 'glue' to put several things together under a > single framework. Before I can dig deeper on this, I have a simple question: > in the case of galaxy dynamics, we are not talking about frames but > 'snapshots', where each snapshot contains the information of each star > inside a galaxy (mass, position, velocity, gas composition, etc.), i.e. the > state of the galaxy at some time. > > > > I know that gstreamer does not care about the kind of data flowing, I > just want to know if gstreamer has been used in other fields rather than > multimedia and if yes, which has been the experienced with this technology. > > > > I am quite sure it can be done. WHat I wonder is how gstreamer might help > you. > For multimedia it gives you data flow synchronisation and format > negotiation > (and other things). I am not sure you would need those. What would be left > is > the plugin framework and some developments support. > > > > > Happy new year! > > > Same to you. > > Stefan > > > > > > Encuentra las mejores recetas en Yahoo! Cocina. > > http://mx.mujer.yahoo.com/cocina/ > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer Community > > Take advantage of Verizon's best-in-class app development support > > A streamlined, 14 day to market process makes app distribution fast and > easy > > Join now and get one step closer to millions of Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > ------------------------------ > > Message: 5 > Date: Wed, 30 Dec 2009 20:15:13 +0530 > From: > Subject: [gst-devel] H.264 decoder sink problem > To: > Message-ID: > <9833F736BF212D438BF4F998F697E4D01C0B0E at BLR-SJP-MBX02.wipro.com> > Content-Type: text/plain; charset="us-ascii" > > Hi , > I am developing H264 decoder plugin. In my current pipeline i > took filesrc, myplugin and autovideosink elements. > i was able to decode the .H264 input file but i am not able to view the > video on sink side. The decoded data by writing into a file and able to > run with yuv tool. but through sink i am not able to. Could anyone > suggest what output buffer should i create and which capabilities need i > to set? > > Please its urgent... > > Thanks & Regards > Mohan Reddy > > -------------- next part -------------- > An HTML attachment was scrubbed... > > ------------------------------ > > Message: 6 > Date: Wed, 30 Dec 2009 09:14:38 -0800 (PST) > From: Leonardo Sandoval > Subject: Re: [gst-devel] gstreamer in a non-multimedia area? > To: Discussion of the development of GStreamer > , Stefan Kost > > Message-ID: <543562.52056.qm at web50708.mail.re2.yahoo.com> > Content-Type: text/plain; charset=iso-8859-1 > > I think may be gstreamer a good option at least for those two reasons you > mentioned: > > * Syncronisation: for example, in a galaxy evolution, several physics > (gravitation, star evolution, etc.) are occurring at the same time, so we > need syncronisation to control these computations. > > * format negotiation: currently, different codes outputs different data > formats so most of the time the output of one program has to be converted in > order to be the input of another program. Using standard formats specified > in the pads/caps, these can be avoided, I believe. > > However, there is one problem. In a multimedia, we have all the data to be > reproduced (encoded,decoded,etc) but in this case, starting from an initial > snapshot (initial conditions) an new snapshot is produced (the snapshot at > time t_0 + delta), then the latter is used to create the snapshot t_0 + > 2*delta, etc, and I believe in gstreamer it is not possible that the output > of a right element is the input of a left element, like in this diagram: > > ________ ________ _______ > | | | | | | > --|->---| |----- | |------| |--->---| > | |________| |________| |_______| | > | | > |-----------------------------------------------------| > Ing. Leonardo SandovalCel: (044) 81 10 62 33 59Casa: (0181) 17 33 04 73 > > > --- El mi? 30-dic-09, Stefan Kost escribi?: > > > De:: Stefan Kost > > Asunto: Re: [gst-devel] gstreamer in a non-multimedia area? > > A: "Discussion of the development of GStreamer" < > gstreamer-devel at lists.sourceforge.net> > > Cc: "Leonardo Sandoval" > > Fecha: mi?rcoles 30 de diciembre de 2009, 8:36 > > hi, > > > > Am 29.12.2009 18:18, schrieb Leonardo Sandoval: > > > Hi, > > > > > > In the past, I worked in a project which consists of > > joining together several numerical codes (codes which solve > > some particular physic problem, like stars gravity or star > > mass evolution) in a single one, but this turned to be a > > very difficult problem due to different > > language/technologies. > > > > > > Recently, I moved to the multimedia field using > > gstreamer and seems? to be an excellent and natural > > 'glue' to put several things together under a single > > framework. Before I can dig deeper on this, I have a simple > > question: in the case of galaxy dynamics, we are not talking > > about frames but 'snapshots', where each snapshot contains > > the information of each star inside a galaxy (mass, > > position, velocity, gas composition, etc.), i.e. the > > state? of the galaxy at some time.? > > > > > > I know that gstreamer does not care about the kind of > > data flowing, I just want to know if gstreamer has been used > > in other fields? rather than multimedia and if yes, > > which has been the experienced with this technology. > > > > > > > I am quite sure it can be done. WHat I wonder is how > > gstreamer might help you. > > For multimedia it gives you data flow synchronisation and > > format negotiation > > (and other things). I am not sure you would need those. > > What would be left is > > the plugin framework and some developments support. > > > > > > > > Happy new year! > > > > > Same to you. > > > > Stefan > > > > > > > > >? ? ???Encuentra las mejores > > recetas en Yahoo! Cocina.? ? ? ? ? > > ? ? ? ? ? ??? > > > http://mx.mujer.yahoo.com/cocina/ > > > > > > > > > ------------------------------------------------------------------------------ > > > This SF.Net email is sponsored by the Verizon > > Developer Community > > > Take advantage of Verizon's best-in-class app > > development support > > > A streamlined, 14 day to market process makes app > > distribution fast and easy > > > Join now and get one step closer to millions of > > Verizon customers > > > http://p.sf.net/sfu/verizon-dev2dev > > > _______________________________________________ > > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > Encuentra las mejores recetas en Yahoo! Cocina. > http://mx.mujer.yahoo.com/cocina/ > > > > ------------------------------ > > Message: 7 > Date: Wed, 30 Dec 2009 18:06:24 +0000 > From: regomodo > Subject: Re: [gst-devel] Playbin2 and Audio-CDs > To: Discussion of the development of GStreamer > > Message-ID: <200912301806.24975.regomodo at googlemail.com> > Content-Type: Text/Plain; charset="iso-8859-1" > > On Monday 28 December 2009 16:01:06 Tim-Philipp M?ller wrote: > > On Mon, 2009-12-21 at 20:55 +0000, reg wrote: > > > I'm trying to use playbin2 with audiocds. I can get a track to > > > play,pause and seek fine but the moment I try and change the uri > > > playbin2 just plays up a lot. These are the errors I get: > > > > > > (Gereqi.py:5019): GStreamer-WARNING **: Name queue is not unique in bin > > > uridecodebin0, not adding > > > > > > (Gereqi.py:5019): GStreamer-CRITICAL **: gst_caps_get_structure: > > > assertion `index < caps->structs->len' failed > > > > > > (Gereqi.py:5019): GStreamer-CRITICAL **: gst_structure_get_name: > > > assertion `structure != NULL' failed > > > > > > > > > However, I can use playbin2 again without restarting my app. I just > > > can't use the audio-cd until I restart my app. > > > > > > Is it possible to use playbin2 with audio-cd's yet? > > > > This was a bug, it's fixed in git now and will be in the upcoming -base > > 0.10.26 release. > > > > See https://bugzilla.gnome.org/show_bug.cgi?id=605219 > > > > Cheers > > -Tim > > > > > > > > > --------------------------------------------------------------------------- > > --- This SF.Net email is sponsored by the Verizon Developer Community > > Take advantage of Verizon's best-in-class app development support > > A streamlined, 14 day to market process makes app distribution fast and > > easy Join now and get one step closer to millions of Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > I finally got around to trying out git. Uninstalled everything gst related > on > my system and built gstreamer,gst-plugins-base and gst-python (in that > order) > only adding --prefix=/usr/ to ./configure. > > However, I get an error when I try to play a cd track: > > 'Error: Your GStreamer installation is missing a plug-in.', > 'gstplaysink.c(1483): gen_audio_chain (): > /GstPlayBin2:player/GstPlaySink:playsink0' > > I see this is from gst-plugins-base but I cannot see an option to > enable/disable this. > > > > ------------------------------ > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > > ------------------------------ > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > End of gstreamer-devel Digest, Vol 43, Issue 47 > *********************************************** > -- Sreerenj B Software engineer,Carinov Networks Pvt Ltd bsreerenj at gmail.com mob: +91 9739469496 -------------- next part -------------- An HTML attachment was scrubbed... URL: From ananthula.madhu at wipro.com Thu Dec 31 10:01:07 2009 From: ananthula.madhu at wipro.com (ananthula.madhu at wipro.com) Date: Thu, 31 Dec 2009 14:31:07 +0530 Subject: [gst-devel] Not able to run .264 file with playbin In-Reply-To: <785339900912302149u492cb87dwe36e29c47bd55d40@mail.gmail.com> Message-ID: <9833F736BF212D438BF4F998F697E4D01C0B10@BLR-SJP-MBX02.wipro.com> In which release of Gst-plugins -bad the sdlvideosink bad plugin available. i downloaded the latest version of bad plugins. and i installed but sdlvideosink.so file not generated. what i found is SDL.h file is not available. So if anyone have this plugin please send it. Thanks & Regards Madhu Reddy Wipro Technologies +918050013368 ________________________________ From: sudarshan bisht [mailto:bisht.sudarshan at gmail.com] Sent: Thursday, December 31, 2009 11:19 AM To: Discussion of the development of GStreamer Subject: Re: [gst-devel] Not able to run .264 file with playbin If you are trying to play raw h264 file then use following , gst-launch filesrc location=xyz ! h264parse ! ffdec_h264dec ! sdlvideosink On Thu, Dec 31, 2009 at 10:57 AM, wrote: Hi, I was trying to run one .264 format file size of 55kb with playbin. But playbin showing only one frame at sink side. Actually it is of 4sec( 120 frames) video file. Playbin using 'ffdec_h264' for decoding and 'autovideosink' for display. is these plugins able to play or need i to do any changes? Please help me in this regard Thanks & Regards Madhu Reddy ------------------------------------------------------------------------ ------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel -- Regards, Sudarshan Bisht -------------- next part -------------- An HTML attachment was scrubbed... URL: From gbzbz at yahoo.com Thu Dec 31 11:35:55 2009 From: gbzbz at yahoo.com (gather bzbz) Date: Thu, 31 Dec 2009 02:35:55 -0800 (PST) Subject: [gst-devel] saving rtsp stream tracks In-Reply-To: <223243.96080.qm@web51308.mail.re2.yahoo.com> Message-ID: <629522.55400.qm@web51304.mail.re2.yahoo.com> Still struggling with this issue.... Trying to write an application as Wim suggested. But the question is, why the "rtspsrc debug=true" shows the totally right SDP with correct media audio and video types, but the gstghostpad from rtspsrc0 translates the audio portion wrong? /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0.GstGhostPad:recv_rtp_src_1_1119828354_14: caps = application/x-rtp, media=(string)video, payload=(int)14, Wim mentioned that the format negotiation happening after the pad creation, so what the correct code flow chart should look like? Thanks all for the inputs. Happy New Year. --- On Wed, 12/23/09, gather bzbz wrote: > From: gather bzbz > Subject: Re: [gst-devel] saving rtsp stream tracks > To: "Discussion of the development of GStreamer" > Date: Wednesday, December 23, 2009, 12:32 AM > Hi Aurelien, > > The server is an embedded DSP box running linux. GSTREAMER > versions are > gstreamer-0.10.23, gst-plugins-base-0.10.23, > gst-plugins-good-0.10.15, gst-plugins-ugly-0.10.11, > gst-plugins-bad-0.10.12 > > pipeline used is same as yours. > > The follwing is the SDP > > sdp packet 0xbefff268: > version: '0' > origin: > username: '-' > sess_id: '1075644172143134' > sess_version: '1' > nettype: 'IN' > addrtype: 'IP4' > addr: > '192.168.1.4' > session_name: 'name' > information: 'info' > uri: > '(NULL)' > connection: > nettype: '(NULL)' > addrtype: '(NULL)' > address: '(NULL)' > ttl: '0' > addr_number: '0' > key: > type: > '(NULL)' > data: > '(NULL)' > attributes: > attribute 'tool' : 'tool' > attribute 'type' : 'broadcast' > attribute 'control' : '*' > attribute 'range' : 'npt=0-' > attribute 'x-qt-text-nam' : 'name' > attribute 'x-qt-text-inf' : 'info' > medias: > media 0: > media: > 'audio' > port: '0' > num_ports: '4294967295' > proto: > 'RTP/AVP' > formats: > format '14' > information: '(NULL)' > connections: > nettype: 'IN' > addrtype: 'IP4' > address: '0.0.0.0' > ttl: '0' > addr_number: '0' > key: > type: > '(NULL)' > data: > '(NULL)' > attributes: > attribute 'control' : 'track1' > media 1: > media: > 'video' > port: '0' > num_ports: '4294967295' > proto: > 'RTP/AVP' > formats: > format '97' > information: '(NULL)' > connections: > nettype: 'IN' > addrtype: 'IP4' > address: '0.0.0.0' > ttl: '0' > addr_number: '0' > key: > type: > '(NULL)' > data: > '(NULL)' > attributes: > attribute 'rtpmap' : '97 H264/90000' > attribute 'fmtp' : '97 > packetization-mode=1;profile-level-id=;sprop-parameter-sets=' > attribute 'control' : 'track2' > > > --- On Tue, 12/22/09, Aurelien Grimaud > wrote: > > > From: Aurelien Grimaud > > Subject: Re: [gst-devel] saving rtsp stream tracks > > To: "Discussion of the development of GStreamer" > > > Date: Tuesday, December 22, 2009, 1:37 PM > > Le 22/12/2009 09:24, Wim Taymans a > > ?crit : > > > On Mon, 2009-12-21 at 22:54 -0800, gather bzbz > wrote: > > > > > >> Hi, Aurelien, > > >> > > >> Thanks for the hint. Really appreciate it. > > >> > > >> I ran the said pipeline, it failed with the > > following errors > > >> > > >> > > > ***************************************************************** > > >> > > >> > /GstPipeline:pipeline0/GstCapsFilter:capsfilter2: > > caps = application/x-rtp, media=(string)audio > > >> > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3: > > caps = application/x-rtp, media=(string)video > > >> > > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: > > caps = application/x-rtp, media=(string)video, > > payload=(int)97, clock-rate=(int)90000, > > encoding-name=(string)H264, > packetization-mode=(string)1, > > profile-level-id=(string)41 > > >> > > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: > > caps = application/x-rtp, media=(string)video, > > payload=(int)97, clock-rate=(int)90000, > > encoding-name=(string)H264, > packetization-mode=(string)1, > > profile-level-id=(string)1 > > >> > > > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97: > > caps = application/x-rtp, media=(string)video, > > payload=(int)97, clock-rate=(int)90000, > > encoding-name=(string)H264, > packetization-mode=(string)1, > > profile-l1 > > >> > > > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad7: > > caps = application/x-rtp, media=(string)video, > > payload=(int)97, clock-rate=(int)90000, > > encoding-name=(string)H264, packetization-mod1 > > >> > > > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97: > > caps = application/x-rtp, media=(string)video, > > payload=(int)97, clock-rate=(int)90000, > > encoding-name=(string)H264, > packetization-mode=(string)1, > > profile-l1 > > >> > > > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97: > > caps = application/x-rtp, media=(string)video, > > payload=(int)97, clock-rate=(int)90000, > > encoding-name=(string)H264, packetization-mode=(s1 > > >> > > > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad6: > > caps = application/x-rtp, media=(string)video, > > payload=(int)97, clock-rate=(int)90000, > > encoding-name=(string)H264,1 > > >> > > > /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: > > caps = application/x-rtp, media=(string)video, > > payload=(int)97, clock-rate=(int)90000, > > encoding-name=(string)H264, > packetization-mode=(string)1, > > profile-level-id=(string)42801 > > >> New clock: GstSystemClock > > >> > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4: > > caps = application/x-rtp, media=(string)audio > > >> > > > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14: > > caps = application/x-rtp, media=(string)video, > > payload=(int)14, clock-rate=(int)90000, > > encoding-name=(string)H264, > packetization-mode=(string)1, > > profile-le1 > > >> > > > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad9: > > caps = application/x-rtp, media=(string)video, > > payload=(int)14, clock-rate=(int)90000, > > encoding-name=(string)H264, packetization-mode1 > > >> > > > /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14: > > caps = application/x-rtp, media=(string)video, > > payload=(int)14, clock-rate=(int)90000, > > encoding-name=(string)H264, > packetization-mode=(string)1, > > profile-le1 > > >> > > > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14: > > caps = application/x-rtp, media=(string)video, > > payload=(int)14, clock-rate=(int)90000, > > encoding-name=(string)H264, packetization-mode=(st1 > > >> > > > /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad8: > > caps = application/x-rtp, media=(string)video, > > payload=(int)14, clock-rate=(int)90000, > > encoding-name=(string)H264, 1 > > >> 0:00:02.744148481 1885 > 0xba050 > > WARN > > basesrc > > gstbasesrc.c:2334:gst_base_src_loop: > > error: Internal data flow error. > > >> 0:00:03.073260000 1885 > 0xba050 > > WARN > > basesrc > > gstbasesrc.c:2334:gst_base_src_loop: > > error: streaming task paused, reason not-linked (-1) > > >> > > >> > > > ***************************************************************** > > >> > > >> The strange thing is that, after rtspsrc, > the > > track with payload 14 (according to the rtsp SDP > media > > session) is supposed to have "media=audio", but > somehow the > > rtsp pipe thinks it is "media=video payload=14 > > encoding-name=H.264). Thus, I think the whole > capfilter > > things are messed up. I am totally lost here. Any pads > here > > for rtspsrc? Please help!. > > >> > > > gst-launch is not smart enough to link this > pipeline > > because it > > > negotiates a format after creating the pad. > You'll > > have to write an > > > application. > > > > > > Wim > > > > > > > > Actually this pipeline works ... > > Why does gather bzbz's uri fail ? How come the 2 > tracks > > caps are the > > same except for payload ? > > Gather, what rtsp server do you use ? Could you send > the > > sdp ? > > > > gst-launch -v rtspsrc > > location=rtsp://127.0.0.1/sample_50kbit.3gp > > name=src src. ! application/x-rtp, media=audio ! > fakesink > > sync=TRUE src. > > ! application/x-rtp, media=video ! fakesink sync=TRUE > > Setting pipeline to PAUSED ... > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0: > > latency = 3000 > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1: > > timeout = 5000000 > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3: > > timeout = 5000000 > > Pipeline is live and does not need PREROLL ... > > Setting pipeline to PLAYING ... > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1: > > > > ntp-ns-base = 3470505739412582000 > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0: > > > > ntp-ns-base = 3470505739412582000 > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src: > > > > caps = application/x-rtcp > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink: > > > > caps = application/x-rtcp > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src: > > > > caps = application/x-rtcp > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink: > > > > caps = application/x-rtcp > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1: > > timeout = 0 > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3: > > timeout = 0 > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp: > > > > caps = application/x-rtcp > > New clock: GstSystemClock > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp: > > > > caps = application/x-rtcp > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter2: caps > = > > application/x-rtp, media=(string)audio > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3: caps > = > > application/x-rtp, media=(string)video > > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: > > caps = > > application/x-rtp, media=(string)video, > payload=(int)96, > > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > > > profile-level-id=(string)1, > > > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > > > > a-cliprect=(string)\"0\\,0\\,144\\,176\", > > a-framesize=(string)\"96\\ > > 176-144\", clock-base=(guint)1767044848, > > seqnum-base=(guint)28080, > > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > > play-speed=(double)1, play-scale=(double)1 > > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: > > caps = > > application/x-rtp, media=(string)video, > payload=(int)96, > > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > > > profile-level-id=(string)1, > > > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > > > > a-cliprect=(string)\"0\\,0\\,144\\,176\", > > a-framesize=(string)\"96\\ > > 176-144\", clock-base=(guint)1767044848, > > seqnum-base=(guint)28080, > > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > > play-speed=(double)1, play-scale=(double)1 > > > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96: > > > > caps = application/x-rtp, media=(string)video, > > payload=(int)96, > > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > > > profile-level-id=(string)1, > > > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > > > > a-cliprect=(string)\"0\\,0\\,144\\,176\", > > a-framesize=(string)\"96\\ > > 176-144\", clock-base=(guint)1767044848, > > seqnum-base=(guint)28080, > > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > > play-speed=(double)1, play-scale=(double)1 > > > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad7: > > > > caps = application/x-rtp, media=(string)video, > > payload=(int)96, > > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > > > profile-level-id=(string)1, > > > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > > > > a-cliprect=(string)\"0\\,0\\,144\\,176\", > > a-framesize=(string)\"96\\ > > 176-144\", clock-base=(guint)1767044848, > > seqnum-base=(guint)28080, > > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > > play-speed=(double)1, play-scale=(double)1 > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad6: > > > > caps = application/x-rtp, media=(string)video, > > payload=(int)96, > > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > > > profile-level-id=(string)1, > > > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > > > > a-cliprect=(string)\"0\\,0\\,144\\,176\", > > a-framesize=(string)\"96\\ > > 176-144\", clock-base=(guint)1767044848, > > seqnum-base=(guint)28080, > > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > > play-speed=(double)1, play-scale=(double)1 > > > /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: > > caps = > > application/x-rtp, media=(string)video, > payload=(int)96, > > clock-rate=(int)90000, encoding-name=(string)MP4V-ES, > > > profile-level-id=(string)1, > > > config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F, > > > > a-cliprect=(string)\"0\\,0\\,144\\,176\", > > a-framesize=(string)\"96\\ > > 176-144\", clock-base=(guint)1767044848, > > seqnum-base=(guint)28080, > > npt-start=(guint64)0, npt-stop=(guint64)70000000000, > > play-speed=(double)1, play-scale=(double)1 > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "preroll > > ******* " > > WARNING: from element > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > > Internal data flow problem. > > Additional debug info: > > gstbasesink.c(3315): gst_base_sink_chain_unlocked (): > > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > > Received buffer without a new-segment. Assuming > timestamps > > start from 0. > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1: > > > > caps = application/x-rtcp > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src: > > > > caps = application/x-rtcp > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink: > > > > caps = application/x-rtcp > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1.GstProxyPad:proxypad5: > > > > caps = application/x-rtcp > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0: > > > > caps = application/x-rtcp > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src: > > > > caps = application/x-rtcp > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink: > > > > caps = application/x-rtcp > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0.GstProxyPad:proxypad2: > > > > caps = application/x-rtcp > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4: caps > = > > application/x-rtp, media=(string)audio > > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src: > > caps = > > application/x-rtp, media=(string)audio, > payload=(int)97, > > clock-rate=(int)8000, encoding-name=(string)AMR, > > encoding-params=(string)1, octet-align=(string)1, > > npt-start=(guint64)0, > > npt-stop=(guint64)70000000000, play-speed=(double)1, > > play-scale=(double)1 > > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink: > > caps = > > application/x-rtp, media=(string)audio, > payload=(int)97, > > clock-rate=(int)8000, encoding-name=(string)AMR, > > encoding-params=(string)1, octet-align=(string)1, > > npt-start=(guint64)0, > > npt-stop=(guint64)70000000000, play-speed=(double)1, > > play-scale=(double)1 > > > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97: > > > > caps = application/x-rtp, media=(string)audio, > > payload=(int)97, > > clock-rate=(int)8000, encoding-name=(string)AMR, > > encoding-params=(string)1, octet-align=(string)1, > > npt-start=(guint64)0, > > npt-stop=(guint64)70000000000, play-speed=(double)1, > > play-scale=(double)1 > > > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad9: > > > > caps = application/x-rtp, media=(string)audio, > > payload=(int)97, > > clock-rate=(int)8000, encoding-name=(string)AMR, > > encoding-params=(string)1, octet-align=(string)1, > > npt-start=(guint64)0, > > npt-stop=(guint64)70000000000, play-speed=(double)1, > > play-scale=(double)1 > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad8: > > > > caps = application/x-rtp, media=(string)audio, > > payload=(int)97, > > clock-rate=(int)8000, encoding-name=(string)AMR, > > encoding-params=(string)1, octet-align=(string)1, > > npt-start=(guint64)0, > > npt-stop=(guint64)70000000000, play-speed=(double)1, > > play-scale=(double)1 > > > /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: > > caps = > > application/x-rtp, media=(string)audio, > payload=(int)97, > > clock-rate=(int)8000, encoding-name=(string)AMR, > > encoding-params=(string)1, octet-align=(string)1, > > npt-start=(guint64)0, > > npt-stop=(guint64)70000000000, play-speed=(double)1, > > play-scale=(double)1 > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "preroll > > ******* " > > WARNING: from element > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > > Internal data flow problem. > > Additional debug info: > > gstbasesink.c(3315): gst_base_sink_chain_unlocked (): > > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > > Received buffer without a new-segment. Assuming > timestamps > > start from 0. > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 298 bytes, timestamp: > > 0:00:00.029967661, duration: none, > > offset: -1, offset_end: -1, flags: 32) 0x82d63a0" > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "chain > > ******* < ( 113 bytes, timestamp: > > 0:00:00.029723222, duration: none, > > offset: -1, offset_end: -1, flags: 32) 0xb5f0bd18" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 39 bytes, timestamp: > > 0:00:00.096627699, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0x82d6450" > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "chain > > ******* < ( 113 bytes, timestamp: > > 0:00:00.129621419, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb5f0bdc8" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 73 bytes, timestamp: > > 0:00:00.163267870, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0x82d6500" > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "chain > > ******* < ( 113 bytes, timestamp: > > 0:00:00.229215223, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb5f0be78" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 186 bytes, timestamp: > > 0:00:00.229861203, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0x82d65b0" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 46 bytes, timestamp: > > 0:00:00.296405174, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0x82d6660" > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "chain > > ******* < ( 113 bytes, timestamp: > > 0:00:00.328310421, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb5f0bf28" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 46 bytes, timestamp: > > 0:00:00.362889122, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0x82d6710" > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "chain > > ******* < ( 113 bytes, timestamp: > > 0:00:00.426738076, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0x82d6030" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 110 bytes, timestamp: > > 0:00:00.429277600, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b05038" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 167 bytes, timestamp: > > 0:00:00.495591078, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b050e8" > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "chain > > ******* < ( 113 bytes, timestamp: > > 0:00:00.524379558, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0x82d60e0" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 212 bytes, timestamp: > > 0:00:00.561827296, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b05198" > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "chain > > ******* < ( 113 bytes, timestamp: > > 0:00:00.621195558, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0x82d6190" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 135 bytes, timestamp: > > 0:00:00.627925760, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b05248" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 166 bytes, timestamp: > > 0:00:00.693966778, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b052f8" > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "chain > > ******* < ( 113 bytes, timestamp: > > 0:00:00.717251820, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0x82d6240" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 214 bytes, timestamp: > > 0:00:00.759969955, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b053a8" > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "chain > > ******* < ( 113 bytes, timestamp: > > 0:00:00.812731813, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0x82d62f0" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 260 bytes, timestamp: > > 0:00:00.825923657, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b05458" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 226 bytes, timestamp: > > 0:00:00.891898231, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b05508" > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "chain > > ******* < ( 113 bytes, timestamp: > > 0:00:00.907926480, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b068b8" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 336 bytes, timestamp: > > 0:00:00.957919311, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b055b8" > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "chain > > ******* < ( 113 bytes, timestamp: > > 0:00:01.003195304, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b06968" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 252 bytes, timestamp: > > 0:00:01.023984631, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b05668" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 255 bytes, timestamp: > > 0:00:01.090144543, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b05718" > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "chain > > ******* < ( 113 bytes, timestamp: > > 0:00:01.098893340, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b06a18" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 278 bytes, timestamp: > > 0:00:01.156404381, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b06808" > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "chain > > ******* < ( 113 bytes, timestamp: > > 0:00:01.195322355, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b06ac8" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 301 bytes, timestamp: > > 0:00:01.222750484, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b06ee8" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 380 bytes, timestamp: > > 0:00:01.289190961, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b09818" > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "chain > > ******* < ( 113 bytes, timestamp: > > 0:00:01.292640148, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b06b78" > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "chain > > ******* < ( 475 bytes, timestamp: > > 0:00:01.355707910, duration: none, > > offset: -1, offset_end: -1, flags: 0) 0xb6b098c8" > > ^CCaught interrupt -- handling interrupt. > > Interrupt: Stopping pipeline ... > > Execution ended after 4489782939 ns. > > Setting pipeline to PAUSED ... > > /GstPipeline:pipeline0/GstFakeSink:fakesink0: > last-message > > = "preroll > > ******* " > > /GstPipeline:pipeline0/GstFakeSink:fakesink1: > last-message > > = "preroll > > ******* " > > Setting pipeline to READY ... > > > /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: > > caps = NULL > > > /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: > > caps = NULL > > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: > > caps = NULL > > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: > > caps = NULL > > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src: > > caps = NULL > > > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink: > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux1.GstPad:src_97: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_src_1438966686: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux0.GstPad:src_96: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_src_1306561041: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink: > > > > caps = NULL > > > /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink: > > > > caps = NULL > > Setting pipeline to NULL ... > > Freeing pipeline ... > > > > >> --- On Mon, 12/21/09, Aurelien Grimaud > > > wrote: > > >> > > >> > > >>> From: Aurelien Grimaud > > >>> Subject: Re: [gst-devel] saving rtsp > stream > > tracks > > >>> To: "Discussion of the development of > > GStreamer" > > >>> Date: Monday, December 21, 2009, 12:53 > PM > > >>> Hi, > > >>> > > >>> Le 21/12/2009 08:02, gather bzbz a ?crit > : > > >>> > > >>>> Hi, I try to use gstreamer to receive > rtsp > > stream to > > >>>> > > >>> files. The stream contains a track1 for > audio > > and track2 for > > >>> video. VLC works very well with the > stream. > > When I use the > > >>> following command pipeline > > >>> > > >>>> " gst-launch rtspsrc > > location=rtsp:// > > >>>> > > >>> debug=true ! fakesink ", I can see that > > gstreamer actually > > >>> gets the SDP part right. See following > info. > > >>> > > >>>> > > >>>> > > >>> Try gst-launch -v rtspsrc name=src src. > ! > > >>> application/x-rtp, media=audio > > >>> ! fakesink src. ! application/x-rtp, > > media=video ! > > >>> fakesink > > >>> > > >>> Aurelien > > >>> > > >>>> > > ************************************************* > > >>>> medias: > > >>>> media 0: > > >>>> media: > > >>>> > > >>> 'audio' > > >>> > > >>>> port: > > >>>> > > >>> '0' > > >>> > > >>>> > > >>> > > num_ports: '4294967295' > > >>> > > >>>> proto: > > >>>> > > >>> 'RTP/AVP' > > >>> > > >>>> formats: > > >>>> > > format '14' > > >>>> information: > '(NULL)' > > >>>> connections: > > >>>> > > nettype: 'IN' > > >>>> > addrtype: > > >>>> > > >>> 'IP4' > > >>> > > >>>> > address: > > >>>> > > >>> '0.0.0.0' > > >>> > > >>>> ttl: > > >>>> > > >>> '0' > > >>> > > >>>> > > addr_number: '0' > > >>>> key: > > >>>> type: > > >>>> > > >>> '(NULL)' > > >>> > > >>>> data: > > >>>> > > >>> '(NULL)' > > >>> > > >>>> attributes: > > >>>> > attribute > > 'control' : 'track1' > > >>>> media 1: > > >>>> media: > > >>>> > > >>> 'video' > > >>> > > >>>> port: > > >>>> > > >>> '0' > > >>> > > >>>> > > >>> > > num_ports: '4294967295' > > >>> > > >>>> proto: > > >>>> > > >>> 'RTP/AVP' > > >>> > > >>>> formats: > > >>>> > > format '97' > > >>>> information: > '(NULL)' > > >>>> connections: > > >>>> > > nettype: 'IN' > > >>>> > addrtype: > > >>>> > > >>> 'IP4' > > >>> > > >>>> > address: > > >>>> > > >>> '0.0.0.0' > > >>> > > >>>> ttl: > > >>>> > > >>> '0' > > >>> > > >>>> > > addr_number: '0' > > >>>> key: > > >>>> type: > > >>>> > > >>> '(NULL)' > > >>> > > >>>> data: > > >>>> > > >>> '(NULL)' > > >>> > > >>>> attributes: > > >>>> > attribute > > 'rtpmap' : '97 > > >>>> > > >>> H264/90000' > > >>> > > >>>> > attribute > > 'fmtp' : '97 > > >>>> > > >>> > > > packetization-mode=1;profile-level-id=;sprop-parameter-sets=' > > >>> > > >>>> > attribute > > 'control' : 'track2' > > >>>> > > >>>> > > ************************************************* > > >>>> How can I save the audio track1 to a > file > > and video > > >>>> > > >>> track2 to another so I can do some > > post-processings? Thanks > > >>> a lot for your help!!! > > >>> > > >>>> > > >>>> > > >>>> > > >>>> > > >>>> > > >>> > > > ------------------------------------------------------------------------------ > > >>> > > >>>> This SF.Net email is sponsored by > the > > Verizon > > >>>> > > >>> Developer Community > > >>> > > >>>> Take advantage of Verizon's > best-in-class > > app > > >>>> > > >>> development support > > >>> > > >>>> A streamlined, 14 day to market > process > > makes app > > >>>> > > >>> distribution fast and easy > > >>> > > >>>> Join now and get one step closer to > > millions of > > >>>> > > >>> Verizon customers > > >>> > > >>>> http://p.sf.net/sfu/verizon-dev2dev > > >>>> > > _______________________________________________ > > >>>> gstreamer-devel mailing list > > >>>> gstreamer-devel at lists.sourceforge.net > > >>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > >>>> > > >>>> > > >>>> > > >>> > > >>> > > > ------------------------------------------------------------------------------ > > >>> This SF.Net email is sponsored by the > Verizon > > Developer > > >>> Community > > >>> Take advantage of Verizon's best-in-class > app > > development > > >>> support > > >>> A streamlined, 14 day to market process > makes > > app > > >>> distribution fast and easy > > >>> Join now and get one step closer to > millions > > of Verizon > > >>> customers > > >>> http://p.sf.net/sfu/verizon-dev2dev > > >>> > > _______________________________________________ > > >>> gstreamer-devel mailing list > > >>> gstreamer-devel at lists.sourceforge.net > > >>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > >>> > > >>> > > >> > > >> > > >> > > >> > > > ------------------------------------------------------------------------------ > > >> This SF.Net email is sponsored by the > Verizon > > Developer Community > > >> Take advantage of Verizon's best-in-class > app > > development support > > >> A streamlined, 14 day to market process makes > app > > distribution fast and easy > > >> Join now and get one step closer to millions > of > > Verizon customers > > >> http://p.sf.net/sfu/verizon-dev2dev > > >> > _______________________________________________ > > >> gstreamer-devel mailing list > > >> gstreamer-devel at lists.sourceforge.net > > >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > >> > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > This SF.Net email is sponsored by the Verizon > > Developer Community > > > Take advantage of Verizon's best-in-class app > > development support > > > A streamlined, 14 day to market process makes > app > > distribution fast and easy > > > Join now and get one step closer to millions of > > Verizon customers > > > http://p.sf.net/sfu/verizon-dev2dev > > > _______________________________________________ > > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon > Developer > > Community > > Take advantage of Verizon's best-in-class app > development > > support > > A streamlined, 14 day to market process makes app > > distribution fast and easy > > Join now and get one step closer to millions of > Verizon > > customers > > http://p.sf.net/sfu/verizon-dev2dev > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer > Community > Take advantage of Verizon's best-in-class app development > support > A streamlined, 14 day to market process makes app > distribution fast and easy > Join now and get one step closer to millions of Verizon > customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > From jrioslists at gmail.com Thu Dec 31 11:57:36 2009 From: jrioslists at gmail.com (J. Rios) Date: Thu, 31 Dec 2009 10:57:36 +0000 Subject: [gst-devel] level element in playbin2 In-Reply-To: <4B3B63F7.9030601@hora-obscura.de> References: <36bc52e10912280434k45f97d7fj7a96fce2dbd64005@mail.gmail.com> <4B3B63F7.9030601@hora-obscura.de> Message-ID: <36bc52e10912310257p752df455h9974e57f03be0ba@mail.gmail.com> Thanks that worked fine. This is how did it if someone else is interested. I removed all the error checking code and kept only the significant part. ... GstElement * outputsink = gst_element_factory_make( "gconfaudiosink", "audio-sink" ); GstElement * m_Playbin = gst_element_factory_make( "playbin2", "play" ); GstElement * level = gst_element_factory_make( "level", "gulevelctrl" ); g_object_set( level, "message", TRUE, NULL ); g_object_set( level, "interval", gint64( 250000000 ), NULL ); GstElement * replay = gst_element_factory_make( "rgvolume", "replaygain" ); g_object_set( replay, "album-mode", false, NULL ); gst_bin_add( GST_BIN( m_Playbin ), replay ); GstElement * sinkbin = gst_bin_new( "outsinkbin" ); GstElement * converter = gst_element_factory_make( "audioconvert", "aconvert" ); GstPad * pad; GstPad * ghostpad; gst_bin_add_many( GST_BIN( sinkbin ), converter, level, outputsink, NULL ); gst_element_link_many( converter, level, outputsink, NULL ); pad = gst_element_get_pad( converter, "sink" ); ghostpad = gst_ghost_pad_new( "sink", pad ); gst_element_add_pad( sinkbin, ghostpad ); gst_object_unref( pad ); g_object_set( G_OBJECT( m_Playbin ), "audio-sink", sinkbin, NULL ); g_object_set( G_OBJECT( m_Playbin ), "flags", 0x02|0x10, NULL ); ... This way it worked fine and get the level messages. Thank you all for your help Greets J.Rios On Wed, Dec 30, 2009 at 2:30 PM, Stefan Kost wrote: > hi, > > Am 28.12.2009 14:34, schrieb J. Rios: > > Hello, > > Im tryign to incorporate the level element into a playbin2. This is > > the significant part of what I have tried > > > > GstElement * outputsink; > > outputsink = gst_element_factory_make( "gconfaudiosink", "audio-sink" > ); > > ... > > GstElement * m_Playbin = gst_element_factory_make( "playbin2", "play" > ); > > ... > > GstElement * level = gst_element_factory_make( "level", "levelctrl" > ); > > > > GstElement * replay = gst_element_factory_make( "rgvolume", > > "replaygain" ); > > > > > > gst_bin_add( GST_BIN( m_Playbin ), level ); > > gst_bin_add( GST_BIN( m_Playbin ), replay ); > > g_object_set( G_OBJECT( m_Playbin ), "audio-sink", outputsink, NULL > ); > > > > g_object_set( level, "message", true, NULL ); > > > > g_object_set( G_OBJECT( m_Playbin ), "flags", 0x02|0x10, NULL ); > > > > gst_bus_add_watch( gst_pipeline_get_bus( GST_PIPELINE( m_Playbin ) ), > > ( GstBusFunc ) gst_bus_async_callback, this ); > > > > > this cannot work as such. The elements need to be linked in the right > order. > What you need to do, is to create an own bin, add level, replay and the > audiosink there, link them and set your bin as the audiosink. You need to > add a > ghostpad to the bin and set it to the first (yet unlinked) sink pad of you > elements. > > Stefan > > > > The problem I have is that I dont get the Element messages. All the rest > > works fine including the replay-gain volumen but I dont get the level > > messages in the callback function. > > What I want to do is detect when the sound level is below an user > > defined level so I can skip to next track. > > > > I dunno if this is the correct place to put it but I have been tryign to > > search for this with no success. Please if u know what is wrong or how > > it should work let me know > > > > Thanks in advance > > J.Rios > > > > > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer Community > > Take advantage of Verizon's best-in-class app development support > > A streamlined, 14 day to market process makes app distribution fast and > easy > > Join now and get one step closer to millions of Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > > > > > > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From regomodo at googlemail.com Thu Dec 31 13:50:49 2009 From: regomodo at googlemail.com (regomodo) Date: Thu, 31 Dec 2009 12:50:49 +0000 Subject: [gst-devel] Playbin2 and Audio-CDs In-Reply-To: <1262016067.3280.348.camel@zingle> References: <1261428907.5707.4.camel@jono-desktop> <1262016067.3280.348.camel@zingle> Message-ID: <200912311250.49474.regomodo@googlemail.com> On Monday 28 December 2009 16:01:06 Tim-Philipp M?ller wrote: > On Mon, 2009-12-21 at 20:55 +0000, reg wrote: > > I'm trying to use playbin2 with audiocds. I can get a track to > > play,pause and seek fine but the moment I try and change the uri > > playbin2 just plays up a lot. These are the errors I get: > > > > (Gereqi.py:5019): GStreamer-WARNING **: Name queue is not unique in bin > > uridecodebin0, not adding > > > > (Gereqi.py:5019): GStreamer-CRITICAL **: gst_caps_get_structure: > > assertion `index < caps->structs->len' failed > > > > (Gereqi.py:5019): GStreamer-CRITICAL **: gst_structure_get_name: > > assertion `structure != NULL' failed > > > > > > However, I can use playbin2 again without restarting my app. I just > > can't use the audio-cd until I restart my app. > > > > Is it possible to use playbin2 with audio-cd's yet? > > This was a bug, it's fixed in git now and will be in the upcoming -base > 0.10.26 release. > > See https://bugzilla.gnome.org/show_bug.cgi?id=605219 > > Cheers > -Tim > > > > --------------------------------------------------------------------------- > --- This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > I figured out the playsink error I was getting. At ./configure '--with- default-audiosink' seems to specify 'autoaudiosink' by default but gstreamer appears to not be able to deal with that. Instead I chose alsasink and now it works and so does the CD playback. Reg From t.i.m at zen.co.uk Thu Dec 31 18:38:07 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Thu, 31 Dec 2009 17:38:07 +0000 Subject: [gst-devel] Playbin2 and Audio-CDs In-Reply-To: <200912301806.24975.regomodo@googlemail.com> References: <1261428907.5707.4.camel@jono-desktop> <1262016067.3280.348.camel@zingle> <200912301806.24975.regomodo@googlemail.com> Message-ID: <1262281087.3635.2.camel@zingle> On Wed, 2009-12-30 at 18:06 +0000, regomodo wrote: > I finally got around to trying out git. Uninstalled everything gst related on > my system and built gstreamer,gst-plugins-base and gst-python (in that order) > only adding --prefix=/usr/ to ./configure. For what it's worth, it's also possible to use/test/develop against GStreamer git without messing with your system GStreamer installation, see: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/chapter-developing.html#developing-uninstalled-gstreamer Thanks for testing the fix. Cheers -Tim From bsreerenj at gmail.com Thu Dec 31 20:22:47 2009 From: bsreerenj at gmail.com (sreerenj b) Date: Fri, 1 Jan 2010 00:52:47 +0530 Subject: [gst-devel] gstreamer-devel Digest, Vol 43, Issue 49 In-Reply-To: References: Message-ID: On Thu, Dec 31, 2009 at 1:16 PM, < gstreamer-devel-request at lists.sourceforge.net> wrote: > Send gstreamer-devel mailing list submissions to > gstreamer-devel at lists.sourceforge.net > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > or, via email, send a message with subject or body 'help' to > gstreamer-devel-request at lists.sourceforge.net > > You can reach the person managing the list at > gstreamer-devel-owner at lists.sourceforge.net > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of gstreamer-devel digest..." > > > Today's Topics: > > 1. Re: gstreamer-devel Digest, Vol 43, Issue 47 (sreerenj b) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Thu, 31 Dec 2009 13:15:51 +0530 > From: sreerenj b > Subject: Re: [gst-devel] gstreamer-devel Digest, Vol 43, Issue 47 > To: gstreamer-devel at lists.sourceforge.net > Message-ID: > > Content-Type: text/plain; charset="iso-8859-1" > > On Wed, Dec 30, 2009 at 11:36 PM, < > gstreamer-devel-request at lists.sourceforge.net> wrote: > > > Send gstreamer-devel mailing list submissions to > > gstreamer-devel at lists.sourceforge.net > > > > To subscribe or unsubscribe via the World Wide Web, visit > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > or, via email, send a message with subject or body 'help' to > > gstreamer-devel-request at lists.sourceforge.net > > > > You can reach the person managing the list at > > gstreamer-devel-owner at lists.sourceforge.net > > > > When replying, please edit your Subject line so it is more specific > > than "Re: Contents of gstreamer-devel digest..." > > > > > > Today's Topics: > > > > 1. trouble with playbin2 and audio track (kitone) > > 2. Re: level element in playbin2 (Stefan Kost) > > 3. Re: gstreamer clock (Stefan Kost) > > 4. Re: gstreamer in a non-multimedia area? (Stefan Kost) > > 5. H.264 decoder sink problem (ananthula.madhu at wipro.com) > > 6. Re: gstreamer in a non-multimedia area? (Leonardo Sandoval) > > 7. Re: Playbin2 and Audio-CDs (regomodo) > > > > > > ---------------------------------------------------------------------- > > > > Message: 1 > > Date: Wed, 30 Dec 2009 13:18:54 +0100 > > From: kitone > > Subject: [gst-devel] trouble with playbin2 and audio track > > To: gstreamer-devel at lists.sourceforge.net > > Message-ID: <20091230131854.0c177421 at free.fr> > > Content-Type: text/plain; charset=US-ASCII > > > > Hi everyone, > > > > I'm using playbin2 to play video and I've add the ability to change > > audio track in the player. This doesn't work very well. When I switch > > to an other track there's little problem like no sound, need to seek to > > have sound again or some little freeze. > > > > So there's a best way to change track ? > > > > Do I need to define the state of the pipeline to PAUSED, change the > > audio track and replay again ? Or can I do this on the fly ? > > > > code : > > void Player::set_current_audio(int track) { > > g_object_set (playbin, "current-audio", track, NULL); > > } > > > > Best regards, > > kitone > > > > > > > > ------------------------------ > > > > Message: 2 > > Date: Wed, 30 Dec 2009 16:30:15 +0200 > > From: Stefan Kost > > Subject: Re: [gst-devel] level element in playbin2 > > To: Discussion of the development of GStreamer > > > > Message-ID: <4B3B63F7.9030601 at hora-obscura.de> > > Content-Type: text/plain; charset=ISO-8859-1 > > > > hi, > > > > Am 28.12.2009 14:34, schrieb J. Rios: > > > Hello, > > > Im tryign to incorporate the level element into a playbin2. This is > > > the significant part of what I have tried > > > > > > GstElement * outputsink; > > > outputsink = gst_element_factory_make( "gconfaudiosink", > "audio-sink" > > ); > > > ... > > > GstElement * m_Playbin = gst_element_factory_make( "playbin2", > "play" > > ); > > > ... > > > GstElement * level = gst_element_factory_make( "level", "levelctrl" > > ); > > > > > > GstElement * replay = gst_element_factory_make( "rgvolume", > > > "replaygain" ); > > > > > > > > > gst_bin_add( GST_BIN( m_Playbin ), level ); > > > gst_bin_add( GST_BIN( m_Playbin ), replay ); > > > g_object_set( G_OBJECT( m_Playbin ), "audio-sink", outputsink, NULL > > ); > > > > > > g_object_set( level, "message", true, NULL ); > > > > > > g_object_set( G_OBJECT( m_Playbin ), "flags", 0x02|0x10, NULL ); > > > > > > gst_bus_add_watch( gst_pipeline_get_bus( GST_PIPELINE( m_Playbin ) > ), > > > ( GstBusFunc ) gst_bus_async_callback, this ); > > > > > > > > this cannot work as such. The elements need to be linked in the right > > order. > > What you need to do, is to create an own bin, add level, replay and the > > audiosink there, link them and set your bin as the audiosink. You need to > > add a > > ghostpad to the bin and set it to the first (yet unlinked) sink pad of > you > > elements. > > > > Stefan > > > > > > > The problem I have is that I dont get the Element messages. All the > rest > > > works fine including the replay-gain volumen but I dont get the level > > > messages in the callback function. > > > What I want to do is detect when the sound level is below an user > > > defined level so I can skip to next track. > > > > > > I dunno if this is the correct place to put it but I have been tryign > to > > > search for this with no success. Please if u know what is wrong or how > > > it should work let me know > > > > > > Thanks in advance > > > J.Rios > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > This SF.Net email is sponsored by the Verizon Developer Community > > > Take advantage of Verizon's best-in-class app development support > > > A streamlined, 14 day to market process makes app distribution fast and > > easy > > > Join now and get one step closer to millions of Verizon customers > > > http://p.sf.net/sfu/verizon-dev2dev > > > > > > > > > > > > _______________________________________________ > > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > ------------------------------ > > > > Message: 3 > > Date: Wed, 30 Dec 2009 16:33:26 +0200 > > From: Stefan Kost > > Subject: Re: [gst-devel] gstreamer clock > > To: Discussion of the development of GStreamer > > > > Cc: sreerenj b > > Message-ID: <4B3B64B6.3020401 at hora-obscura.de> > > Content-Type: text/plain; charset=ISO-8859-1 > > > > Am 30.12.2009 08:19, schrieb sreerenj b: > > > > > > HI, > > > > > > Is there any way to get some signal or tick from the pipeline depending > > > upon the data transferd?(For example, suppose if i change the streaming > > > server playback rate to twice the actual rate,then i should needs to > get > > > some identification from pipeline in each second or in some periodic > > > manner.) > > > > You could use gst_clock_new_periodic_id() together with a > > gst_clock_id_wait() or > > gst_clock_id_wait_async() > > > > Stefan > > > > > -- > > > Sreerenj B > > > bsreerenj at gmail.com > > > mob: +91 9739469496 > > > > > > > > > > Hi , I captured the GstClockID of the pipeline in streaming-server * id=gst_clock_new_periodic_id(media->media->pipeline->clock,start_time,interval); *And then setted up the asynchronous callback using the following. *gst_clock_id_wait_async(id,(GstClockCallback *)TickCallback,"Tick sending");* but evenif i "stopped" or "paused" the client side player , i am getting the callback " TickCallback" in the server side on specified intervals!!!!!!! I take the clock of the pipeline currently running, but why i am getting this call back even i stopped the pipeline?Is there any way to rectify this? I setted up these settings in * gst-rtsp-server/gst/rtsp-server/rtsp-client.c* ...inside the *handle_play()*function. > sreerenj > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > This SF.Net email is sponsored by the Verizon Developer Community > > > Take advantage of Verizon's best-in-class app development support > > > A streamlined, 14 day to market process makes app distribution fast and > > easy > > > Join now and get one step closer to millions of Verizon customers > > > http://p.sf.net/sfu/verizon-dev2dev > > > > > > > > > > > > _______________________________________________ > > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > ------------------------------ > > > > Message: 4 > > Date: Wed, 30 Dec 2009 16:36:37 +0200 > > From: Stefan Kost > > Subject: Re: [gst-devel] gstreamer in a non-multimedia area? > > To: Discussion of the development of GStreamer > > > > Cc: Leonardo Sandoval > > Message-ID: <4B3B6575.1020707 at hora-obscura.de> > > Content-Type: text/plain; charset=ISO-8859-1 > > > > hi, > > > > Am 29.12.2009 18:18, schrieb Leonardo Sandoval: > > > Hi, > > > > > > In the past, I worked in a project which consists of joining together > > several numerical codes (codes which solve some particular physic > problem, > > like stars gravity or star mass evolution) in a single one, but this > turned > > to be a very difficult problem due to different language/technologies. > > > > > > Recently, I moved to the multimedia field using gstreamer and seems to > > be an excellent and natural 'glue' to put several things together under a > > single framework. Before I can dig deeper on this, I have a simple > question: > > in the case of galaxy dynamics, we are not talking about frames but > > 'snapshots', where each snapshot contains the information of each star > > inside a galaxy (mass, position, velocity, gas composition, etc.), i.e. > the > > state of the galaxy at some time. > > > > > > I know that gstreamer does not care about the kind of data flowing, I > > just want to know if gstreamer has been used in other fields rather than > > multimedia and if yes, which has been the experienced with this > technology. > > > > > > > I am quite sure it can be done. WHat I wonder is how gstreamer might help > > you. > > For multimedia it gives you data flow synchronisation and format > > negotiation > > (and other things). I am not sure you would need those. What would be > left > > is > > the plugin framework and some developments support. > > > > > > > > Happy new year! > > > > > Same to you. > > > > Stefan > > > > > > > > > Encuentra las mejores recetas en Yahoo! Cocina. > > > http://mx.mujer.yahoo.com/cocina/ > > > > > > > > > ------------------------------------------------------------------------------ > > > This SF.Net email is sponsored by the Verizon Developer Community > > > Take advantage of Verizon's best-in-class app development support > > > A streamlined, 14 day to market process makes app distribution fast and > > easy > > > Join now and get one step closer to millions of Verizon customers > > > http://p.sf.net/sfu/verizon-dev2dev > > > _______________________________________________ > > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > ------------------------------ > > > > Message: 5 > > Date: Wed, 30 Dec 2009 20:15:13 +0530 > > From: > > Subject: [gst-devel] H.264 decoder sink problem > > To: > > Message-ID: > > <9833F736BF212D438BF4F998F697E4D01C0B0E at BLR-SJP-MBX02.wipro.com> > > Content-Type: text/plain; charset="us-ascii" > > > > Hi , > > I am developing H264 decoder plugin. In my current pipeline i > > took filesrc, myplugin and autovideosink elements. > > i was able to decode the .H264 input file but i am not able to view the > > video on sink side. The decoded data by writing into a file and able to > > run with yuv tool. but through sink i am not able to. Could anyone > > suggest what output buffer should i create and which capabilities need i > > to set? > > > > Please its urgent... > > > > Thanks & Regards > > Mohan Reddy > > > > -------------- next part -------------- > > An HTML attachment was scrubbed... > > > > ------------------------------ > > > > Message: 6 > > Date: Wed, 30 Dec 2009 09:14:38 -0800 (PST) > > From: Leonardo Sandoval > > Subject: Re: [gst-devel] gstreamer in a non-multimedia area? > > To: Discussion of the development of GStreamer > > , Stefan Kost > > > > Message-ID: <543562.52056.qm at web50708.mail.re2.yahoo.com> > > Content-Type: text/plain; charset=iso-8859-1 > > > > I think may be gstreamer a good option at least for those two reasons you > > mentioned: > > > > * Syncronisation: for example, in a galaxy evolution, several physics > > (gravitation, star evolution, etc.) are occurring at the same time, so we > > need syncronisation to control these computations. > > > > * format negotiation: currently, different codes outputs different data > > formats so most of the time the output of one program has to be converted > in > > order to be the input of another program. Using standard formats > specified > > in the pads/caps, these can be avoided, I believe. > > > > However, there is one problem. In a multimedia, we have all the data to > be > > reproduced (encoded,decoded,etc) but in this case, starting from an > initial > > snapshot (initial conditions) an new snapshot is produced (the snapshot > at > > time t_0 + delta), then the latter is used to create the snapshot t_0 + > > 2*delta, etc, and I believe in gstreamer it is not possible that the > output > > of a right element is the input of a left element, like in this diagram: > > > > ________ ________ _______ > > | | | | | | > > --|->---| |----- | |------| |--->---| > > | |________| |________| |_______| | > > | | > > |-----------------------------------------------------| > > Ing. Leonardo SandovalCel: (044) 81 10 62 33 59Casa: (0181) 17 33 04 73 > > > > > > --- El mi? 30-dic-09, Stefan Kost escribi?: > > > > > De:: Stefan Kost > > > Asunto: Re: [gst-devel] gstreamer in a non-multimedia area? > > > A: "Discussion of the development of GStreamer" < > > gstreamer-devel at lists.sourceforge.net> > > > Cc: "Leonardo Sandoval" > > > Fecha: mi?rcoles 30 de diciembre de 2009, 8:36 > > > hi, > > > > > > Am 29.12.2009 18:18, schrieb Leonardo Sandoval: > > > > Hi, > > > > > > > > In the past, I worked in a project which consists of > > > joining together several numerical codes (codes which solve > > > some particular physic problem, like stars gravity or star > > > mass evolution) in a single one, but this turned to be a > > > very difficult problem due to different > > > language/technologies. > > > > > > > > Recently, I moved to the multimedia field using > > > gstreamer and seems? to be an excellent and natural > > > 'glue' to put several things together under a single > > > framework. Before I can dig deeper on this, I have a simple > > > question: in the case of galaxy dynamics, we are not talking > > > about frames but 'snapshots', where each snapshot contains > > > the information of each star inside a galaxy (mass, > > > position, velocity, gas composition, etc.), i.e. the > > > state? of the galaxy at some time.? > > > > > > > > I know that gstreamer does not care about the kind of > > > data flowing, I just want to know if gstreamer has been used > > > in other fields? rather than multimedia and if yes, > > > which has been the experienced with this technology. > > > > > > > > > > I am quite sure it can be done. WHat I wonder is how > > > gstreamer might help you. > > > For multimedia it gives you data flow synchronisation and > > > format negotiation > > > (and other things). I am not sure you would need those. > > > What would be left is > > > the plugin framework and some developments support. > > > > > > > > > > > Happy new year! > > > > > > > Same to you. > > > > > > Stefan > > > > > > > > > > > >? ? ???Encuentra las mejores > > > recetas en Yahoo! Cocina.? ? ? ? ? > > > ? ? ? ? ? ??? > > > > http://mx.mujer.yahoo.com/cocina/ > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > This SF.Net email is sponsored by the Verizon > > > Developer Community > > > > Take advantage of Verizon's best-in-class app > > > development support > > > > A streamlined, 14 day to market process makes app > > > distribution fast and easy > > > > Join now and get one step closer to millions of > > > Verizon customers > > > > http://p.sf.net/sfu/verizon-dev2dev > > > > _______________________________________________ > > > > gstreamer-devel mailing list > > > > gstreamer-devel at lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > > > Encuentra las mejores recetas en Yahoo! Cocina. > > http://mx.mujer.yahoo.com/cocina/ > > > > > > > > ------------------------------ > > > > Message: 7 > > Date: Wed, 30 Dec 2009 18:06:24 +0000 > > From: regomodo > > Subject: Re: [gst-devel] Playbin2 and Audio-CDs > > To: Discussion of the development of GStreamer > > > > Message-ID: <200912301806.24975.regomodo at googlemail.com> > > Content-Type: Text/Plain; charset="iso-8859-1" > > > > On Monday 28 December 2009 16:01:06 Tim-Philipp M?ller wrote: > > > On Mon, 2009-12-21 at 20:55 +0000, reg wrote: > > > > I'm trying to use playbin2 with audiocds. I can get a track to > > > > play,pause and seek fine but the moment I try and change the uri > > > > playbin2 just plays up a lot. These are the errors I get: > > > > > > > > (Gereqi.py:5019): GStreamer-WARNING **: Name queue is not unique in > bin > > > > uridecodebin0, not adding > > > > > > > > (Gereqi.py:5019): GStreamer-CRITICAL **: gst_caps_get_structure: > > > > assertion `index < caps->structs->len' failed > > > > > > > > (Gereqi.py:5019): GStreamer-CRITICAL **: gst_structure_get_name: > > > > assertion `structure != NULL' failed > > > > > > > > > > > > However, I can use playbin2 again without restarting my app. I just > > > > can't use the audio-cd until I restart my app. > > > > > > > > Is it possible to use playbin2 with audio-cd's yet? > > > > > > This was a bug, it's fixed in git now and will be in the upcoming -base > > > 0.10.26 release. > > > > > > See https://bugzilla.gnome.org/show_bug.cgi?id=605219 > > > > > > Cheers > > > -Tim > > > > > > > > > > > > > > > --------------------------------------------------------------------------- > > > --- This SF.Net email is sponsored by the Verizon Developer Community > > > Take advantage of Verizon's best-in-class app development support > > > A streamlined, 14 day to market process makes app distribution fast and > > > easy Join now and get one step closer to millions of Verizon customers > > > http://p.sf.net/sfu/verizon-dev2dev > > > _______________________________________________ > > > gstreamer-devel mailing list > > > gstreamer-devel at lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > I finally got around to trying out git. Uninstalled everything gst > related > > on > > my system and built gstreamer,gst-plugins-base and gst-python (in that > > order) > > only adding --prefix=/usr/ to ./configure. > > > > However, I get an error when I try to play a cd track: > > > > 'Error: Your GStreamer installation is missing a plug-in.', > > 'gstplaysink.c(1483): gen_audio_chain (): > > /GstPlayBin2:player/GstPlaySink:playsink0' > > > > I see this is from gst-plugins-base but I cannot see an option to > > enable/disable this. > > > > > > > > ------------------------------ > > > > > > > ------------------------------------------------------------------------------ > > This SF.Net email is sponsored by the Verizon Developer Community > > Take advantage of Verizon's best-in-class app development support > > A streamlined, 14 day to market process makes app distribution fast and > > easy > > Join now and get one step closer to millions of Verizon customers > > http://p.sf.net/sfu/verizon-dev2dev > > > > ------------------------------ > > > > _______________________________________________ > > gstreamer-devel mailing list > > gstreamer-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > End of gstreamer-devel Digest, Vol 43, Issue 47 > > *********************************************** > > > > > > -- > Sreerenj B > Software engineer,Carinov Networks Pvt Ltd > bsreerenj at gmail.com > mob: +91 9739469496 > -------------- next part -------------- > An HTML attachment was scrubbed... > > ------------------------------ > > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and > easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > > ------------------------------ > > _______________________________________________ > gstreamer-devel mailing list > gstreamer-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > End of gstreamer-devel Digest, Vol 43, Issue 49 > *********************************************** > -- Sreerenj B Software engineer,Carinov Networks Pvt Ltd bsreerenj at gmail.com mob: +91 9739469496 -------------- next part -------------- An HTML attachment was scrubbed... URL: From t.i.m at zen.co.uk Thu Dec 31 22:02:11 2009 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Thu, 31 Dec 2009 21:02:11 +0000 Subject: [gst-devel] Parsing the header to detect audio/audio&video presence In-Reply-To: References: Message-ID: <1262293331.3635.4.camel@zingle> On Thu, 2009-12-31 at 11:19 +0530, Jyoti wrote: Hi, > I have a requirement where I do need to list separately files which > contain only audio data and both audio-video data. > > I did write an application to do typefinding and list the files. > But the conflict is for files with container format as audio/x-m4a, > and MPEG4 > which can have only audio or both audio and video content but the > container format shown is common. > > The one method I tried is adding a demuxer element and looking for > pad-added signal. > But this method is consuming a bit of time if I have more files to be > listed. > So I want to know if there is any other way where I can get to know > the audio video info. There isn't, and it's not easy to fix this in 0.10 for reasons of backwards compatibility. You are free to register your own typefinders, however, that detect things in whatever way you like (that may solve the problem for m4a/etc., but doesn't solve it for the general case - it's e.g. entirely possible to have matroska files with just audio). Cheers -Tim From douglasbkaiser at yahoo.com.cn Mon Dec 21 03:50:48 2009 From: douglasbkaiser at yahoo.com.cn (dbkaiser) Date: Mon, 21 Dec 2009 02:50:48 -0000 Subject: [gst-devel] How to add dependent libraries when developing gst-plugin Message-ID: <1261363836477-975992.post@n4.nabble.com> Hi, I'm developing gst-plugin using templete. and the new plugin needs extra dynamic libraries to call, say /usr/lib/poo.so . How can I import this library into make? Please help me! Thank you very very much! -- View this message in context: http://n4.nabble.com/How-to-add-dependent-libraries-when-developing-gst-plugin-tp975992p975992.html Sent from the GStreamer-devel mailing list archive at Nabble.com. From jamart3d at gmail.com Wed Dec 23 02:29:41 2009 From: jamart3d at gmail.com (jeff martin) Date: Tue, 22 Dec 2009 17:29:41 -0800 Subject: [gst-devel] totem/gstreamer-0.10.25 ogg stream playback error Message-ID: <1f16a84f0912221729l6a3f5354s7b1bd4b2971d828c@mail.gmail.com> hi, totem http://www.sofaspace.net/stream.ogg.m3u totem/gstreamer plays this for a few minutes then,,, ** Message: Error: Internal data flow error. gstqueue.c(1177): gst_queue_loop (): /GstPlayBin:play/GstDecodeBin:decodebin0/GstQueue:queue0: streaming task paused, reason not-linked (-1) compiled/installed on moblin per http://forum.eeeuser.com/viewtopic.php?id=80212 did I configure/compile correctly or is this a known issue? thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From gst at omroepvenray.nl Sun Dec 27 22:52:06 2009 From: gst at omroepvenray.nl (gst at omroepvenray.nl) Date: Sun, 27 Dec 2009 22:52:06 +0100 (CET) Subject: [gst-devel] controlling framerate for custom src plugin In-Reply-To: <1261944268.3503.13.camel@zingle> References: <1261944268.3503.13.camel@zingle> Message-ID: <32924.84.30.217.39.1261950726.squirrel@www.omroepvenray.nl> Hi Tim, >> I could not find a plugin to capture the images from the IP >> lcamera and I started implementing my own plugin based on >> gsttcpclientsrc.c. > > It's not the kind of cam that just works with e.g. souptthpsrc > location=... ! multipartdemux ! ... ? No, unfortunately it doesn't use http but has a custom protocol to authenticate and request images. >> I'm not able to control the framerate. It is always capturing images at >> the >> highest possible speed. > > I think that's normal for a lot of these cameras. Sorry if I wasn't clear. It's not the camera that's sending images too frequent but it's gstreamer that keeps calling the _create() on my ipcamsrc element. The camera will only send an image after receiving and image request. I send this image request from within the _create() call, receive the JPEG image data and put it in a buffer. If I debug the same pipeline with e.g. videotestsrc, I see that videotestsrc generates new frames at the requested frame rate (as it should). I would like to have the same behavior for my ipcamsrc, i.e. _create() is called only when a frame is needed. > Your source should put timestamps on buffers. If it derives from > GstBaseSrc it might be enough to set the do-timestamp property to TRUE. > You can then put a videorate element into the pipeline followed by a > capsfilter with a framerate, which will drop/duplicate frames and fix up > the timestamps a bit so that you get a perfectly time-stamped stream > that's easy to feed into encoders/muxers. I removed all my own (well, copied from v4lsrc) time stamping code and enabled do-timestamp but without luck. >> The pipeline I currently use for testing: >> >> gst-launch ipcamsrc host=HOST port=8080 username=USER password=PASS ! >> jpegdec ! ffmpegcolorspace ! timeoverlay ! ximagesink > > Maybe try something like: > > ipcamsrc do-timestamp=true ... ! videorate ! image/jpeg,framerate= > \(fraction\)25/1 ! jpegdec ! ffmpegcolorspace ! timeoverlay ! > ffmpegcolorspace ! ximagesink sync=false Unfortunately this doesn't help either. But to check my understanding of how gstreamer works: the src pad of videorate should be emitting frames at exactly the specified framerate, but does it also try to negotiate this framerate on the sink pad of the videorate element? I also noticed that gst_buffer_set_caps() is called. Is it necessary/important that the correct caps are set on the buffer? In other words, what is important for the framerate (timestamp, duration, caps, ...)? > (IIRC videorate supports image/jpeg only in recent versions of > gst-plugins-base - if that's a problem you can move the videorate behind > the jpegdec.) I'm using gstreamer-plugins-base 0.10.25.1 and thus should be OK here. Best regards, Roland BTW: see http://www.omroepvenray.nl/gst/gstipcamsrc.c for latest snapshot From gst at omroepvenray.nl Mon Dec 28 09:01:47 2009 From: gst at omroepvenray.nl (gst at omroepvenray.nl) Date: Mon, 28 Dec 2009 09:01:47 +0100 (CET) Subject: [gst-devel] Display static image? In-Reply-To: References: Message-ID: <32850.84.30.205.28.1261987307.squirrel@www.omroepvenray.nl> > I'm using the videomixer plugin to create a combined video from two > incoming > video streams. Both videos are positioned horizontally next to each other. > The second video has a smaller height than the first one. Resulting in a > black rectangular area in the lower right corner of the video. > > I would like to fill this black hole with a static image. I have tried > loading an image using a filesrc linked with a jpegdec element, but the > problem is that the video gets an EOS event after having loaded the image, > so it only shows for a fraction of a second. > > Is there any way to do it? I'm currently loading all my pipelines using > the > gst-launch parser, so a solution in gst-launch syntax would be ideal. > However, I'd be willing to do it in code if needed. You can use the videobox plugin for this. See http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-videomixer.html for an example pipeline: gst-launch videotestsrc pattern=1 ! video/x-raw-yuv, framerate=\(fraction\)10/1, width=100, height=100 ! videobox border-alpha=0 alpha=0.5 top=-70 bottom=-70 right=-220 ! videomixer name=mix ! ffmpegcolorspace ! xvimagesink videotestsrc ! video/x-raw-yuv, framerate=\(fraction\)5/1, width=320, height=240 ! alpha alpha=0.7 ! mix. Best regards, Roland