Re: tcpserversrc restarting (Antoine Martin) (Antoine Martin)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: tcpserversrc restarting (Antoine Martin) (Antoine Martin)

General195
Yes,
It's normally to get merged tcp pockets. I use tcpserversrc to
receive RTP stream, and add a mark 0x000001 at RTP's header.
 So I extract RTP pockets with the mark from tcp stream.



--
Bercy Li
+8615954811012
[hidden email]


在2010-05-17 19:10:00,[hidden email] 写道: >Send gstreamer-devel mailing list submissions to > [hidden email] > >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 > [hidden email] > >You can reach the person managing the list at > [hidden email] > >When replying, please edit your Subject line so it is more specific >than "Re: Contents of gstreamer-devel digest..." > > >Today's Topics: > >   1. Re: tcpserversrc restarting (Antoine Martin) (Antoine Martin) >   2. Re: RTSP Seek and DVB subtitles (Marc Leeman) >   3. Caps problem when writing encoder/decoder (Hunterwood) > > >---------------------------------------------------------------------- > >Message: 1 >Date: Mon, 17 May 2010 11:25:14 +0700 >From: Antoine Martin <[hidden email]> >Subject: Re: [gst-devel] tcpserversrc restarting (Antoine Martin) >To: Discussion of the development of GStreamer > <[hidden email]> >Message-ID: <[hidden email]> >Content-Type: text/plain; charset=UTF-8 > >libing195 wrote: >> I have improved the tcpserversrc  to a retentive service to receive tcp data continually. >Thanks for that, the only difficulty for me is that my current code is >pure python, and I dont fancy shipping my own gst modules for all the >platforms I want to support.. > >Have you looked at getting this merged upstream? > >Cheers >Antoine > > >>  >> this is my code: >>  >> struct _GstTCPServerSrc { >>   GstPushSrc element; >>  >> //../Add some gboolean vars >> gboolean    recvError;           default = FALSE; >>  gboolean        bReconnected;  default=TRUE; >> } >>  >> Then   in    gst_tcp_server_src_create(): >>  >> static GstFlowReturn >> gst_tcp_server_src_create(GstPushSrc * psrc, >>         GstBuffer ** outbuf) { >>     GstTCPServerSrc *src; >>     GstFlowReturn ret = GST_FLOW_OK; >> /*    static gint indexPocket = 0; >>     int i = 0;*/ >>  >>     src = GST_TCP_SERVER_SRC (psrc); >>  >>     if (!GST_OBJECT_FLAG_IS_SET (src, GST_TCP_SERVER_SRC_OPEN)) >>         goto wrong_state; >>  >> restart: >>  >> //Libing begin >>     if (src->client_sock_fd.fd >= 0) { >>         if(src->recvError){ >> //            g_print("**********Client connection has closed fd=%d clientnum=%d**************\n", >> //                    src->client_sock_fd.fd, src->clientnum); >>  >>             gst_poll_remove_fd(src->fdset, &src->client_sock_fd); >>             gst_poll_fd_ctl_read(src->fdset, &src->server_sock_fd, TRUE); >>             src->client_sock_fd.fd = -1; >>             src->bReconnected = TRUE; >>         }else{ >>             /* if we have a client, wait for read */ >>             gst_poll_fd_ctl_read(src->fdset, &src->server_sock_fd, FALSE); >>             gst_poll_fd_ctl_read(src->fdset, &src->client_sock_fd, TRUE); >>         } >>  >>     } else { >>         /* else wait on server socket for connections */ >>         gst_poll_fd_ctl_read(src->fdset, &src->server_sock_fd, TRUE); >>     } >> //Libing end >>  >> //    g_print("Poll will wait!!!!~~~~~~\n"); >>  >>     /* no action (0) is an error too in our case */ >>     if ((ret = gst_poll_wait(src->fdset, GST_CLOCK_TIME_NONE)) <= 0) { >>         if (ret == -1 && errno == EBUSY) >>             goto select_cancelled; >>         else >>             goto select_error; >>     } >>  >>     /* if we have no client socket we can accept one now */ >>     if (src->client_sock_fd.fd < 0) { >>         if (gst_poll_fd_can_read(src->fdset, &src->server_sock_fd)) { >>             if ((src->client_sock_fd.fd = accept(src->server_sock_fd.fd, >>                     (struct sockaddr *) &src->client_sin, >>                     &src->client_sin_len)) == -1) >>                 goto accept_error; >>  >>             gst_poll_add_fd(src->fdset, &src->client_sock_fd); >>             src->recvError = FALSE; >>  >> /*            g_print("**********Client has connected fd=%d clientnum=%d**************\n", >>                     src->client_sock_fd.fd, src->clientnum);*/ >>         } >>         /* and restart now to poll the socket. */ >>         goto restart; >>     } >>  >>     GST_LOG_OBJECT(src, "asked for a buffer"); >>  >>     switch (src->protocol) { >>         case GST_TCP_PROTOCOL_NONE:{ >>             if((ret = gst_tcp_server_src_read_buffer(src, src->client_sock_fd.fd, >>                     src->fdset, outbuf)) == GST_FLOW_OK){ >>                 return ret; >>             }else{ >>                 g_print("____________Receive Error!\n"); >>                 close(src->client_sock_fd.fd); >>                 src->recvError = TRUE; >>                 goto restart; >>             } >>             break; >>         } >>         case GST_TCP_PROTOCOL_GDP:{ >>             if (!src->caps_received) { >>                 GstCaps *caps; >>                 gchar *string; >>  >>                 ret = gst_tcp_gdp_read_caps(GST_ELEMENT (src), >>                         src->client_sock_fd.fd, src->fdset, &caps); >>  >>                 if (ret == GST_FLOW_WRONG_STATE) >>                     goto gdp_cancelled; >>  >>                 if (ret != GST_FLOW_OK) >>                     goto gdp_caps_read_error; >>  >>                 src->caps_received = TRUE; >>                 string = gst_caps_to_string(caps); >>                 GST_DEBUG_OBJECT(src, "Received caps through GDP: %s", string); >>                 g_free(string); >>  >>                 gst_pad_set_caps(GST_BASE_SRC_PAD (psrc), caps); >>             } >>  >>             ret = gst_tcp_gdp_read_buffer(GST_ELEMENT (src), >>                     src->client_sock_fd.fd, src->fdset, outbuf); >>  >>             if (ret == GST_FLOW_OK) >>                 gst_buffer_set_caps(*outbuf, GST_PAD_CAPS (GST_BASE_SRC_PAD (src))); >>  >>             break; >>         } >>         default: >>             /* need to assert as buf == NULL */ >>             g_assert("Unhandled protocol type"); >>             break; >>     } >>  >>     if (ret == GST_FLOW_OK) { >>         GST_LOG_OBJECT    (src, >>             "Returning buffer from _get of size %d, ts %" >>             GST_TIME_FORMAT ", dur %" GST_TIME_FORMAT >>             ", offset %" G_GINT64_FORMAT ", offset_end %" G_GINT64_FORMAT, >>             GST_BUFFER_SIZE (*outbuf), >>             GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (*outbuf)), >>             GST_TIME_ARGS (GST_BUFFER_DURATION (*outbuf)), >>             GST_BUFFER_OFFSET (*outbuf), GST_BUFFER_OFFSET_END (*outbuf)); >>     } >>  >>     return ret; >>  >>     wrong_state: >>     { >>         GST_DEBUG_OBJECT (src, "connection to closed, cannot read data"); >>         return GST_FLOW_WRONG_STATE; >>     } >>     select_error: >>     { >>         GST_ELEMENT_ERROR (src, RESOURCE, READ, (NULL), >>                 ("Select error: %s", g_strerror (errno))); >>         return GST_FLOW_ERROR; >>     } >>     select_cancelled: >>     { >>         GST_DEBUG_OBJECT (src, "select canceled"); >>         return GST_FLOW_WRONG_STATE; >>     } >>     accept_error: >>     { >>         GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ, (NULL), >>                 ("Could not accept client on server socket: %s", g_strerror (errno))); >>         return GST_FLOW_ERROR; >>     } >>     gdp_cancelled: >>     { >>         GST_DEBUG_OBJECT (src, "reading gdp canceled"); >>         return GST_FLOW_WRONG_STATE; >>     } >>     gdp_caps_read_error: >>     { >>         /* if we did not get canceled, report an error */ >>         if (ret != GST_FLOW_WRONG_STATE) { >>             GST_ELEMENT_ERROR (src, RESOURCE, READ, (NULL), >>                     ("Could not read caps through GDP")); >>         } >>         return ret; >>     } >> } >>  >>  >> GstFlowReturn >> gst_tcp_server_src_read_buffer (GstTCPServerSrc* src, int socket, >>         GstPoll * fdset, GstBuffer ** buf) >>  >>  >>  >> -- >>  >> Bercy Li >> +8615954811012 >> [hidden email] >>  >>  >>  >>  >> ?2010-05-15 14:44:11?[hidden email] ??? >>> Send gstreamer-devel mailing list submissions to >>>  [hidden email] >>> >>> 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 >>>  [hidden email] >>> >>> You can reach the person managing the list at >>>  [hidden email] >>> >>> When replying, please edit your Subject line so it is more specific >>> than "Re: Contents of gstreamer-devel digest..." >>> >>> >>> Today's Topics: >>> >>>   1. tcpserversrc restarting (Antoine Martin) >>>   2. Re: GStreamer Conference 2010 (wl2776) >>>   3. Re: No EOS message at the end of file. (wl2776) >>>   4. Re: RTSP Seek and DVB subtitles (Alexander Olekhnovich) >>>   5. Framestepping backwards in MPEG2 files (wl2776) >>>   6. Pre-releases! gst-plugins-good 0.10.22.2, -ugly 0.10.14.2, >>>      -bad 0.10.18.2 (Tim-Philipp M?ller) >>>   7. Memory profiling and hunting memory leaks (Loc Nguyen) >>>   8. Re: Black-and-white output (Marco Ballesio) >>> >>> >>> ---------------------------------------------------------------------- >>> >>> Message: 1 >>> Date: Fri, 14 May 2010 18:20:28 +0700 >>> From: Antoine Martin <[hidden email]> >>> Subject: [gst-devel] tcpserversrc restarting >>> To: "[hidden email]" >>>  <[hidden email]> >>> Message-ID: <[hidden email]> >>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed >>> >>> Hi, >>> >>> I have some code largely based on this tcpserversrc example: >>> http://www.jejik.com/articles/2007/01/streaming_audio_over_tcp_with_python-gstreamer/ >>> >>> I want to ensure that it keeps working after the first client  >>> disconnects, which is not the case by default. >>> At the moment, the tcp socket shows as "listening" but any further data  >>> sent will not be processed. >>> >>> I've tried unlink()ing the decoder when receiving EOS and re-adding a  >>> new one, but it complained that that there was an existing one with the  >>> same name. How do I free the resources to start again? How about even  >>> freeing the socket? >>> >>> I would rather not switch to using RTP... But if I have to I will, how  >>> does gstrtpbin deal with multiple clients connecting? >>> >>> Thanks >>> Antoine >>> >>> >>> >>> ------------------------------ >>> >>> Message: 2 >>> Date: Fri, 14 May 2010 04:38:05 -0700 (PDT) >>> From: wl2776 <[hidden email]> >>> Subject: Re: [gst-devel] GStreamer Conference 2010 >>> To: [hidden email] >>> Message-ID: <[hidden email]> >>> Content-Type: text/plain; charset=us-ascii >>> >>> >>> Great to hear this. >>> >>> What's the registration fee? >>> --  >>> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/GStreamer-Conference-2010-tp2123970p2216448.html >>> Sent from the GStreamer-devel mailing list archive at Nabble.com. >>> >>> >>> >>> ------------------------------ >>> >>> Message: 3 >>> Date: Fri, 14 May 2010 05:34:17 -0700 (PDT) >>> From: wl2776 <[hidden email]> >>> Subject: Re: [gst-devel] No EOS message at the end of file. >>> To: [hidden email] >>> Message-ID: <[hidden email]> >>> Content-Type: text/plain; charset=us-ascii >>> >>> >>> >>> Wim Taymans wrote: >>>> On Fri, 2010-05-14 at 11:42 +0100, Giles Atkinson wrote: >>>>>  > My problem is that the EOS message doesn't appear on playbin2's bus, >>>>> after >>>>>  > some manipulations with reverse and forward playback. But the playbin2 >>>>> is >>>>>  > surely at the end of file, as reported by _query_position(). >>>> EOS should always be sent in the PLAYING state when the pipeline is EOS, >>>> if not, please file a bug with an example or a way to reproduce the >>>> strange behaviour that you are seeing. >>>> >>> Hmm... The problem is gone now. After rebuild. >>> --  >>> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/No-EOS-message-at-the-end-of-file-tp2216227p2216515.html >>> Sent from the GStreamer-devel mailing list archive at Nabble.com. >>> >>> >>> >>> ------------------------------ >>> >>> Message: 4 >>> Date: Fri, 14 May 2010 15:23:16 +0300 >>> From: Alexander Olekhnovich <[hidden email]> >>> Subject: Re: [gst-devel] RTSP Seek and DVB subtitles >>> To: Marc Leeman <[hidden email]>,  Discussion of the >>>  development of GStreamer <[hidden email]> >>> Message-ID: >>>  <[hidden email]> >>> Content-Type: text/plain; charset="iso-8859-1" >>> >>> Hi Marc, >>> >>> I think ppl are interested :) At least I would really like to have a look at >>> that. >>> >>> On Thu, May 13, 2010 at 7:24 PM, Marc Leeman <[hidden email]> wrote: >>> >>>>> Regarding dvb subtitles, there is a little bit of work going on. One >>>>> with gst-teletext to grab subtitles from teletext and another with >>>>> image subtitles. >>>> I've got a working implementation that I am willing to share if ppl are >>>> interested. >>>> >>>> You can use pango to get an approximate of a full TT page or just get >>>> the subs (page) in text format. >>>> >>>> Tested on a number of DVB-S streams with good result. >>>> >>>> -- >>>>  greetz, marc >>>> After an instrument has been assembled, extra components will be found >>>> on the bench. >>>> crichton 2.6.26 #1 PREEMPT Tue Jul 29 21:17:59 CDT 2008 GNU/Linux >>>> >>>> -----BEGIN PGP SIGNATURE----- >>>> Version: GnuPG v1.4.6 (GNU/Linux) >>>> >>>> iD8DBQFL7CfOUQpj09NWLeERAoeFAKDPbRQw/hGwVPZXD7/ll3NZdjEp8QCZAVsN >>>> 7CCwL8z16lUE6OgsbktpAWU= >>>> =lYBv >>>> -----END PGP SIGNATURE----- >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> >>>> _______________________________________________ >>>> gstreamer-devel mailing list >>>> [hidden email] >>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>>> >>>> >>> >>> --  >>> Thank you, >>> Alexander Olekhnovich >>> -------------- next part -------------- >>> An HTML attachment was scrubbed... >>> >>> ------------------------------ >>> >>> Message: 5 >>> Date: Fri, 14 May 2010 08:03:24 -0700 (PDT) >>> From: wl2776 <[hidden email]> >>> Subject: [gst-devel] Framestepping backwards in MPEG2 files >>> To: [hidden email] >>> Message-ID: <[hidden email]> >>> Content-Type: text/plain; charset=us-ascii >>> >>> >>> Is it complete? >>> My pipeline doesn't step one frame backwards. >>> >>> m_player is an instance of the playbin2. It has loaded the MPEG2 Program >>> Stream. >>> Then, the pipeline was paused before calling step_left >>> >>> void gst_player::step_left(void) >>> {GstFormat fmt=GST_FORMAT_TIME; >>> >>>  if(m_player){ >>>    if(m_current_position>=40*GST_MSECOND){ >>>      gboolean rb=gst_element_seek(m_player,-1.0,GST_FORMAT_TIME, >>>                                          >>> (GstSeekFlags)(GST_SEEK_FLAG_FLUSH|GST_SEEK_FLAG_ACCURATE), >>>                                          >>> GST_SEEK_TYPE_SET,m_current_position,GST_SEEK_TYPE_SET,m_stream_duration); >>>      GST_DEBUG("seek backwards: %d",rb); >>>      GstEvent *event = gst_event_new_step (GST_FORMAT_BUFFERS, 1, 1.0, >>> TRUE, FALSE); >>>      rb=gst_element_send_event (m_player, event); >>>      GST_DEBUG("send step event: %d",rb); >>>    } >>>  } >>> } >>> >>> >>> Both _seek and _send_event(_new_step) return TRUE. >>> However, I don't see any changes in picture on the screen.  >>> After several calls to step_left() I get the EOS. >>> What am I doing wrong? >>> --  >>> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Framestepping-backwards-in-MPEG2-files-tp2216718p2216718.html >>> Sent from the GStreamer-devel mailing list archive at Nabble.com. >>> >>> >>> >>> ------------------------------ >>> >>> Message: 6 >>> Date: Fri, 14 May 2010 20:49:47 +0100 >>> From: Tim-Philipp M?ller <[hidden email]> >>> Subject: [gst-devel] Pre-releases! gst-plugins-good 0.10.22.2, -ugly >>>  0.10.14.2, -bad 0.10.18.2 >>> To: [hidden email] >>> Message-ID: <1273866587.26703.6.camel@zingle> >>> Content-Type: text/plain; charset="UTF-8" >>> >>> Hi, >>> >>> Below the latest pre-releases for gst-plugins-good, -ugly and -bad. >>> >>> Please test them thoroughly and file blocker bugs for all regressions or >>> other major issues you find at http://gstreamer.freedesktop.org/bugs/ >>> >>> Packagers please note some plugins/elements have moved from -bad to >>> -good (imagefreeze plugin, oss4 plugin, capsfilter element). >>> >>> md5sums and links: >>> >>> 794e8d737657c60b2d6f4d44475d8b59  gst-plugins-good-0.10.22.2.tar.gz >>> 59403cd259529dee36ad09435898d80f  gst-plugins-good-0.10.22.2.tar.bz2 >>> >>> http://gstreamer.freedesktop.org/src/gst-plugins-good/pre/gst-plugins-good-0.10.22.2.tar.gz >>> http://gstreamer.freedesktop.org/src/gst-plugins-good/pre/gst-plugins-good-0.10.22.2.tar.bz2 >>> >>> bafd26e74b2bacecb59fd6c938888ed0  gst-plugins-ugly-0.10.14.2.tar.gz >>> 41bf784355cce044c0a7072c20fa053c  gst-plugins-ugly-0.10.14.2.tar.bz2 >>> >>> http://gstreamer.freedesktop.org/src/gst-plugins-ugly/pre/gst-plugins-ugly-0.10.14.2.tar.gz >>> http://gstreamer.freedesktop.org/src/gst-plugins-ugly/pre/gst-plugins-ugly-0.10.14.2.tar.bz2 >>> >>> 2f5f14c58c50e1b476fb2a31af6270c4  gst-plugins-bad-0.10.18.2.tar.gz >>> fe4fde65ed036c927427a158f0165298  gst-plugins-bad-0.10.18.2.tar.bz2 >>> >>> http://gstreamer.freedesktop.org/src/gst-plugins-bad/pre/gst-plugins-bad-0.10.18.2.tar.gz >>> http://gstreamer.freedesktop.org/src/gst-plugins-bad/pre/gst-plugins-bad-0.10.18.2.tar.bz2 >>> >>> Cheers >>> -Tim >>> >>> >>> >>> >>> >>> ------------------------------ >>> >>> Message: 7 >>> Date: Fri, 14 May 2010 16:19:22 -0700 >>> From: Loc Nguyen <[hidden email]> >>> Subject: [gst-devel] Memory profiling and hunting memory leaks >>> To: [hidden email] >>> Message-ID: <[hidden email]> >>> Content-Type: text/plain; charset=UTF-8; format=flowed >>> >>> Hey, I sent an email a few days ago but was never sent to the mailing  >>> list.  I'm trying to hunt down some memory leaks in gstreamer on  >>> Windows.  Can anyone advise on how core gstreamer devs are doing this?   >>> Any internal APIs that maybe useful for me to try? >>> >>> -Loc >>> >>> >>> >>> ------------------------------ >>> >>> Message: 8 >>> Date: Sat, 15 May 2010 09:44:04 +0300 >>> From: Marco Ballesio <[hidden email]> >>> Subject: Re: [gst-devel] Black-and-white output >>> To: Discussion of the development of GStreamer >>>  <[hidden email]> >>> Message-ID: >>>  <[hidden email]> >>> Content-Type: text/plain; charset="iso-8859-1" >>> >>> Hi, >>> >>> On Wed, May 12, 2010 at 7:11 PM, Louis-Simon Houde <[hidden email]>wrote: >>> >>>>  Hello, >>>> >>>> The question might sound completely silly for you but does gstreamer needs >>>> a video card to generate video output on command line with its gst-launch >>>> command ? >>>> >>> it shouldn't matter as long as you're not rendering the output on the card >>> itself.. can you please post the gst-launch command you're using? >>> >>> Regards >>> >>> >>>> I'm asking this question because we use gst-launch to generate video >>>> output. On one of the server, with identical command, the output is >>>> black-and-white. One of the server doesn't have any video card because it is >>>> hosted on Amazon EC2. >>>> >>>> Ubuntu versions are different also so it might be another cue. But it is >>>> the same gstreamer version on both servers. >>>> >>>> Thanks >>>> >>>> ------------------------------ >>>> 10 000 $ de magasinage avec Hotmail. Inscrivez-vous!<http://go.microsoft.com/?linkid=9729716> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> >>>> _______________________________________________ >>>> gstreamer-devel mailing list >>>> [hidden email] >>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>>> >>>> >>> -------------- next part -------------- >>> An HTML attachment was scrubbed... >>> >>> ------------------------------ >>> >>> ------------------------------------------------------------------------------ >>> >>> >>> >>> ------------------------------ >>> >>> _______________________________________________ >>> gstreamer-devel mailing list >>> [hidden email] >>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>> >>> >>> End of gstreamer-devel Digest, Vol 48, Issue 23 >>> *********************************************** >>> >>> ------------------------------------------------------------------------ >>> >>> ------------------------------------------------------------------------------ >>> >>> >>> ------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> gstreamer-devel mailing list >>> [hidden email] >>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > >------------------------------ > >Message: 2 >Date: Mon, 17 May 2010 11:04:53 +0200 >From: Marc Leeman <[hidden email]> >Subject: Re: [gst-devel] RTSP Seek and DVB subtitles >To: Alexander Olekhnovich <[hidden email]> >Cc: Discussion of the development of GStreamer > <[hidden email]> >Message-ID: <[hidden email]> >Content-Type: text/plain; charset="iso-8859-15" > >> I think ppl are interested :) At least I would really like to have a look at >> that. > >I have tested it with Western European languages (Italian, French, >German, English, Dutch); but not with Eastern (or others). > >Submitted it to gstreamer: >https://bugzilla.gnome.org/show_bug.cgi?id=618850 > >Using the pango=True parameter allows you to get an approx of the TT >page on TV (there are some issues with the gfx chars in TT that have no >counterpart in UTF8). > >--  >  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 > >------------------------------ > >Message: 3 >Date: Mon, 17 May 2010 04:09:52 -0700 (PDT) >From: Hunterwood <[hidden email]> >Subject: [gst-devel] Caps problem when writing encoder/decoder >To: [hidden email] >Message-ID: > <[hidden email]> >Content-Type: text/plain; charset="us-ascii" > > >Hi, > >I'm new to GStreamer and try to write a encoder and a decoder for a compressed audio format. But I have problems to get the Caps-negotiation to work. >I base the code on the gst-template and have basically been looking at the alawenc/alawdec as my example. > >Everything works fine if I use "ANY" or "audio/x-raw-int" in the source of the encoder and sink of the decoder: >static GstStaticPadTemplate gtest_enc_src_factory = GST_STATIC_PAD_TEMPLATE ("src", >    GST_PAD_SRC, >    GST_PAD_ALWAYS, >    GST_STATIC_CAPS ("ANY") >static GstStaticPadTemplate gtest_dec_sink_factory = GST_STATIC_PAD_TEMPLATE ("sink", >    GST_PAD_SINK, >    GST_PAD_ALWAYS, >    GST_STATIC_CAPS ("ANY") > >But when I change the MIME-type to something else, like for example "audio/mytesttype", I get the error "WARNING: erroneous pipeline: could not link gtestenc0 to gtestdec0". >I'm using the pipeline: >gst-launch-0.10.exe audiotestsrc ! gtestenc ! gtestdec ! audioresample ! autoaudiosink > >I get the same error if I only change one of the two caps:es and keep the other one as ANY. >What have I missed? Do I need to register my new type in some way, or what could be the problem? > >Markus > >--  >View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Caps-problem-when-writing-encoder-decoder-tp2219436p2219436.html >Sent from the GStreamer-devel mailing list archive at Nabble.com. >-------------- next part -------------- >An HTML attachment was scrubbed... > >------------------------------ > >------------------------------------------------------------------------------ > > > >------------------------------ > >_______________________________________________ >gstreamer-devel mailing list >[hidden email] >https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > >End of gstreamer-devel Digest, Vol 48, Issue 27 >***********************************************



网易为中小企业免费提供企业邮箱(自主域名)

------------------------------------------------------------------------------


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel