1. 27 Jun, 2007 1 commit
    • Wim Taymans's avatar
      gst/rtsp/gstrtspsrc.*: For container formats we only need to activate one of... · cf20f497
      Wim Taymans authored
      gst/rtsp/gstrtspsrc.*: For container formats we only need to activate one of the streams so that we correctly signal ...
      
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream),
      (new_session_pad), (gst_rtspsrc_setup_streams):
      * gst/rtsp/gstrtspsrc.h:
      For container formats we only need to activate one of the streams so
      that we correctly signal no-more-pads. Fixes #451015.
      cf20f497
  2. 18 May, 2007 1 commit
    • Wim Taymans's avatar
      gst/rtsp/gstrtspsrc.*: Add TCP timeout property and use it for all TCP connection. · e04f7a82
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init),
      (gst_rtspsrc_set_property), (gst_rtspsrc_get_property),
      (gst_rtspsrc_stream_configure_udp), (gst_rtspsrc_loop_interleaved),
      (gst_rtspsrc_loop_udp), (gst_rtspsrc_try_send), (gst_rtspsrc_send),
      (gst_rtspsrc_setup_streams), (gst_rtspsrc_open):
      * gst/rtsp/gstrtspsrc.h:
      Add TCP timeout property and use it for all TCP connection.
      * gst/rtsp/rtspconnection.c: (rtsp_connection_connect),
      (rtsp_connection_write), (rtsp_connection_next_timeout),
      (rtsp_connection_reset_timeout):
      Make connect and writes cancelable and make them use the timeout.
      e04f7a82
  3. 12 May, 2007 1 commit
    • Peter Kjellerstedt's avatar
      gst/rtsp/: Make channel guint8 where possible. · 7ef62aac
      Peter Kjellerstedt authored
      Original commit message from CVS:
      Patch by: Peter Kjellerstedt  <pkj at axis com>
      * gst/rtsp/gstrtspsrc.h:
      * gst/rtsp/rtspconnection.c: (rtsp_connection_receive):
      * gst/rtsp/rtspmessage.c: (rtsp_message_init_data),
      (rtsp_message_get_header):
      * gst/rtsp/rtspmessage.h:
      Make channel guint8 where possible.
      Make rtsp_message_init_data() take the channel as a guint8.
      * gst/rtsp/rtspdefs.c:
      Fixed a typo: Timout -> Timeout
      * gst/rtsp/rtspdefs.h:
      Make RTSP_CHECK() behave as a statement.
      * gst/rtsp/sdpmessage.c:
      Avoid a compiler warning in INIT_ARRAY().
      Fixes #437692.
      7ef62aac
  4. 11 May, 2007 1 commit
    • Wim Taymans's avatar
      gst/rtsp/: Preliminary seek support. · 02fa0a79
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_flush),
      (gst_rtspsrc_do_seek), (gst_rtspsrc_perform_seek),
      (gst_rtspsrc_handle_src_event),
      (gst_rtspsrc_stream_configure_manager),
      (gst_rtspsrc_stream_configure_tcp), (gst_rtspsrc_loop_interleaved),
      (gst_rtspsrc_send_keep_alive), (gst_rtspsrc_open),
      (gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play):
      * gst/rtsp/gstrtspsrc.h:
      * gst/rtsp/rtspdefs.h:
      Preliminary seek support.
      Activate internal pads so that we can receive events on them.
      Don't try to parse a range string when it's NULL.
      02fa0a79
  5. 02 May, 2007 2 commits
    • Wim Taymans's avatar
      gst/rtsp/gstrtspsrc.*: Fix race when multiple udp sources post timeouts, just... · 24e51b3c
      Wim Taymans authored
      gst/rtsp/gstrtspsrc.*: Fix race when multiple udp sources post timeouts, just act on the first received timeout.
      
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init),
      (gst_rtspsrc_finalize), (new_session_pad), (request_pt_map),
      (gst_rtspsrc_loop_send_cmd), (gst_rtspsrc_try_send),
      (gst_rtspsrc_send), (gst_rtspsrc_async_open), (gst_rtspsrc_close),
      (gst_rtspsrc_play), (gst_rtspsrc_handle_message),
      (gst_rtspsrc_change_state):
      * gst/rtsp/gstrtspsrc.h:
      Fix race when multiple udp sources post timeouts, just act on the first
      received timeout.
      Protect stream list with a recursive lock to fix some races.
      Flush connection when we need to do a reconnect or stop.
      Make state lock recursive.
      * gst/rtsp/rtspconnection.c: (rtsp_connection_connect),
      (rtsp_connection_close):
      Some small cleanups.
      24e51b3c
    • Wim Taymans's avatar
      gst/rtsp/gstrtspsrc.*: Fix sending RTCP to the right place. · 92396be1
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init),
      (gst_rtspsrc_finalize), (gst_rtspsrc_stream_configure_transport),
      (gst_rtspsrc_handle_request), (gst_rtspsrc_loop_interleaved),
      (gst_rtspsrc_send_keep_alive), (gst_rtspsrc_loop_udp),
      (gst_rtspsrc_loop_send_cmd), (gst_rtspsrc_try_send),
      (gst_rtspsrc_open), (gst_rtspsrc_handle_message):
      * gst/rtsp/gstrtspsrc.h:
      Fix sending RTCP to the right place.
      Fix bug in reffing the wrong UDP element.
      Use new pad names for the session manager.
      Implement handling server requests in interleaved and UDP modes.
      Handle session keep-alive in UDP modes.
      Remove GCond for handling UDP timeouts.
      * gst/rtsp/rtspconnection.c: (rtsp_connection_connect),
      (rtsp_connection_send), (rtsp_connection_read), (read_body),
      (rtsp_connection_receive), (rtsp_connection_close):
      * gst/rtsp/rtspconnection.h:
      Store connection IP address for later.
      Add timeout args to all operations that might block forever.
      Parse session timeout.
      Only close sockets when not already closed.
      * gst/rtsp/rtspdefs.c:
      * gst/rtsp/rtspdefs.h:
      Add timeout return value and error string.
      * gst/rtsp/rtspmessage.c: (rtsp_message_init_response):
      Add small comment.
      92396be1
  6. 26 Apr, 2007 1 commit
    • Wim Taymans's avatar
      gst/rtsp/gstrtspsrc.*: Protect state changes with a lock. · 530f214b
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init),
      (gst_rtspsrc_finalize), (gst_rtspsrc_stream_configure_transport),
      (gst_rtspsrc_open), (gst_rtspsrc_close),
      (gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play),
      (gst_rtspsrc_pause):
      * gst/rtsp/gstrtspsrc.h:
      Protect state changes with a lock.
      * gst/rtsp/rtspconnection.c: (rtsp_connection_create),
      (parse_line):
      * gst/rtsp/rtspconnection.h:
      Remove some unused stuff.
      530f214b
  7. 25 Apr, 2007 2 commits
    • Wim Taymans's avatar
      gst/rtsp/gstrtpdec.*: Add dummy latency property to be backwards compat with rtpbin. · 6937be1a
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/gstrtpdec.c: (gst_rtp_dec_class_init),
      (gst_rtp_dec_init), (gst_rtp_dec_set_property),
      (gst_rtp_dec_get_property):
      * gst/rtsp/gstrtpdec.h:
      Add dummy latency property to be backwards compat with rtpbin.
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init),
      (gst_rtspsrc_set_property), (gst_rtspsrc_get_property),
      (gst_rtspsrc_stream_configure_transport),
      (gst_rtspsrc_parse_rtpinfo):
      * gst/rtsp/gstrtspsrc.h:
      Add latency property and configure in the session manager.
      Don't set invalid clock-base and seqnum-base on caps, some servers
      sometimes don't send them.
      6937be1a
    • Wim Taymans's avatar
      gst/rtsp/gstrtspsrc.*: Parse server address from SDP. · 1beeda3f
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_finalize),
      (gst_rtspsrc_stream_free), (request_pt_map),
      (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_open):
      * gst/rtsp/gstrtspsrc.h:
      Parse server address from SDP.
      Hook up a udpsink to send RTCP back to the server.
      * docs/plugins/gst-plugins-good-plugins-sections.txt:
      * gst/rtsp/rtsptransport.h:
      Add some docs.
      1beeda3f
  8. 12 Apr, 2007 1 commit
    • Wim Taymans's avatar
      gst/rtsp/gstrtpdec.*: Make backward compat with rtpbin by adding the request-pt-map signals. · 86a4c1c6
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/gstrtpdec.c: (gst_rtp_dec_marshal_BOXED__UINT_UINT),
      (gst_rtp_dec_class_init), (gst_rtp_dec_chain_rtp):
      * gst/rtsp/gstrtpdec.h:
      Make backward compat with rtpbin by adding the request-pt-map signals.
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream),
      (new_session_pad), (request_pt_map),
      (gst_rtspsrc_stream_configure_transport),
      (gst_rtspsrc_stream_configure_caps),
      (gst_rtspsrc_activate_streams):
      * gst/rtsp/gstrtspsrc.h:
      Implement request-pt-map signals instead of setting caps on the buffers
      for the session manager.
      86a4c1c6
  9. 06 Apr, 2007 1 commit
    • Wim Taymans's avatar
      gst/rtsp/: Morph RTPDec into something compatible with RTPBin as a fallback. · f80444aa
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/Makefile.am:
      * gst/rtsp/gstrtpdec.c: (find_session_by_id), (create_session),
      (free_session), (gst_rtp_dec_base_init), (gst_rtp_dec_class_init),
      (gst_rtp_dec_init), (gst_rtp_dec_finalize),
      (gst_rtp_dec_query_src), (gst_rtp_dec_chain_rtp),
      (gst_rtp_dec_chain_rtcp), (gst_rtp_dec_set_property),
      (gst_rtp_dec_get_property), (gst_rtp_dec_provide_clock),
      (gst_rtp_dec_change_state), (create_recv_rtp), (create_recv_rtcp),
      (create_rtcp), (gst_rtp_dec_request_new_pad),
      (gst_rtp_dec_release_pad):
      * gst/rtsp/gstrtpdec.h:
      * gst/rtsp/gstrtsp.c: (plugin_init):
      Morph RTPDec into something compatible with RTPBin as a fallback.
      Various other style fixes.
      * gst/rtsp/gstrtspsrc.c: (find_stream_by_id),
      (find_stream_by_udpsrc), (gst_rtspsrc_stream_free),
      (gst_rtspsrc_cleanup), (gst_rtspsrc_media_to_caps),
      (new_session_pad), (gst_rtspsrc_stream_configure_transport),
      (gst_rtspsrc_activate_streams), (gst_rtspsrc_loop_interleaved),
      (gst_rtspsrc_loop_udp), (gst_rtspsrc_setup_auth),
      (gst_rtspsrc_handle_message), (gst_rtspsrc_change_state):
      * gst/rtsp/gstrtspsrc.h:
      Implement RTPBin session manager handling.
      Don't try to add empty properties to caps.
      Implement fallback session manager, handling.
      Don't combine errors from RTCP streams, just ignore them.
      * gst/rtsp/rtsptransport.c: (rtsp_transport_get_manager):
      * gst/rtsp/rtsptransport.h:
      Implement fallback session manager.
      Make RTPBin the default one when available.
      f80444aa
  10. 25 Mar, 2007 1 commit
    • Wim Taymans's avatar
      gst/rtsp/gstrtspsrc.*: Handle default clock-rates for static payload types,... · 8f5fb88b
      Wim Taymans authored
      gst/rtsp/gstrtspsrc.*: Handle default clock-rates for static payload types, rearrange stuff so that the rtpmap field ...
      
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (find_stream_by_setup),
      (gst_rtspsrc_create_stream), (gst_rtspsrc_stream_free),
      (get_default_rate_for_pt), (gst_rtspsrc_parse_rtpmap),
      (gst_rtspsrc_media_to_caps),
      (gst_rtspsrc_stream_configure_transport),
      (gst_rtspsrc_stream_configure_caps),
      (gst_rtspsrc_activate_streams), (gst_rtspsrc_parse_rtpinfo):
      * gst/rtsp/gstrtspsrc.h:
      Handle default clock-rates for static payload types, rearrange stuff so
      that the rtpmap field in the sdp can override the defaults.
      Parse RTP-Info field to get the seqnum and timebase fields that should
      go in the caps.
      Delay configuring caps after we got the RTP-Info from the PLAY reply from
      the server.
      8f5fb88b
  11. 23 Feb, 2007 1 commit
    • Jan Schmidt's avatar
      gst/rtsp/: Implement simple Basic Authentication support so that urls like... · 66df66da
      Jan Schmidt authored
      gst/rtsp/: Implement simple Basic Authentication support so that urls like rtsp://user:pass@hostname/rtspstream work ...
      
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_finalize),
      (gst_rtspsrc_create_stream), (rtsp_auth_method_to_string),
      (gst_rtspsrc_parse_auth_hdr), (gst_rtspsrc_setup_auth),
      (gst_rtspsrc_send), (gst_rtspsrc_try_send), (gst_rtspsrc_open),
      (gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause),
      (gst_rtspsrc_uri_set_uri):
      * gst/rtsp/gstrtspsrc.h:
      * gst/rtsp/rtspconnection.c: (rtsp_connection_create),
      (append_auth_header), (rtsp_connection_send),
      (rtsp_connection_free), (rtsp_connection_set_auth):
      * gst/rtsp/rtspconnection.h:
      * gst/rtsp/rtspdefs.h:
      * gst/rtsp/rtspurl.c: (rtsp_url_get_request_uri):
      * gst/rtsp/rtspurl.h:
      Implement simple Basic Authentication support so that urls like
      rtsp://user:pass@hostname/rtspstream work on hosts that require
      authentication.
      66df66da
  12. 24 Jan, 2007 1 commit
  13. 10 Jan, 2007 1 commit
    • Peter Kjellerstedt's avatar
      gst/rtsp/: Allow url to be NULL to be able to use it for server connections. · 12ab127d
      Peter Kjellerstedt authored
      Original commit message from CVS:
      Patch by: Peter Kjellerstedt  <pkj at axis com>
      * gst/rtsp/COPYING.MIT:
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream),
      (gst_rtspsrc_stream_free), (gst_rtspsrc_cleanup),
      (gst_rtspsrc_alloc_udp_ports), (pad_unblocked), (pad_blocked),
      (gst_rtspsrc_stream_configure_transport),
      (gst_rtspsrc_activate_streams), (gst_rtspsrc_loop_interleaved),
      (gst_rtspsrc_loop_udp), (gst_rtspsrc_send),
      (gst_rtspsrc_parse_methods),
      (gst_rtspsrc_create_transports_string),
      (gst_rtspsrc_prepare_transports), (gst_rtspsrc_setup_streams),
      (gst_rtspsrc_open), (gst_rtspsrc_close):
      * gst/rtsp/gstrtspsrc.h:
      * gst/rtsp/rtspconnection.c: (rtsp_connection_create),
      (rtsp_connection_connect), (rtsp_connection_send), (read_line),
      (parse_request_line), (parse_line), (rtsp_connection_read),
      (rtsp_connection_close):
      * gst/rtsp/rtspdefs.c: (rtsp_init_status), (rtsp_strresult),
      (rtsp_method_as_text), (rtsp_header_as_text),
      (rtsp_status_as_text), (rtsp_find_header_field),
      (rtsp_find_method):
      * gst/rtsp/rtspdefs.h:
      * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_after_send),
      (rtsp_ext_wms_configure_stream):
      * gst/rtsp/rtspmessage.c: (rtsp_message_new), (rtsp_message_init),
      (rtsp_message_new_request), (rtsp_message_init_request),
      (rtsp_message_new_response), (rtsp_message_init_response),
      (rtsp_message_init_data), (rtsp_message_unset),
      (rtsp_message_free), (rtsp_message_add_header),
      (rtsp_message_get_header), (rtsp_message_set_body),
      (rtsp_message_get_body), (dump_mem), (rtsp_message_dump):
      * gst/rtsp/rtspmessage.h:
      * gst/rtsp/sdpmessage.c: (sdp_message_get_attribute_val_n),
      (sdp_media_get_attribute_val_n), (read_string), (read_string_del),
      (sdp_parse_line), (sdp_message_parse_buffer), (print_media),
      (sdp_message_dump):
      Allow url to be NULL to be able to use it for server connections.
      Can now send responses as well as requests.
      No longer hangs in an endless loop if EOF is received.
      Can now convert a status code to a text string.
      Return RTSP_HDR_INVALID for unknown headers.
      Return RTSP_INVALID for unknown methods.
      Copy CSeq and Session headers from the request.
      Only free memory corresponding to the currently set message type.
      Added const to function arguments as appropriate.
      Avoid a compiler warning when initializing nmedia.
      Use guint rather than gint to avoid compiler warnings.
      Fix crasher in wms extension.
      Factor out stream setup from open_connection.
      Delay activation of streams when actual data is received from the
      server, this prepares us to do proper protocol switching.
      Added new license.
      Fixes #380895.
      12ab127d
  14. 28 Nov, 2006 1 commit
    • Wim Taymans's avatar
      gst/rtsp/: Add method so that extensions can choose to disable the setup of a stream. · f249d639
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_open):
      * gst/rtsp/gstrtspsrc.h:
      * gst/rtsp/rtspext.h:
      * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_configure_stream),
      (rtsp_ext_wms_get_context):
      Add method so that extensions can choose to disable the setup of
      a stream.
      Make the WMS extension skip setup of x-wms-rtx streams. Fixes #377792.
      f249d639
  15. 11 Oct, 2006 1 commit
    • Wim Taymans's avatar
      gst/rtsp/URLS: Added some other URL. · 7accf76d
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/URLS:
      Added some other URL.
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_loop_udp),
      (gst_rtspsrc_handle_request), (gst_rtspsrc_send),
      (gst_rtspsrc_open), (gst_rtspsrc_play),
      (gst_rtspsrc_handle_message), (gst_rtspsrc_change_state):
      * gst/rtsp/gstrtspsrc.h:
      Work on fallback to TCP connection when the UDP socket times out.
      Handler server requests, just reply with OK for now.
      * gst/rtsp/rtspdefs.c: (rtsp_strresult):
      * gst/rtsp/rtspdefs.h:
      Added some more Real extension headers.
      * gst/rtsp/rtspurl.c: (rtsp_url_parse):
      Fix parsing of urls with a ':' that is not part of the hostname:port
      part of the url.
      7accf76d
  16. 06 Oct, 2006 1 commit
    • Wim Taymans's avatar
      gst/rtsp/gstrtspsrc.*: Rework how the transport string is constructed, try to... · a600d311
      Wim Taymans authored
      gst/rtsp/gstrtspsrc.*: Rework how the transport string is constructed, try to share channels and udp ports.
      
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (gst_rtsp_proto_get_type),
      (gst_rtspsrc_class_init), (gst_rtspsrc_init),
      (gst_rtspsrc_create_stream), (gst_rtspsrc_media_to_caps),
      (gst_rtspsrc_alloc_udp_ports),
      (gst_rtspsrc_stream_configure_transport), (find_stream_by_channel),
      (gst_rtspsrc_push_event), (gst_rtspsrc_loop_interleaved),
      (gst_rtspsrc_create_transports_string),
      (gst_rtspsrc_configure_transports), (gst_rtspsrc_open),
      (gst_rtspsrc_handle_message), (gst_rtspsrc_change_state):
      * gst/rtsp/gstrtspsrc.h:
      Rework how the transport string is constructed, try to share channels
      and udp ports.
      Make most of the stuff less dependant on RTP as we are also going to use
      it for RDT.
      Add support for transport specific session managers.
      * gst/rtsp/rtspconnection.c: (rtsp_connection_flush):
      Implement _flush().
      * gst/rtsp/rtspdefs.c: (rtsp_strresult):
      * gst/rtsp/rtspdefs.h:
      Add generic error return code.
      * gst/rtsp/rtspext.h:
      Add support for pluggable tranport strings.
      * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_before_send),
      (rtsp_ext_wms_after_send), (rtsp_ext_wms_parse_sdp),
      (rtsp_ext_wms_get_context):
      Detect WMServer and activate the extension.
      * gst/rtsp/rtsptransport.c: (rtsp_transport_get_mime),
      (rtsp_transport_get_manager), (rtsp_transport_parse):
      * gst/rtsp/rtsptransport.h:
      Added methods to get mime/manager for certain transports.
      a600d311
  17. 04 Oct, 2006 1 commit
    • Wim Taymans's avatar
      gst/rtsp/: Factor out extension in separate module. · 63c87f18
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/Makefile.am:
      * gst/rtsp/gstrtpdec.c: (gst_rtpdec_getcaps),
      (gst_rtpdec_chain_rtp), (gst_rtpdec_chain_rtcp):
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init),
      (gst_rtspsrc_finalize), (gst_rtspsrc_create_stream),
      (gst_rtspsrc_parse_rtpmap),
      (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_send),
      (gst_rtspsrc_parse_methods), (gst_rtspsrc_open),
      (gst_rtspsrc_play), (gst_rtspsrc_handle_message):
      * gst/rtsp/gstrtspsrc.h:
      * gst/rtsp/rtspdefs.c: (rtsp_strresult):
      * gst/rtsp/rtspdefs.h:
      * gst/rtsp/rtspext.h:
      * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_parse_sdp),
      (rtsp_ext_wms_get_context):
      * gst/rtsp/rtspextwms.h:
      * gst/rtsp/rtsptransport.c: (rtsp_transport_init), (parse_mode),
      (rtsp_transport_parse):
      * gst/rtsp/rtsptransport.h:
      Factor out extension in separate module.
      Fix getcaps to filter against the padtemplate.
      Use Content-Base if the server gives one.
      Rework the transport parsing a bit for future extensions.
      Added some Real Header field definitions.
      63c87f18
  18. 29 Sep, 2006 1 commit
    • Wim Taymans's avatar
      gst/rtsp/URLS: Add some more URLs. · 6e085503
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/URLS:
      Add some more URLs.
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init),
      (gst_rtspsrc_init), (gst_rtspsrc_finalize),
      (gst_rtspsrc_set_property), (gst_rtspsrc_get_property),
      (gst_rtspsrc_stream_setup_rtp), (gst_rtspsrc_loop_interleaved),
      (gst_rtspsrc_loop_udp), (gst_rtspsrc_loop_send_cmd),
      (gst_rtspsrc_loop), (gst_rtspsrc_send),
      (gst_rtspsrc_parse_methods), (gst_rtspsrc_open),
      (gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause),
      (gst_rtspsrc_handle_message), (gst_rtspsrc_change_state):
      * gst/rtsp/gstrtspsrc.h:
      Add timeout property to control UDP timeouts.
      Fix error messages.
      Also start a loop function when operating in UDP mode so that we can
      do some more stuff async.
      Handle element messages from udpsrc to detect timeouts. If a timeout
      happens we currently generate an error.
      API: rtspsrc::timeout property.
      * gst/udp/gstudpsrc.c: (gst_udpsrc_class_init),
      (gst_udpsrc_create):
      Really implement the timeout in microseconds and not milliseconds.
      6e085503
  19. 20 Sep, 2006 1 commit
    • Wim Taymans's avatar
      gst/rtsp/URLS: Added some test URLS. · a365a29c
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/URLS:
      Added some test URLS.
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream),
      (gst_rtspsrc_loop), (gst_rtspsrc_open):
      * gst/rtsp/gstrtspsrc.h:
      When creating streams, give access to the complete SDP.
      Fix some leaks.
      Collect and merge global stream properties in stream caps.
      Preliminary support for WMServer.
      * gst/rtsp/rtspconnection.c: (rtsp_connection_create),
      (rtsp_connection_connect), (rtsp_connection_read), (read_body),
      (rtsp_connection_receive):
      * gst/rtsp/rtspconnection.h:
      Make connection interruptable.
      Refactor to make it reconnectable.
      Don't fail on short reads when reading data packets.
      * gst/rtsp/rtspurl.c: (rtsp_url_parse), (rtsp_url_set_port),
      (rtsp_url_get_port):
      * gst/rtsp/rtspurl.h:
      Add methods for getting/setting the port.
      * gst/rtsp/sdpmessage.c: (sdp_message_get_attribute_val_n),
      (sdp_message_get_attribute_val), (sdp_media_get_attribute),
      (sdp_media_get_attribute_val_n), (sdp_media_get_attribute_val),
      (sdp_media_get_format), (sdp_parse_line),
      (sdp_message_parse_buffer):
      Fix headers.
      Add methods for getting multiple attributes with the same name.
      Increase buffer size when parsing.
      Fix parsing of a=foo fields.
      * gst/rtsp/test.c: (main):
      Update to new connection API.
      * gst/rtsp/rtspmessage.c: (rtsp_message_new_response),
      (rtsp_message_init_response), (rtsp_message_init_data),
      (rtsp_message_unset), (rtsp_message_free), (rtsp_message_dump):
      * gst/rtsp/rtspmessage.h:
      * gst/rtsp/rtsptransport.c: (rtsp_transport_free):
      * gst/rtsp/rtsptransport.h:
      * gst/rtsp/sdp.h:
      * gst/rtsp/sdpmessage.h:
      * gst/rtsp/gstrtsp.c:
      * gst/rtsp/gstrtsp.h:
      * gst/rtsp/gstrtpdec.c:
      * gst/rtsp/gstrtpdec.h:
      * gst/rtsp/rtsp.h:
      * gst/rtsp/rtspdefs.c:
      * gst/rtsp/rtspdefs.h:
      Dual licensed under MIT and LGPL now.
      a365a29c
  20. 19 Sep, 2006 1 commit
    • Wim Taymans's avatar
      gst/rtsp/gstrtspsrc.*: Reorganize stream parsing and creation. · a7d7309e
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (find_stream_by_pt),
      (gst_rtspsrc_create_stream), (gst_rtspsrc_free_stream),
      (gst_rtspsrc_media_to_caps), (gst_rtspsrc_stream_setup_rtp),
      (gst_rtspsrc_stream_configure_transport), (find_stream_by_channel),
      (gst_rtspsrc_push_event), (gst_rtspsrc_loop), (gst_rtspsrc_send),
      (gst_rtspsrc_parse_methods), (gst_rtspsrc_open),
      (gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play):
      * gst/rtsp/gstrtspsrc.h:
      Reorganize stream parsing and creation.
      Detect container formats in interleaved mode.
      Keep more state about the streams.
      Assume a server also supports PLAY if it does not say.
      Add unicast and interleaved properties to TCP transport requests to make
      some servers happy (WMServer).
      * gst/rtsp/sdpmessage.h:
      Add some defines for the standard Bandwidth types.
      a7d7309e
  21. 18 Sep, 2006 4 commits
    • Wim Taymans's avatar
      gst/rtsp/gstrtspsrc.*: Small cleanups, added documentation. · a437e9f0
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_media_to_caps),
      (gst_rtspsrc_send), (gst_rtspsrc_parse_methods),
      (gst_rtspsrc_open), (gst_rtspsrc_close), (gst_rtspsrc_play),
      (gst_rtspsrc_pause), (gst_rtspsrc_change_state),
      (gst_rtspsrc_uri_get_uri), (gst_rtspsrc_uri_set_uri):
      * gst/rtsp/gstrtspsrc.h:
      Small cleanups, added documentation.
      Try to clean up the requests and responses.
      Refactor parsing the supported methods.
      * gst/rtsp/rtspconnection.c: (rtsp_connection_open),
      (rtsp_connection_create), (rtsp_connection_send),
      (parse_response_status), (parse_request_line),
      (rtsp_connection_receive), (rtsp_connection_close),
      (rtsp_connection_free):
      * gst/rtsp/rtsptransport.c: (rtsp_transport_new),
      (rtsp_transport_init), (rtsp_transport_parse),
      (rtsp_transport_free):
      * gst/rtsp/rtspurl.c: (rtsp_url_parse):
      * gst/rtsp/sdpmessage.c: (sdp_message_new), (sdp_message_init),
      (sdp_message_clean), (sdp_message_free), (sdp_media_new),
      (sdp_media_init), (sdp_message_parse_buffer), (sdp_message_dump):
      Use g_return_val some more.
      * gst/rtsp/rtspdefs.h:
      Add more enum values to track initial states.
      * gst/rtsp/rtspmessage.c: (rtsp_message_new_request),
      (rtsp_message_init_request), (rtsp_message_new_response),
      (rtsp_message_init_response), (rtsp_message_init_data),
      (rtsp_message_unset), (rtsp_message_free),
      (rtsp_message_add_header), (rtsp_message_remove_header),
      (rtsp_message_get_header), (rtsp_message_set_body),
      (rtsp_message_take_body), (rtsp_message_get_body),
      (rtsp_message_steal_body), (rtsp_message_dump):
      * gst/rtsp/rtspmessage.h:
      Reorder arguments, object goes as the first one.
      Use g_return_val some more.
      a437e9f0
    • Wim Taymans's avatar
      gst/rtsp/gstrtspsrc.*: Export sometimes source pad with correct caps on the... · 108dbd54
      Wim Taymans authored
      gst/rtsp/gstrtspsrc.*: Export sometimes source pad with correct caps on the template, create the ghostpad from the te...
      
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_base_init),
      (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_push_event),
      (gst_rtspsrc_loop), (gst_rtspsrc_uri_set_uri):
      * gst/rtsp/gstrtspsrc.h:
      Export sometimes source pad with correct caps on the template, create
      the ghostpad from the template.
      Remove RTCP template as we never expose RTCP.
      Protect against invalid body size.
      Avoid memcpy when creating the output buffer.
      Properly post an error and send EOS when the loop function is shut down.
      108dbd54
    • Lutz Mueller's avatar
      gst/rtsp/gstrtspsrc.*: Make sure we can never set an invalid location. · cac807b6
      Lutz Mueller authored
      Original commit message from CVS:
      Based on patch by: Lutz Mueller <lutz at topfrose dot de>
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init),
      (gst_rtspsrc_init), (gst_rtspsrc_set_property), (gst_rtspsrc_open),
      (gst_rtspsrc_uri_get_uri), (gst_rtspsrc_uri_set_uri):
      * gst/rtsp/gstrtspsrc.h:
      Make sure we can never set an invalid location.
      * gst/rtsp/rtspmessage.c: (rtsp_message_steal_body):
      * gst/rtsp/rtspmessage.h:
      Added _steal_body method for future use.
      * gst/rtsp/rtspurl.c: (rtsp_url_parse), (rtsp_url_free):
      Make freeing of NULL url return immediatly.
      cac807b6
    • Lutz Mueller's avatar
      gst/rtsp/gstrtspsrc.*: Use boilerplate. · afd156ad
      Lutz Mueller authored
      Original commit message from CVS:
      Based on patch by: Lutz Mueller <lutz at topfrose dot de>
      * gst/rtsp/gstrtspsrc.c: (_do_init), (gst_rtspsrc_class_init),
      (gst_rtspsrc_init), (gst_rtspsrc_stream_setup_rtp),
      (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_play),
      (gst_rtspsrc_change_state):
      * gst/rtsp/gstrtspsrc.h:
      Use boilerplate.
      Make rtspsrc subclass GstBin to make state changes easier.
      Add Range header field on the PLAY request.
      afd156ad
  22. 22 Aug, 2006 1 commit
    • Wim Taymans's avatar
      Small documentation updates. · 0f38451f
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_media_to_caps),
      (gst_rtspsrc_send), (gst_rtspsrc_close), (gst_rtspsrc_play),
      (gst_rtspsrc_pause):
      * gst/rtsp/gstrtspsrc.h:
      * sys/oss/gstosssink.c: (gst_oss_sink_open),
      (gst_oss_sink_prepare), (gst_oss_sink_unprepare):
      Small documentation updates.
      0f38451f
  23. 16 Aug, 2006 1 commit
    • Wim Taymans's avatar
      gst/rtsp/gstrtpdec.c: Add pads after setting them up. · 6eedcfbc
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/gstrtpdec.c: (gst_rtpdec_init), (gst_rtpdec_getcaps):
      Add pads after setting them up.
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init),
      (gst_rtspsrc_init), (gst_rtspsrc_finalize),
      (gst_rtspsrc_free_stream), (gst_rtspsrc_media_to_caps),
      (gst_rtspsrc_stream_setup_rtp),
      (gst_rtspsrc_stream_configure_transport),
      (gst_rtspsrc_combine_flows), (gst_rtspsrc_loop),
      (gst_rtspsrc_open), (gst_rtspsrc_close), (gst_rtspsrc_play),
      (gst_rtspsrc_pause):
      * gst/rtsp/gstrtspsrc.h:
      Fix interleaved mode.
      - Protect streaming with lock.
      - Combine flows
      - set caps on outgoing buffers.
      - strip trailing \0 from data packets.
      - Configure RTP/RTCP in stream.
      Use DEBUG_OBJECT more.
      6eedcfbc
  24. 20 Jun, 2006 1 commit
    • Wim Taymans's avatar
      Added documentation for the rtsp plugin. Fixes #345393. · bfd2b35d
      Wim Taymans authored
      Original commit message from CVS:
      * docs/plugins/Makefile.am:
      * docs/plugins/gst-plugins-good-plugins-docs.sgml:
      * docs/plugins/gst-plugins-good-plugins-sections.txt:
      * gst/rtsp/gstrtpdec.c: (gst_rtpdec_class_init):
      * gst/rtsp/gstrtspsrc.c:
      * gst/rtsp/gstrtspsrc.h:
      Added documentation for the rtsp plugin. Fixes #345393.
      bfd2b35d
  25. 01 Jun, 2006 1 commit
    • Stefan Kost's avatar
      Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass · 1def669c
      Stefan Kost authored
      Original commit message from CVS:
      * ext/aalib/gstaasink.h:
      * ext/annodex/gstcmmldec.h:
      * ext/cairo/gsttimeoverlay.h:
      * ext/dv/gstdvdec.h:
      * ext/dv/gstdvdemux.h:
      * ext/esd/esdmon.h:
      * ext/esd/esdsink.h:
      * ext/flac/gstflacenc.h:
      * ext/gconf/gstgconfaudiosink.h:
      * ext/gconf/gstgconfaudiosrc.h:
      * ext/gconf/gstgconfvideosink.h:
      * ext/gconf/gstgconfvideosrc.h:
      * ext/gdk_pixbuf/gstgdkanimation.h:
      * ext/gdk_pixbuf/pixbufscale.h:
      * ext/hal/gsthalaudiosink.h:
      * ext/hal/gsthalaudiosrc.h:
      * ext/jpeg/gstjpegenc.h:
      * ext/jpeg/gstsmokedec.h:
      * ext/jpeg/gstsmokeenc.h:
      * ext/libcaca/gstcacasink.h:
      * ext/libmng/gstmngdec.h:
      * ext/libmng/gstmngenc.h:
      * ext/libpng/gstpngdec.h:
      * ext/libpng/gstpngenc.h:
      * ext/raw1394/gstdv1394src.h:
      * ext/speex/gstspeexenc.h:
      * gst/autodetect/gstautoaudiosink.h:
      * gst/autodetect/gstautovideosink.h:
      * gst/avi/gstavidemux.h:
      * gst/cutter/gstcutter.h:
      * gst/debug/efence.h:
      * gst/debug/gstnavigationtest.h:
      * gst/debug/gstnavseek.h:
      * gst/flx/gstflxdec.h:
      * gst/goom/gstgoom.h:
      * gst/icydemux/gsticydemux.h:
      * gst/id3demux/gstid3demux.h:
      * gst/law/alaw-decode.h:
      * gst/law/alaw-encode.h:
      * gst/law/mulaw-decode.h:
      * gst/law/mulaw-encode.h:
      * gst/matroska/matroska-mux.h:
      * gst/median/gstmedian.h:
      * gst/oldcore/gstaggregator.h:
      * gst/oldcore/gstfdsink.h:
      * gst/oldcore/gstmd5sink.h:
      * gst/oldcore/gstmultifilesrc.h:
      * gst/oldcore/gstpipefilter.h:
      * gst/oldcore/gstshaper.h:
      * gst/oldcore/gststatistics.h:
      * gst/rtp/gstasteriskh263.h:
      * gst/rtp/gstrtpL16depay.h:
      * gst/rtp/gstrtpL16pay.h:
      * gst/rtp/gstrtpamrdepay.h:
      * gst/rtp/gstrtpamrpay.h:
      * gst/rtp/gstrtpdepay.h:
      * gst/rtp/gstrtpgsmdepay.h:
      * gst/rtp/gstrtpgsmpay.h:
      * gst/rtp/gstrtph263pay.h:
      * gst/rtp/gstrtph263pdepay.h:
      * gst/rtp/gstrtph263ppay.h:
      * gst/rtp/gstrtpmp4gpay.h:
      * gst/rtp/gstrtpmp4vdepay.h:
      * gst/rtp/gstrtpmp4vpay.h:
      * gst/rtp/gstrtpmpadepay.h:
      * gst/rtp/gstrtpmpapay.h:
      * gst/rtp/gstrtppcmadepay.h:
      * gst/rtp/gstrtppcmapay.h:
      * gst/rtp/gstrtppcmudepay.h:
      * gst/rtp/gstrtppcmupay.h:
      * gst/rtp/gstrtpspeexdepay.h:
      * gst/rtp/gstrtpspeexpay.h:
      * gst/rtsp/gstrtpdec.h:
      * gst/rtsp/gstrtspsrc.h:
      * gst/smpte/gstsmpte.h:
      * gst/udp/gstdynudpsink.h:
      * gst/udp/gstmultiudpsink.h:
      * gst/udp/gstudpsink.h:
      * gst/udp/gstudpsrc.h:
      * gst/videofilter/gstvideobalance.h:
      * gst/videofilter/gstvideoflip.h:
      * sys/oss/gstossdmabuffer.h:
      * sys/oss/gstossmixerelement.h:
      * sys/oss/gstosssink.h:
      * sys/oss/gstosssrc.h:
      * sys/osxvideo/osxvideosink.h:
      * sys/sunaudio/gstsunaudiomixer.h:
      * sys/sunaudio/gstsunaudiosink.h:
      * sys/ximage/gstximagesrc.h:
      Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
      1def669c
  26. 16 Feb, 2006 1 commit
    • Wim Taymans's avatar
      gst/rtsp/README: Updated README. · d465618d
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/README:
      Updated README.
      
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_get_type),
      (gst_rtspsrc_class_init), (gst_rtspsrc_set_property),
      (gst_rtspsrc_get_property), (gst_rtspsrc_stream_setup_rtp):
      * gst/rtsp/gstrtspsrc.h:
      Make sure the RTP port is an even port an try to allocate
      another if not.
      Added retry property to control max retries for port allocation.
      Make sure RTCP port is RTP port+1.
      Cleanup when port allocation fails.
      Fixes #319183.
      d465618d
  27. 06 Dec, 2005 1 commit
  28. 18 Aug, 2005 1 commit
    • Wim Taymans's avatar
      gst/rtsp/: Handle RTSP defaults better. · c831aef4
      Wim Taymans authored
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open),
      (gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause),
      (gst_rtspsrc_change_state):
      * gst/rtsp/gstrtspsrc.h:
      * gst/rtsp/rtspdefs.c: (rtsp_method_as_text), (rtsp_find_method):
      * gst/rtsp/rtspdefs.h:
      * gst/rtsp/rtsptransport.c: (rtsp_transport_parse):
      Handle RTSP defaults better.
      Issue OPTIONS request to figure out what we are allowed to do.
      Make the methods a bitfield so we can easily collect supported
      options.
      Fix rtsp_find_method.
      Do proper RTSP connection shutdown.
      c831aef4
  29. 11 May, 2005 2 commits
    • Wim Taymans's avatar
      gst/rtsp/gstrtspsrc.*: Setup UDP sources correctly, receives raw data from... · 91ce2b29
      Wim Taymans authored
      gst/rtsp/gstrtspsrc.*: Setup UDP sources correctly, receives raw data from RTSP compliant servers now.
      
      Original commit message from CVS:
      * gst/rtsp/gstrtspsrc.c: (gst_rtsp_proto_get_type),
      (gst_rtspsrc_class_init), (gst_rtspsrc_init),
      (gst_rtspsrc_create_stream), (gst_rtspsrc_add_element),
      (gst_rtspsrc_set_state), (gst_rtspsrc_stream_setup_rtp),
      (gst_rtspsrc_stream_configure_transport), (find_stream),
      (gst_rtspsrc_loop), (gst_rtspsrc_open), (gst_rtspsrc_close),
      (gst_rtspsrc_play), (gst_rtspsrc_change_state):
      * gst/rtsp/gstrtspsrc.h:
      Setup UDP sources correctly, receives raw data from RTSP
      compliant servers now.
      91ce2b29
    • Wim Taymans's avatar
      Ported to 0.9. · 6f0ea358
      Wim Taymans authored
      Original commit message from CVS:
      Ported to 0.9.
      Set up transports, init UDP ports, init RTP session managers.
      6f0ea358