summaryrefslogtreecommitdiffstats
path: root/gst/rtsp
Commit message (Collapse)AuthorAgeFilesLines
* gst/rtsp/rtspconnection.c: Fix the MingW build.Vincent Torri2007-06-151-0/+16
| | | | | | | | | Original commit message from CVS: * gst/rtsp/rtspconnection.c: (rtsp_connection_create), (rtsp_connection_connect): Fix the MingW build. Patch By: Vincent Torri <vtorri at univ-evry dot fr> Fixes: #446981
* gst/rtsp/rtspconnection.c: Add include to make buildbot happy.Wim Taymans2007-06-011-0/+2
| | | | | | Original commit message from CVS: * gst/rtsp/rtspconnection.c: Add include to make buildbot happy.
* gst/rtsp/: Improves version checking, allowing an RTSP server to reply with "505Peter Kjellerstedt2007-06-015-65/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: Patch by: Peter Kjellerstedt <pkj at axis com> * gst/rtsp/rtspconnection.c: (rtsp_connection_create), (rtsp_connection_connect), (add_date_header), (rtsp_connection_send), (parse_response_status), (parse_request_line), (parse_line), (rtsp_connection_receive): * gst/rtsp/rtspdefs.c: (rtsp_version_as_text): * gst/rtsp/rtspdefs.h: * gst/rtsp/rtspmessage.c: (key_value_foreach), (rtsp_message_init_request), (rtsp_message_init_response), (rtsp_message_remove_header), (rtsp_message_append_headers), (rtsp_message_dump): * gst/rtsp/rtspmessage.h: Improves version checking, allowing an RTSP server to reply with "505 RTSP Version not supported. Adds a Date header to all messages. Replies with RTSP_EPARSE rather than RTSP_EINVALID in cases where we want to be able to send a response even if something in the request was invalid. EINVAL is only used when passing wrong arguments to functions. Do not handle an invalid method in parse_request_line(). Defer this to the caller so it can respond with "405 Method Not Allowed". Improves parsing of the timeout parameter to the Session header, allowing whitespace after the semicolon. Avoids a compiler warning due to variables shadowing a function argument.
* gst/rtsp/rtspextwms.c: Fix compile warning when debug is disabled as spotted ↵Wim Taymans2007-05-311-1/+3
| | | | | | | | bu Saur on IRC. Original commit message from CVS: * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_configure_stream): Fix compile warning when debug is disabled as spotted bu Saur on IRC.
* gst/rtsp/rtsptransport.c: Use renamed RTP bin.Wim Taymans2007-05-281-1/+1
| | | | | | Original commit message from CVS: * gst/rtsp/rtsptransport.c: Use renamed RTP bin.
* gst/rtsp/gstrtspsrc.c: Init value to avoid infinte loops.Wim Taymans2007-05-241-1/+2
| | | | | | Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_parse_methods): Init value to avoid infinte loops.
* gst/rtsp/: Fix for new API.Peter Kjellerstedt2007-05-245-113/+167
| | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: Patch by: Peter Kjellerstedt <pkj at axis com> * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_setup_auth), (gst_rtspsrc_try_send), (gst_rtspsrc_parse_methods), (gst_rtspsrc_setup_streams), (gst_rtspsrc_open), (gst_rtspsrc_play): (rtsp_connection_send), (rtsp_connection_receive): * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_after_send): Fix for new API. * gst/rtsp/rtspconnection.c: (add_auth_header), Only add authorisation and session headers when sending messages. * gst/rtsp/rtspmessage.c: (key_value_foreach), (rtsp_message_init), (rtsp_message_init_request), (rtsp_message_init_response), (rtsp_message_unset), (rtsp_message_add_header), (rtsp_message_remove_header), (rtsp_message_get_header), (rtsp_message_append_headers), (dump_key_value), (rtsp_message_dump): * gst/rtsp/rtspmessage.h: Add support for multiple headers of the same type by storing the parsed headers in a GArray instaed of a hashtable.
* gst/rtsp/gstrtpdec.*: Added signal for backwards compat.Wim Taymans2007-05-212-0/+8
| | | | | | | Original commit message from CVS: * gst/rtsp/gstrtpdec.c: (gst_rtp_dec_class_init): * gst/rtsp/gstrtpdec.h: Added signal for backwards compat.
* gst/rtsp/gstrtspsrc.c: Printf format fix.Tim-Philipp Müller2007-05-201-1/+1
| | | | | | Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_loop_udp): Printf format fix.
* gst/rtsp/gstrtspsrc.c: Don't crash when an unsupported transport error was ↵Wim Taymans2007-05-181-4/+15
| | | | | | | | | returned by the server, just try to config... Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_setup_streams): Don't crash when an unsupported transport error was returned by the server, just try to configure the next stream. Fixes #439255.
* gst/rtsp/gstrtspsrc.*: Add TCP timeout property and use it for all TCP ↵Wim Taymans2007-05-183-13/+147
| | | | | | | | | | | | | | | | | 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/gstrtspsrc.c: Refactor timeout handling.Wim Taymans2007-05-183-63/+130
| | | | | | | | | | | | | | | | Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send_keep_alive), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_loop_udp), (gst_rtspsrc_try_send), (gst_rtspsrc_send), (gst_rtspsrc_setup_streams): Refactor timeout handling. Also send keep-alive when dealing with TCP transport. * gst/rtsp/rtspconnection.c: (rtsp_connection_create), (rtsp_connection_free), (rtsp_connection_next_timeout), (rtsp_connection_reset_timeout): * gst/rtsp/rtspconnection.h: Use a timer to handle the session timeouts, add some methods to deal with timeouts.
* gst/rtsp/gstrtspsrc.c: Ignore streams that fail the setup command, we will ↵Wim Taymans2007-05-172-3/+17
| | | | | | | | | | | | | retry with a different transport later on. Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_setup_streams): Ignore streams that fail the setup command, we will retry with a different transport later on. * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_parse_sdp), (rtsp_ext_wms_configure_stream): Fix encoding name case.
* gst/rtsp/gstrtspsrc.c: When we try to execute a method that is not supported ↵Wim Taymans2007-05-141-1/+15
| | | | | | | | | | by the server, don't error out but remov... Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send): When we try to execute a method that is not supported by the server, don't error out but remove the method from the accepted methods so that we never try to perform this method again.
* gst/rtsp/gstrtspsrc.c: Parse range correctly.Wim Taymans2007-05-142-6/+21
| | | | | | | | Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_parse_range): Parse range correctly. * gst/rtsp/rtspurl.c: (rtsp_url_get_request_uri): The baseurl now always has a '/' at the start.
* gst/rtsp/gstrtspsrc.c: Factor out caps configuration and configure more ↵Wim Taymans2007-05-142-40/+74
| | | | | | | | | | | | | stuff such as the time ranges and speed/scale... Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_configure_caps), (gst_rtspsrc_parse_range), (gst_rtspsrc_open), (gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play): Factor out caps configuration and configure more stuff such as the time ranges and speed/scale values. * gst/rtsp/rtsptransport.c: Add Copyright after non-trival fixes.
* gst/rtsp/: Make channel guint8 where possible.Peter Kjellerstedt2007-05-127-9/+12
| | | | | | | | | | | | | | | | | | | 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/rtspurl.*: Add support for query parameters to RTSP URLs.Peter Kjellerstedt2007-05-122-21/+37
| | | | | | | | | Original commit message from CVS: Patch by: Peter Kjellerstedt <pkj at axis com> * gst/rtsp/rtspurl.c: (rtsp_url_parse), (rtsp_url_free), (rtsp_url_get_request_uri): * gst/rtsp/rtspurl.h: Add support for query parameters to RTSP URLs.
* gst/rtsp/rtsptransport.*: Add validation to rtsp_transport_parse().Peter Kjellerstedt2007-05-122-38/+364
| | | | | | | | | | | | | | | | | | Original commit message from CVS: Patch by: Peter Kjellerstedt <pkj at axis com> * gst/rtsp/rtsptransport.c: (rtsp_transport_init), (parse_mode), (parse_range), (range_as_text), (rtsp_transport_mode_as_text), (rtsp_transport_profile_as_text), (rtsp_transport_ltrans_as_text), (rtsp_transport_parse), (rtsp_transport_as_text): * gst/rtsp/rtsptransport.h: Add validation to rtsp_transport_parse(). Add rtsp_transport_as_text() to generate an RTSP header from an RTSPTransport. Change ssrc to guint (was a string) since that is what it is, even though it is sent as a hex string. Correctly identify PLAY|RECORD mode parameters (the syntax in the RFC is incorrect, which can be seen when looking at the examples in the RFC). Fixes #437670.
* gst/rtsp/: Preliminary seek support.Wim Taymans2007-05-113-16/+218
| | | | | | | | | | | | | | | | 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/rtsptransport.c: UDP MCAST is actually the default for RTP/AVP.Wim Taymans2007-05-111-1/+1
| | | | | | Original commit message from CVS: * gst/rtsp/rtsptransport.c: UDP MCAST is actually the default for RTP/AVP.
* gst/rtsp/rtsptransport.c: Make UDP the default transport when not specified.Wim Taymans2007-05-111-1/+1
| | | | | | Original commit message from CVS: * gst/rtsp/rtsptransport.c: Make UDP the default transport when not specified.
* gst/rtsp/: Add code to parse time ranges.Wim Taymans2007-05-094-3/+302
| | | | | | | | | | | | | Original commit message from CVS: * gst/rtsp/Makefile.am: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_handle_src_query), (gst_rtspsrc_send_keep_alive), (gst_rtspsrc_open): * gst/rtsp/rtsprange.c: (parse_npt_time), (parse_npt_range), (parse_clock_range), (parse_smpte_range), (rtsp_range_parse), (rtsp_range_free): * gst/rtsp/rtsprange.h: Add code to parse time ranges. Report DURATION on the stream when possible.
* gst/rtsp/gstrtspsrc.c: Let more error state trickle down so that we can ↵Wim Taymans2007-05-041-22/+41
| | | | | | | | | | | | | | | | catch more error cases. Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send_keep_alive), (gst_rtspsrc_loop_udp), (gst_rtspsrc_try_send), (gst_rtspsrc_send), (gst_rtspsrc_setup_streams), (gst_rtspsrc_open), (gst_rtspsrc_close), (gst_rtspsrc_play), (gst_rtspsrc_pause), (gst_rtspsrc_change_state): Let more error state trickle down so that we can catch more error cases. Handle keep-alive a little smarter by selecting a method the server actually supports. Fix a race in UDP streaming shutdown.
* gst/rtsp/gstrtspsrc.c: Ignore errors when trying to use the keep-alive messages.Wim Taymans2007-05-041-1/+3
| | | | | | Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send_keep_alive): Ignore errors when trying to use the keep-alive messages.
* gst/rtsp/gstrtspsrc.c: Send RTCP messages back to the server over the TCP ↵Wim Taymans2007-05-043-59/+167
| | | | | | | | | | | | | | | | | | | | | connection. Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_handle_src_event), (gst_rtspsrc_handle_src_query), (gst_rtspsrc_sink_chain), (gst_rtspsrc_stream_configure_manager), (gst_rtspsrc_stream_free_udp), (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): Send RTCP messages back to the server over the TCP connection. * gst/rtsp/rtspconnection.c: (rtsp_connection_write), (rtsp_connection_send), (rtsp_connection_read), (read_body), (rtsp_connection_receive): * gst/rtsp/rtspconnection.h: Factor out and expose lowlevel _write and _read methods. Implement sending data messages to the server.
* gst/rtsp/gstrtspsrc.c: Refactor transport configuration code.Wim Taymans2007-05-031-220/+416
| | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_finalize), (gst_rtspsrc_alloc_udp_ports), (gst_rtspsrc_handle_src_event), (gst_rtspsrc_handle_src_query), (gst_rtspsrc_stream_configure_manager), (gst_rtspsrc_stream_free_udp), (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_push_event), (gst_rtspsrc_loop_udp), (gst_rtspsrc_open), (gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play), (gst_rtspsrc_pause): Refactor transport configuration code. Create internal pads for TCP transport so that we can implement events and queries. Handle events and queries. Parse range from the SDP. Fix race in pause handler where the connection could still be flushing.
* gst/rtsp/gstrtspsrc.*: Fix race when multiple udp sources post timeouts, ↵Wim Taymans2007-05-023-102/+163
| | | | | | | | | | | | | | | | | | | | | 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/test.c: Fix compilation of deprecated test just because I'm too ↵Wim Taymans2007-05-021-8/+8
| | | | | | | | | lazy to delete it. Original commit message from CVS: * gst/rtsp/test.c: (main): Fix compilation of deprecated test just because I'm too lazy to delete it.
* gst/rtsp/gstrtspsrc.*: Fix sending RTCP to the right place.Wim Taymans2007-05-027-99/+289
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/udp/gstmultiudpsink.c: Add code to drop membership of a multicast group.Wim Taymans2007-04-291-5/+22
| | | | | | | | | | | | | | Original commit message from CVS: * gst/udp/gstmultiudpsink.c: (leave_multicast), (gst_multiudpsink_add), (gst_multiudpsink_remove): Add code to drop membership of a multicast group. * gst/udp/gstudpsink.c: (gst_udpsink_update_uri), (gst_udpsink_set_uri): Implement URI handler. * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_parse_rtpinfo): Use URI handler to make udpsink instace. Improve code to configure port and destination.
* gst/rtsp/gstrtspsrc.c: Ignore ASYNC state messages from the udpsink, it's ↵Wim Taymans2007-04-271-1/+11
| | | | | | | | | | | irrelevant for the parent. Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_parse_rtpinfo), (gst_rtspsrc_play), (gst_rtspsrc_handle_message): Ignore ASYNC state messages from the udpsink, it's irrelevant for the parent.
* gst/rtsp/gstrtspsrc.*: Protect state changes with a lock.Wim Taymans2007-04-264-8/+87
| | | | | | | | | | | | | | | 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-254-2/+38
| | | | | | | | | | | | | | | | | | | 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/rtspconnection.c: Read the channel byte as an unsigned byte.Wim Taymans2007-04-251-1/+1
| | | | | | Original commit message from CVS: * gst/rtsp/rtspconnection.c: (rtsp_connection_receive): Read the channel byte as an unsigned byte.
* gst/rtsp/gstrtspsrc.*: Parse server address from SDP.Wim Taymans2007-04-253-2/+96
| | | | | | | | | | | | | 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.
* docs/plugins/gst-plugins-good-plugins-sections.txt: Fix docs.Wim Taymans2007-04-133-23/+6
| | | | | | | | | | | | | | | Original commit message from CVS: * docs/plugins/gst-plugins-good-plugins-sections.txt: Fix docs. * gst/rtsp/URLS: Add some more example urls. * gst/rtsp/gstrtpdec.c: (gst_rtp_dec_marshal_BOXED__UINT_UINT), (gst_rtp_dec_chain_rtp): Better debugging. * gst/rtsp/gstrtspsrc.c: (request_pt_map), (gst_rtspsrc_activate_streams), (gst_rtspsrc_loop_interleaved), (gst_rtspsrc_parse_rtpinfo): Remove unused code.
* gst/rtsp/gstrtpdec.*: Make backward compat with rtpbin by adding the ↵Wim Taymans2007-04-124-5/+118
| | | | | | | | | | | | | | | | | | 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/: Fix some compiler warnings. Fixes #428182.Peter Kjellerstedt2007-04-101-1/+1
| | | | | | | | | | | | | | Original commit message from CVS: Patch by: Peter Kjellerstedt <pkj at axis com> * gst/avi/gstavidemux.c: (gst_avi_demux_massage_index): * gst/rtp/gstrtpL16depay.c: * gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_process): * gst/rtp/gstrtpspeexdepay.c: (gst_rtp_speex_depay_get_mode), (gst_rtp_speex_depay_setcaps): * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_media_to_caps), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_loop_udp): * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_init_send): Fix some compiler warnings. Fixes #428182.
* gst/rtsp/: Morph RTPDec into something compatible with RTPBin as a fallback.Wim Taymans2007-04-068-212/+776
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/rtp/: Added MP4A-LATM depayloader. Fixes #417792.Stefan Kost2007-03-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: Based on patch by: Stefan Kost <ensonic@users.sf.net> * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: (plugin_init): * gst/rtp/gstrtpmp4adepay.c: (gst_rtp_mp4a_depay_base_init), (gst_rtp_mp4a_depay_class_init), (gst_rtp_mp4a_depay_init), (gst_rtp_mp4a_depay_finalize), (gst_rtp_mp4a_depay_setcaps), (gst_rtp_mp4a_depay_process), (gst_rtp_mp4a_depay_set_property), (gst_rtp_mp4a_depay_get_property), (gst_rtp_mp4a_depay_change_state), (gst_rtp_mp4a_depay_plugin_init): * gst/rtp/gstrtpmp4adepay.h: Added MP4A-LATM depayloader. Fixes #417792. * gst/rtp/gstrtpmp4vdepay.c: (gst_rtp_mp4v_depay_setcaps), (gst_rtp_mp4v_depay_process): Fixup depayloader, setting codec_data, using more efficient adaptor and rtpbuffer handling. * gst/rtsp/URLS: Add url to test above.
* gst/rtsp/gstrtspsrc.*: Handle default clock-rates for static payload types, ↵Wim Taymans2007-03-252-32/+190
| | | | | | | | | | | | | | | | | | | | 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/gstrtspsrc.c: When activated, remove the udpsrc timeout, we have ↵Wim Taymans2007-03-091-0/+5
| | | | | | | | | dataflow and timeouts will later be handled... Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_activate_streams): When activated, remove the udpsrc timeout, we have dataflow and timeouts will later be handled by the jitterbuffer.
* Fix a bunch of leaks shown by the newly-added states test.Jan Schmidt2007-03-043-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/flac/gstflacenc.c: (gst_flac_enc_finalize): * ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_class_init), (gst_gconf_audio_sink_dispose), (gst_gconf_audio_sink_finalize): * ext/gconf/gstgconfaudiosrc.c: (gst_gconf_audio_src_base_init), (gst_gconf_audio_src_class_init), (gst_gconf_audio_src_dispose), (gst_gconf_audio_src_finalize), (do_toggle_element): * ext/gconf/gstgconfvideosink.c: (gst_gconf_video_sink_base_init), (gst_gconf_video_sink_class_init), (gst_gconf_video_sink_finalize), (do_toggle_element): * ext/gconf/gstgconfvideosrc.c: (gst_gconf_video_src_base_init), (gst_gconf_video_src_class_init), (gst_gconf_video_src_dispose), (gst_gconf_video_src_finalize), (do_toggle_element): * ext/gconf/gstswitchsink.c: (gst_switch_sink_class_init), (gst_switch_sink_reset), (gst_switch_sink_set_child): * ext/hal/gsthalaudiosink.c: (gst_hal_audio_sink_base_init): * ext/hal/gsthalaudiosrc.c: (gst_hal_audio_src_base_init): * ext/shout2/gstshout2.c: (gst_shout2send_class_init), (gst_shout2send_init), (gst_shout2send_finalize): * gst/debug/testplugin.c: (gst_test_class_init), (gst_test_finalize): * gst/flx/gstflxdec.c: (gst_flxdec_class_init), (gst_flxdec_dispose): * gst/multipart/multipartmux.c: (gst_multipart_mux_finalize): * gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_finalize): * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init), (gst_rtspsrc_finalize): * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_free_context): * gst/rtsp/rtspextwms.h: * gst/smpte/gstsmpte.c: (gst_smpte_class_init), (gst_smpte_finalize): * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_finalize): * gst/udp/gstudpsink.c: (gst_udpsink_class_init), (gst_udpsink_finalize): * gst/wavparse/gstwavparse.c: (gst_wavparse_dispose), (gst_wavparse_sink_activate): * sys/oss/gstosssink.c: (gst_oss_sink_finalise): * sys/oss/gstosssrc.c: (gst_oss_src_class_init), (gst_oss_src_finalize): * sys/v4l2/gstv4l2object.c: (gst_v4l2_object_destroy): * sys/v4l2/gstv4l2object.h: * sys/v4l2/gstv4l2src.c: (gst_v4l2src_class_init), (gst_v4l2src_finalize): * sys/ximage/gstximagesrc.c: (gst_ximage_src_ximage_get): Fix a bunch of leaks shown by the newly-added states test.
* gst/rtsp/gstrtspsrc.c: Errors from the udp sources are not fatal unless all ↵Wim Taymans2007-03-011-13/+52
| | | | | | | | | | of them are in error. Original commit message from CVS: * gst/rtsp/gstrtspsrc.c: (find_stream_by_channel), (find_stream_by_udpsrc), (gst_rtspsrc_handle_message): Errors from the udp sources are not fatal unless all of them are in error.
* gst/rtsp/gstrtpdec.c: Make state change to PAUSED NO_PREROLL because that's ↵Wim Taymans2007-03-012-4/+5
| | | | | | | | | | | | | what it will be in the future and rtspsrc... Original commit message from CVS: * gst/rtsp/gstrtpdec.c: (gst_rtpdec_change_state): Make state change to PAUSED NO_PREROLL because that's what it will be in the future and rtspsrc relies on it. * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_change_state): Don't error out when we don't get an error from the state change function.
* gst/rtsp/URLS: Add another interesting test url.Wim Taymans2007-02-282-0/+4
| | | | | | | | Original commit message from CVS: * gst/rtsp/URLS: Add another interesting test url. * gst/rtsp/rtspmessage.c: (rtsp_message_get_header): Don't allow getting header fields from data packets.
* gst/rtsp/Makefile.am: Fix make check too.Jan Schmidt2007-02-261-1/+1
| | | | | | Original commit message from CVS: * gst/rtsp/Makefile.am: Fix make check too.
* gst/rtsp/base64.*: Commit missing files for base64 encoding.Jan Schmidt2007-02-262-0/+101
| | | | | | | Original commit message from CVS: * gst/rtsp/base64.c: (util_base64_encode): * gst/rtsp/base64.h: Commit missing files for base64 encoding.
* gst/rtsp/: g_base64_encode is a GLib 2.12 function. Use an equivalent taken ↵Jan Schmidt2007-02-232-4/+5
| | | | | | | | | | | | from icecast to replace it. Relicensed fr... Original commit message from CVS: * gst/rtsp/Makefile.am: * gst/rtsp/rtspconnection.c: (append_auth_header), (rtsp_connection_send), (rtsp_connection_set_auth): g_base64_encode is a GLib 2.12 function. Use an equivalent taken from icecast to replace it. Relicensed from GPL courtesy of Mike Smith.