summaryrefslogtreecommitdiffstats
path: root/gst/rtsp/gstrtspsrc.h
Commit message (Collapse)AuthorAgeFilesLines
* rtspsrc: add proxy supportWim Taymans2009-03-311-0/+4
|
* rtspsrc: fix range parsingWim Taymans2009-03-051-0/+2
| | | | Fix parsing of the range headers.
* rtspsrc: add the .h file change tooPatrick Radizi2009-02-261-0/+1
| | | | Add the .h file change for the new property.
* rtspsrc: Keep track of connected stateWim Taymans2009-02-041-0/+1
| | | | | Keep track of the state of the connection and don't try to send TEARDOWN when the server has closed the connection.
* gst/rtsp/gstrtspsrc.*: Add property to configure NAT traversal method.Eric Zhang2008-11-131-2/+19
| | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: Based on patch by: Eric Zhang <chao.zhang at access-company dot com> * gst/rtsp/gstrtspsrc.c: (gst_rtsp_nat_method_get_type), (gst_rtspsrc_class_init), (gst_rtspsrc_set_property), (gst_rtspsrc_get_property), (gst_rtspsrc_create_stream), (gst_rtspsrc_stream_free), (gst_rtspsrc_stream_configure_udp_sinks), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_send_dummy_packets), (gst_rtspsrc_create_transports_string), (gst_rtspsrc_handle_message), (gst_rtspsrc_change_state): * gst/rtsp/gstrtspsrc.h: Add property to configure NAT traversal method. Ignore EOS from the internal sinks. Implement sending dummy packets as a (simple) method to open up some firewalls. Send PLAY request to the server after we started the udp sources. Fixes #559545.
* gst/rtsp/gstrtspsrc.*: Implement redirect for the DESCRIBE reply. Fixes #506025.Wim Taymans2007-12-311-0/+1
| | | | | | | Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open): * gst/rtsp/gstrtspsrc.h: Implement redirect for the DESCRIBE reply. Fixes #506025.
* gst/rtsp/gstrtspsrc.*: Parse bandwidth modifiers, they are not yet ↵Wim Taymans2007-10-011-0/+5
| | | | | | | | | | | | configured in the session manager because we don't... Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_get_bandwidth), (gst_rtspsrc_collect_bandwidth), (gst_rtspsrc_create_stream), (gst_rtspsrc_media_to_caps), (gst_rtspsrc_loop_interleaved): * gst/rtsp/gstrtspsrc.h: Parse bandwidth modifiers, they are not yet configured in the session manager because we don't have an API for that yet.
* gst/rtsp/gstrtspsrc.*: In TCP mode, only timestamp the first buffer. TCP is ↵Wim Taymans2007-09-281-0/+1
| | | | | | | | | | | | not real time and it does not make sense ... Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_play): * gst/rtsp/gstrtspsrc.h: In TCP mode, only timestamp the first buffer. TCP is not real time and it does not make sense to try to skew compensate, also some servers send the first batch of data in a burst.
* gst/rtsp/gstrtspsrc.*: Set timestamps on RTP buffers in interleaved mode.Wim Taymans2007-09-261-0/+1
| | | | | | | | | | | Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream), (gst_rtspsrc_handle_src_query), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_loop_udp), (gst_rtspsrc_close): * gst/rtsp/gstrtspsrc.h: Set timestamps on RTP buffers in interleaved mode. Mark first buffers with a DISCONT. Remove flush hack now that sync for live sources has been figured out.
* gst/rtsp/gstrtspsrc.*: Fix method detection again.Wim Taymans2007-08-221-1/+1
| | | | | | | | | | | | Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_do_seek), (gst_rtspsrc_parse_methods), (gst_rtspsrc_open), (gst_rtspsrc_play): * gst/rtsp/gstrtspsrc.h: Fix method detection again. Keep track of when we must send a Range header. Use segment values for Range, Speed and Scale headers. Parse Speed and Scale headers to update the segment values.
* gst/rtsp/gstrtspsrc.*: Protect connection activity with a new lock, avoids ↵Wim Taymans2007-08-171-3/+10
| | | | | | | | | | | | | | | deadlocks when going to PAUSED. Fixes #455... Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init), (gst_rtspsrc_finalize), (gst_rtspsrc_connection_send), (gst_rtspsrc_connection_receive), (gst_rtspsrc_sink_chain), (gst_rtspsrc_handle_request), (gst_rtspsrc_send_keep_alive), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_loop_udp), (gst_rtspsrc_try_send), (gst_rtspsrc_pause): * gst/rtsp/gstrtspsrc.h: Protect connection activity with a new lock, avoids deadlocks when going to PAUSED. Fixes #455808.
* gst/rtsp/gstrtspsrc.*: Improve timeout handling.Wim Taymans2007-08-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_set_property), (gst_rtspsrc_flush), (gst_rtspsrc_sink_chain), (gst_rtspsrc_stream_configure_udp_sink), (gst_rtspsrc_send_keep_alive), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_loop_udp), (gst_rtspsrc_loop_send_cmd), (gst_rtspsrc_try_send), (gst_rtspsrc_send), (gst_rtspsrc_parse_methods), (gst_rtspsrc_parse_range), (gst_rtspsrc_open), (gst_rtspsrc_close), (gst_rtspsrc_pause), (gst_rtspsrc_handle_message), (gst_rtspsrc_change_state): * gst/rtsp/gstrtspsrc.h: Improve timeout handling. Use the same socket for sending and receiving RTCP packets so that some servers can track clients better. Improve connection closed handling. Try to reconnect. Don't overwrite our content base with NULL. Improve debugging. Improve range parsing and handling. Remove flushing hack now that core does the right thing.
* gst/rtsp/gstrtpdec.*: Add (dummy) SSRC management signals.Wim Taymans2007-08-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * gst/rtsp/gstrtpdec.c: (gst_rtp_dec_marshal_VOID__UINT_UINT), (gst_rtp_dec_class_init): * gst/rtsp/gstrtpdec.h: Add (dummy) SSRC management signals. * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_class_init), (gst_rtspsrc_set_property), (gst_rtspsrc_get_property), (find_stream), (gst_rtspsrc_create_stream), (new_session_pad), (request_pt_map), (gst_rtspsrc_do_stream_eos), (on_bye_ssrc), (on_timeout), (gst_rtspsrc_stream_configure_manager), (gst_rtspsrc_stream_push_event), (gst_rtspsrc_push_event), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_handle_message), (gst_rtspsrc_change_state): * gst/rtsp/gstrtspsrc.h: Add connection-speed property. Add find_stream helper functions. Handle stream EOS based on BYE messages or SSRC timeout. Returns SUCCESS from the state change function as we hide our async elements from the parent.
* gst/rtsp/: Use shiny new RTSP and SDP library.Wim Taymans2007-07-251-25/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * gst/rtsp/Makefile.am: * gst/rtsp/base64.c: * gst/rtsp/base64.h: * gst/rtsp/gstrtspext.c: (gst_rtsp_ext_list_filter), (gst_rtsp_ext_list_init), (gst_rtsp_ext_list_get), (gst_rtsp_ext_list_detect_server), (gst_rtsp_ext_list_before_send), (gst_rtsp_ext_list_after_send), (gst_rtsp_ext_list_parse_sdp), (gst_rtsp_ext_list_setup_media), (gst_rtsp_ext_list_configure_stream), (gst_rtsp_ext_list_get_transports), (gst_rtsp_ext_list_stream_select): * gst/rtsp/gstrtspext.h: * gst/rtsp/gstrtspsrc.c: (gst_rtsp_lower_trans_get_type), (gst_rtspsrc_class_init), (gst_rtspsrc_init), (gst_rtspsrc_finalize), (gst_rtspsrc_create_stream), (gst_rtspsrc_parse_rtpmap), (gst_rtspsrc_media_to_caps), (gst_rtspsrc_flush), (gst_rtspsrc_do_seek), (gst_rtspsrc_sink_chain), (gst_rtspsrc_stream_configure_manager), (gst_rtspsrc_stream_configure_tcp), (gst_rtspsrc_stream_configure_mcast), (gst_rtspsrc_stream_configure_udp), (gst_rtspsrc_stream_configure_udp_sink), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_handle_request), (gst_rtspsrc_send_keep_alive), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_loop_udp), (gst_rtspsrc_loop_send_cmd), (gst_rtsp_auth_method_to_string), (gst_rtspsrc_parse_auth_hdr), (gst_rtspsrc_setup_auth), (gst_rtspsrc_try_send), (gst_rtspsrc_send), (gst_rtspsrc_parse_methods), (gst_rtspsrc_create_transports_string), (gst_rtspsrc_prepare_transports), (gst_rtspsrc_setup_streams), (gst_rtspsrc_parse_range), (gst_rtspsrc_open), (gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause), (gst_rtspsrc_change_state), (gst_rtspsrc_uri_set_uri): * gst/rtsp/gstrtspsrc.h: * gst/rtsp/rtsp.h: * gst/rtsp/rtspconnection.c: * gst/rtsp/rtspconnection.h: * gst/rtsp/rtspdefs.c: * gst/rtsp/rtspdefs.h: * gst/rtsp/rtspext.h: * gst/rtsp/rtspextwms.c: * gst/rtsp/rtspextwms.h: * gst/rtsp/rtspmessage.c: * gst/rtsp/rtspmessage.h: * gst/rtsp/rtsprange.c: * gst/rtsp/rtsprange.h: * gst/rtsp/rtsptransport.c: * gst/rtsp/rtsptransport.h: * gst/rtsp/rtspurl.c: * gst/rtsp/rtspurl.h: * gst/rtsp/sdp.h: * gst/rtsp/sdpmessage.c: * gst/rtsp/sdpmessage.h: * gst/rtsp/test.c: Use shiny new RTSP and SDP library. Implement RTSP extensions using the new interface. Remove a lot of old code.
* gst/rtsp/gstrtspsrc.*: For container formats we only need to activate one of ↵Wim Taymans2007-06-271-0/+1
| | | | | | | | | | | 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.
* gst/rtsp/gstrtspsrc.*: Add TCP timeout property and use it for all TCP ↵Wim Taymans2007-05-181-1/+2
| | | | | | | | | | | | | | | | | connection. 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.
* gst/rtsp/: Make channel guint8 where possible.Peter Kjellerstedt2007-05-121-1/+1
| | | | | | | | | | | | | | | | | | | 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.
* gst/rtsp/: Preliminary seek support.Wim Taymans2007-05-111-0/+3
| | | | | | | | | | | | | | | | 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.
* gst/rtsp/gstrtspsrc.*: Fix race when multiple udp sources post timeouts, ↵Wim Taymans2007-05-021-5/+12
| | | | | | | | | | | | | | | | | | | | | 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.
* gst/rtsp/gstrtspsrc.*: Fix sending RTCP to the right place.Wim Taymans2007-05-021-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/rtsp/gstrtspsrc.*: Protect state changes with a lock.Wim Taymans2007-04-261-0/+6
| | | | | | | | | | | | | | | 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.
* gst/rtsp/gstrtpdec.*: Add dummy latency property to be backwards compat with ↵Wim Taymans2007-04-251-0/+1
| | | | | | | | | | | | | | | | | | | rtpbin. 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.
* gst/rtsp/gstrtspsrc.*: Parse server address from SDP.Wim Taymans2007-04-251-0/+2
| | | | | | | | | | | | | 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.
* gst/rtsp/gstrtpdec.*: Make backward compat with rtpbin by adding the ↵Wim Taymans2007-04-121-0/+1
| | | | | | | | | | | | | | | | | | request-pt-map signals. 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.
* gst/rtsp/: Morph RTPDec into something compatible with RTPBin as a fallback.Wim Taymans2007-04-061-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/rtsp/gstrtspsrc.*: Handle default clock-rates for static payload types, ↵Wim Taymans2007-03-251-0/+4
| | | | | | | | | | | | | | | | | | | | 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.
* gst/rtsp/: Implement simple Basic Authentication support so that urls like ↵Jan Schmidt2007-02-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/rtsp/gstrtspsrc.*: Only unblock the udp pads when we linked and ↵Wim Taymans2007-01-241-0/+1
| | | | | | | | | | | | activated them all. Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (pad_blocked), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_activate_streams), (gst_rtspsrc_loop_udp): * gst/rtsp/gstrtspsrc.h: Only unblock the udp pads when we linked and activated them all. Fixes #395688.
* gst/rtsp/: Allow url to be NULL to be able to use it for server connections.Peter Kjellerstedt2007-01-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/rtsp/: Add method so that extensions can choose to disable the setup of ↵Wim Taymans2006-11-281-1/+2
| | | | | | | | | | | | | | a stream. 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.
* gst/rtsp/URLS: Added some other URL.Wim Taymans2006-10-111-1/+5
| | | | | | | | | | | | | | | | | | | 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.
* gst/rtsp/gstrtspsrc.*: Rework how the transport string is constructed, try ↵Wim Taymans2006-10-061-26/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/rtsp/: Factor out extension in separate module.Wim Taymans2006-10-041-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/rtsp/URLS: Add some more URLs.Wim Taymans2006-09-291-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/rtsp/URLS: Added some test URLS.Wim Taymans2006-09-201-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/rtsp/gstrtspsrc.*: Reorganize stream parsing and creation.Wim Taymans2006-09-191-11/+20
| | | | | | | | | | | | | | | | | | | | 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.
* gst/rtsp/gstrtspsrc.*: Small cleanups, added documentation.Wim Taymans2006-09-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/rtsp/gstrtspsrc.*: Export sometimes source pad with correct caps on the ↵Wim Taymans2006-09-181-0/+2
| | | | | | | | | | | | | | | | 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.
* gst/rtsp/gstrtspsrc.*: Make sure we can never set an invalid location.Lutz Mueller2006-09-181-0/+1
| | | | | | | | | | | | | | | 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.
* gst/rtsp/gstrtspsrc.*: Use boilerplate.Lutz Mueller2006-09-181-2/+2
| | | | | | | | | | | | | 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.
* Small documentation updates.Wim Taymans2006-08-221-1/+8
| | | | | | | | | | | 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.
* gst/rtsp/gstrtpdec.c: Add pads after setting them up.Wim Taymans2006-08-161-16/+22
| | | | | | | | | | | | | | | | | | | | | | 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.
* Added documentation for the rtsp plugin. Fixes #345393.Wim Taymans2006-06-201-8/+2
| | | | | | | | | | | 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.
* Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClassStefan Kost2006-06-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* gst/rtsp/README: Updated README.Wim Taymans2006-02-161-0/+1
| | | | | | | | | | | | | | | | | 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.
* expand tabsThomas Vander Stichele2005-12-061-16/+16
| | | | | Original commit message from CVS: expand tabs
* gst/rtsp/: Handle RTSP defaults better.Wim Taymans2005-08-181-0/+2
| | | | | | | | | | | | | | | | | 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.
* gst/rtsp/gstrtspsrc.*: Setup UDP sources correctly, receives raw data from ↵Wim Taymans2005-05-111-0/+3
| | | | | | | | | | | | | | | | 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.
* Ported to 0.9.Wim Taymans2005-05-111-0/+106
Original commit message from CVS: Ported to 0.9. Set up transports, init UDP ports, init RTP session managers.