[gstreamer-bugs] [Bug 612915] streaming stopped for tcp interleaved communication:

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Mar 31 23:06:54 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=612915
  GStreamer | gst-rtsp-server | git

--- Comment #16 from sreerenj <bsreerenj at gmail.com> 2010-04-01 06:06:48 UTC ---
For avoiding the EOF , i used the following temporary setting.(diff file is
pasted as the last part of this comment)

Because after a few minutes playback, client will close the POST connection.
(if we didn't give RTSP commands for a long time).Doing so frees socket and
memory resources at the server that might otherwise be unused for a long time.
But in gst-rtsp-server, it will accept as an eof, and closed the watch
functions. So there will not be any further writing process. So client side
won't get the stream there  after. 

I avoided this watch funtion close() and initiate the message recive watch
function(Inside the gst_rtsp_source_dispatch() function).So even the POST
channel (client to server channel in full duplex mode)  is closed, The Server
to client channel will be there .And the server will continue the write process
to the socket. So we will get the stream in client side . 

Whenever the client side wants to send an RTSP command ,it will create another
POST channel through a new connection. For accepting that the previous two
patches are needed I think.

Presently all working fine in my system. :)

diff --git a/gst-libs/gst/rtsp/gstrtspconnection.c
b/gst-libs/gst/rtsp/gstrtspconnection.c
index b2a30d8..2e77cdb 100644
--- a/gst-libs/gst/rtsp/gstrtspconnection.c
+++ b/gst-libs/gst/rtsp/gstrtspconnection.c
@@ -3213,9 +3213,10 @@ write_blocked:
   /* ERRORS */
 eof:
   {
-    if (watch->funcs.closed)
-      watch->funcs.closed (watch, watch->user_data);
-    return FALSE;
+
+      watch->funcs.message_received (watch, &watch->message,
+          watch->user_data);
+      return TRUE;
   }
 error:
   {

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list