From 41e31ab204ca48ea749c416eb270ebfa2f74b086 Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Wed, 7 May 2008 01:23:16 +0000 Subject: Rename rtsp.{c,h} to rtsp_client.{c,h}. Renate pa_rtsp_context to pa_rtsp_client. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2376 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/modules/rtp/rtsp_client.h | 74 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/modules/rtp/rtsp_client.h (limited to 'src/modules/rtp/rtsp_client.h') diff --git a/src/modules/rtp/rtsp_client.h b/src/modules/rtp/rtsp_client.h new file mode 100644 index 00000000..0f1daabd --- /dev/null +++ b/src/modules/rtp/rtsp_client.h @@ -0,0 +1,74 @@ +#ifndef foortspclienthfoo +#define foortspclienthfoo + +/* $Id$ */ + +/*** + This file is part of PulseAudio. + + Copyright 2008 Colin Guthrie + + PulseAudio is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2 of the License, + or (at your option) any later version. + + PulseAudio is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with PulseAudio; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "headerlist.h" + +typedef struct pa_rtsp_client pa_rtsp_client; +typedef enum { + STATE_CONNECT, + STATE_ANNOUNCE, + STATE_SETUP, + STATE_RECORD, + STATE_TEARDOWN, + STATE_SET_PARAMETER, + STATE_FLUSH +} pa_rtsp_state; +typedef void (*pa_rtsp_cb_t)(pa_rtsp_client *c, pa_rtsp_state state, pa_headerlist* hl, void *userdata); + +pa_rtsp_client* pa_rtsp_client_new(const char* useragent); +void pa_rtsp_client_free(pa_rtsp_client* c); + +int pa_rtsp_connect(pa_rtsp_client* c, pa_mainloop_api *mainloop, const char* hostname, uint16_t port); +void pa_rtsp_set_callback(pa_rtsp_client *c, pa_rtsp_cb_t callback, void *userdata); + +void pa_rtsp_disconnect(pa_rtsp_client* c); + +const char* pa_rtsp_localip(pa_rtsp_client* c); +uint32_t pa_rtsp_serverport(pa_rtsp_client* c); +void pa_rtsp_set_url(pa_rtsp_client* c, const char* url); +void pa_rtsp_add_header(pa_rtsp_client *c, const char* key, const char* value); +void pa_rtsp_remove_header(pa_rtsp_client *c, const char* key); + +int pa_rtsp_announce(pa_rtsp_client* c, const char* sdp); + +int pa_rtsp_setup(pa_rtsp_client* c); +int pa_rtsp_record(pa_rtsp_client* c); +int pa_rtsp_teardown(pa_rtsp_client* c); + +int pa_rtsp_setparameter(pa_rtsp_client* c, const char* param); +int pa_rtsp_flush(pa_rtsp_client* c); + +#endif -- cgit From 899492c31581f5591cd9437052dda15ad02ec0ac Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Sun, 11 May 2008 14:18:48 +0000 Subject: Add a new callback structure to propigate when the RTSP connection dies git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2402 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/modules/rtp/rtsp_client.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/modules/rtp/rtsp_client.h') diff --git a/src/modules/rtp/rtsp_client.h b/src/modules/rtp/rtsp_client.h index 0f1daabd..3c5280c2 100644 --- a/src/modules/rtp/rtsp_client.h +++ b/src/modules/rtp/rtsp_client.h @@ -44,7 +44,8 @@ typedef enum { STATE_RECORD, STATE_TEARDOWN, STATE_SET_PARAMETER, - STATE_FLUSH + STATE_FLUSH, + STATE_DISCONNECTED } pa_rtsp_state; typedef void (*pa_rtsp_cb_t)(pa_rtsp_client *c, pa_rtsp_state state, pa_headerlist* hl, void *userdata); -- cgit From 5f527dc47944bbd97a49e8d89427d09850b28e5d Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Mon, 9 Jun 2008 21:59:41 +0000 Subject: Add seq and rtptime params to record/flush with a view to using these for timing and device suspension git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2500 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/modules/rtp/rtsp_client.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/modules/rtp/rtsp_client.h') diff --git a/src/modules/rtp/rtsp_client.h b/src/modules/rtp/rtsp_client.h index 3c5280c2..55540180 100644 --- a/src/modules/rtp/rtsp_client.h +++ b/src/modules/rtp/rtsp_client.h @@ -66,10 +66,10 @@ void pa_rtsp_remove_header(pa_rtsp_client *c, const char* key); int pa_rtsp_announce(pa_rtsp_client* c, const char* sdp); int pa_rtsp_setup(pa_rtsp_client* c); -int pa_rtsp_record(pa_rtsp_client* c); +int pa_rtsp_record(pa_rtsp_client* c, uint16_t* seq, uint32_t* rtptime); int pa_rtsp_teardown(pa_rtsp_client* c); int pa_rtsp_setparameter(pa_rtsp_client* c, const char* param); -int pa_rtsp_flush(pa_rtsp_client* c); +int pa_rtsp_flush(pa_rtsp_client* c, uint16_t seq, uint32_t rtptime); #endif -- cgit From d86fc75e0cbc9d102dc000d2781f9dfddc89fbbf Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Tue, 10 Jun 2008 23:49:35 +0000 Subject: Change the API of the RTSP client a bit. * Store the mainloop, hostname and port internally on construction * This should allow use to easily reconnect if disconnected although this has thus far proved unreliable. The changes look like more than they are due to moving a function around. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2502 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/modules/rtp/rtsp_client.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/modules/rtp/rtsp_client.h') diff --git a/src/modules/rtp/rtsp_client.h b/src/modules/rtp/rtsp_client.h index 55540180..dcc9209c 100644 --- a/src/modules/rtp/rtsp_client.h +++ b/src/modules/rtp/rtsp_client.h @@ -42,17 +42,17 @@ typedef enum { STATE_ANNOUNCE, STATE_SETUP, STATE_RECORD, + STATE_FLUSH, STATE_TEARDOWN, STATE_SET_PARAMETER, - STATE_FLUSH, STATE_DISCONNECTED } pa_rtsp_state; typedef void (*pa_rtsp_cb_t)(pa_rtsp_client *c, pa_rtsp_state state, pa_headerlist* hl, void *userdata); -pa_rtsp_client* pa_rtsp_client_new(const char* useragent); +pa_rtsp_client* pa_rtsp_client_new(pa_mainloop_api *mainloop, const char* hostname, uint16_t port, const char* useragent); void pa_rtsp_client_free(pa_rtsp_client* c); -int pa_rtsp_connect(pa_rtsp_client* c, pa_mainloop_api *mainloop, const char* hostname, uint16_t port); +int pa_rtsp_connect(pa_rtsp_client* c); void pa_rtsp_set_callback(pa_rtsp_client *c, pa_rtsp_cb_t callback, void *userdata); void pa_rtsp_disconnect(pa_rtsp_client* c); -- cgit From c3d8bb5b34c45f4dda594cc1d8107cac468fa232 Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Sun, 3 Aug 2008 20:56:21 +0100 Subject: Remove $Id$ lines left over from SVN --- src/modules/rtp/rtsp_client.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/modules/rtp/rtsp_client.h') diff --git a/src/modules/rtp/rtsp_client.h b/src/modules/rtp/rtsp_client.h index dcc9209c..88fb3839 100644 --- a/src/modules/rtp/rtsp_client.h +++ b/src/modules/rtp/rtsp_client.h @@ -1,8 +1,6 @@ #ifndef foortspclienthfoo #define foortspclienthfoo -/* $Id$ */ - /*** This file is part of PulseAudio. -- cgit