summaryrefslogtreecommitdiffstats
path: root/gst/rtpmanager
Commit message (Collapse)AuthorAgeFilesLines
...
* Add ssrc to application/x-rtp-source-sdes structureOlivier Crête2009-08-111-1/+2
|
* rtpsouce: the network address is in network orderWim Taymans2009-08-111-0/+1
| | | | Bring the network address in netowkr byte order to the host order.
* rtpsource: byteswap the port from GstNetAddressWim Taymans2009-08-111-2/+3
| | | | | Since the port in GstNetAddress is in network order we might need to byteswap it before adding it to the source statistics.
* rtpbin: remove ptdemux ghostpadsWim Taymans2009-08-111-0/+13
|
* rtpbin: add to new signal to remove SSRC padsWim Taymans2009-08-111-15/+6
|
* ssrcdemux: emit signal when pads are removedAli Sabil2009-08-113-1/+80
| | | | | | | Add action signal to clear an SSRC in the ssrc demuxer. Add signal to notify of removed ssrc. See #554839
* rtpbin: use our ghostpads instead of its targetWim Taymans2009-08-111-44/+46
| | | | | Since we keep a reference to our ghostpads, we can use them to track sessions. This avoid us having to mess with the target of the ghostpad.
* rtpbin: don't warn when getting request pads twiceWim Taymans2009-08-111-52/+34
| | | | | Allow getting the request pads multiple times, just return the previously created pads.
* rtpsource: add RTP and RTCP source addressWim Taymans2009-08-111-0/+48
| | | | Add the RTP and RTCP sender addresses in the stats structure.
* rtpsession: reuse source code for SDESWim Taymans2009-08-111-58/+2
| | | | Reuse the RTPSource object property instead of duplicating code.
* rtpbin: set target state on new elementsWim Taymans2009-08-111-20/+37
| | | | | Set the state on newly added elements to the state of the parent. Add some debug info and do some cleanups
* rtpbin: unref requests pads after releasingWim Taymans2009-08-111-0/+4
|
* rtpbin: Implement releasing the streamsOlivier Crête2009-08-111-21/+53
| | | | See #561752
* rtpbin: Keep jb signals handlerOlivier Crête2009-08-111-3/+7
| | | | | | Keep the signal handlers so they can be disconnected at release time See #561752
* rtpbin: use the right lock for the sessionsWim Taymans2009-08-111-0/+4
| | | | Use the right lock when iterating the sessions.
* rtpbin: Free session if request pads are releasedOlivier Crête2009-08-111-3/+8
| | | | | | | | | Free the session when all the request pads are released. Don't mess with the session list in free_session as it is called from a foreach on that list. Set the state of the upstream element to NULL first. See #561752
* rtpbin: Implement relasing of the rtp recv padOlivier Crête2009-08-111-2/+17
|
* rtpbin: Implement releasing of rtp send padsOlivier Crête2009-08-111-6/+25
|
* rtpbin: Implement release of the recv rtcp padOlivier Crête2009-08-111-3/+13
| | | | See #561752
* rtpbin: Implement releasing of rtcp src padOlivier Crête2009-08-111-2/+7
| | | | See #561752
* rtpssrcdemux: drop unexpected RTCP packetsWim Taymans2009-08-111-1/+7
| | | | | | | | We usually only get SR packets in our chain function but if an invalid packet contains the SR packet after the RR packet, we must not fail but simply ignore the malformed packet. Fixes #581375
* rtpsouce: make WARNING into LOGOlivier Crete2009-08-111-1/+3
| | | | | | | | | Since neither rtpmanager nor any of the payloaders properly implement pad allocation, there is no way for the rtpmanager to inform downstream elements of the new SSRC if there is an SSRC collision. So the warning is emitted all the time and it is confusing. Fixes #580144
* rtpsession: notify when SSRC changesOlivier Crete2009-08-111-0/+7
| | | | | Emit a g_object_notify when the SSRc changes because of a collision. Fixes #580144
* rtpsession: join the RTCP threadWim Taymans2009-08-111-0/+5
| | | | | | Avoid a case where a joinable thread would be left unjoined, which leaked the thread structure. Fixes #577318.
* jitterbuffer: prevent overflow in EOS estimationWim Taymans2009-08-111-1/+1
| | | | | Use a guint64 instead of a guint to hold a 64bit value to prevent completely bogues EOS estimation values due to overflows.
* rtpbin: we should not provide a clockWim Taymans2009-08-112-17/+0
| | | | There is no need to provide a clock.
* jitterbuffer: more estimated EOS fixesWim Taymans2009-08-111-6/+18
| | | | Do more accurate EOS estimate and guard against backward timestamps.
* jitterbuffer: release lock before pushing EOSWim Taymans2009-08-111-1/+1
| | | | | Make sure we release the jitterbuffer lock before we start pushing out data because else we might deadlock.
* rtpbin: add on_npt_stop signalWim Taymans2009-08-114-14/+194
| | | | | Add the on_npt_stop signal to rtpbin and rtpjitterbuffer to notify the application that the NPT stop position has been reached.
* rtpbin: don't return FALSE on seek eventsWim Taymans2009-08-111-0/+1
| | | | Silently ignore the seek event instead of returning FALSE.
* gstrtpbin: Don't forward revc events to senderOlivier Crête2009-08-111-4/+0
| | | | | Don't send events from the receiver to the sender side. Fixes #572900.
* docs: various doc fixesStefan Kost2009-08-111-1/+1
| | | | | | No short-desc as we have them in the element details. Also keep things (Makefile.am and sections.txt) sorted. Reword ambigous returns. No text after since please.
* Send BYE packets immediatly for small sessionsWim Taymans2009-08-111-0/+4
| | | | | | When the number of participants is less than 50, the RFC allows for sending the BYE packet immediatly instead of using the regular BYE timeout. Fixes #567828.
* Unlock the jitterbuffer before pushing out the packet-lost events.Wim Taymans2009-08-111-5/+8
| | | | | Move some code before we do the unlock to make the jitterbuffer state consistent while we are unlocked.
* gst/rtpmanager/: When an SSRC is found on the caps of the sender RTP, use ↵Olivier Crete2009-08-112-0/+28
| | | | | | | | | | | | this as the internal SSRC. Fixes #565910. Original commit message from CVS: Patch by: Olivier Crete <tester at tester dot ca> * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_setcaps_send_rtp), (create_send_rtp_sink): * gst/rtpmanager/rtpsession.c: (rtp_session_set_internal_ssrc): When an SSRC is found on the caps of the sender RTP, use this as the internal SSRC. Fixes #565910.
* gst/rtpmanager/: Rename a method to better reflect what it really does.Wim Taymans2009-08-113-19/+9
| | | | | | | | | | | Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_event_send_rtp_sink), (gst_rtp_session_getcaps_send_rtp): * gst/rtpmanager/rtpsession.c: (check_collision), (rtp_session_schedule_bye_locked), (rtp_session_schedule_bye): * gst/rtpmanager/rtpsession.h: Rename a method to better reflect what it really does.
* gst/rtpmanager/gstrtpsession.c: Use method to get the internal SSRC.Wim Taymans2009-08-112-2/+16
| | | | | | | | | | | Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_getcaps_send_rtp): Use method to get the internal SSRC. * gst/rtpmanager/rtpsession.c: (rtp_session_class_init), (rtp_session_set_property), (rtp_session_get_property): Add property to congiure the internal SSRC of the session. Fixes #565910.
* gst/rtpmanager/rtpsession.c: Only change the SSRC of the session and reset ↵Wim Taymans2009-08-111-6/+8
| | | | | | | | | the internal source when the SSRC actually... Original commit message from CVS: * gst/rtpmanager/rtpsession.c: (rtp_session_set_internal_ssrc): Only change the SSRC of the session and reset the internal source when the SSRC actually changed. See #565910.
* gst/rtpmanager/rtpsource.*: When no payload was specified on the caps but ↵Wim Taymans2009-08-112-4/+18
| | | | | | | | | | | | there was a clock-rate, assume the clock-ra... Original commit message from CVS: * gst/rtpmanager/rtpsource.c: (rtp_source_init), (rtp_source_update_caps), (get_clock_rate): * gst/rtpmanager/rtpsource.h: When no payload was specified on the caps but there was a clock-rate, assume the clock-rate corresponds to the first payload type found in the RTP packets. Fixes #565509.
* gst/rtpmanager/rtpjitterbuffer.*: Keep track of the last outgoing timestamp ↵Arnout Vandecappelle2009-08-112-2/+32
| | | | | | | | | | | | | | and of the last sender-side time. Timest... Original commit message from CVS: Patch by: Arnout Vandecappelle <arnout at mind dot be> * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_reset_skew), (calculate_skew): * gst/rtpmanager/rtpjitterbuffer.h: Keep track of the last outgoing timestamp and of the last sender-side time. Timestamps can only go forward if they do at the sender side, can only go back if they do at the sender side, and remain the same if they remain the same at the sender side. Fixes #565319.
* gst/rtpmanager/rtpsession.c: Make obtain_source return an aditional ref so ↵Wim Taymans2009-08-111-9/+18
| | | | | | | | | | | | | | that we don't lose our ref to it when a se... Original commit message from CVS: * gst/rtpmanager/rtpsession.c: (obtain_source), (rtp_session_create_source), (rtp_session_process_rtp), (rtp_session_process_sr), (rtp_session_process_rr), (rtp_session_process_sdes), (rtp_session_process_bye): Make obtain_source return an aditional ref so that we don't lose our ref to it when a session cleanup occurs when we are emiting a signal. Emit the on_new_ssrc signal for the CSRC, not the SSRC. Fixes #562319.
* gst/rtpmanager/gstrtpbin.c: Reset the sync parameters when clearing the ↵Wim Taymans2009-08-111-24/+27
| | | | | | | | | | payload type map too. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_reset_sync), (gst_rtp_bin_clear_pt_map): Reset the sync parameters when clearing the payload type map too. Fixes #562312.
* gst/rtpmanager/gstrtpbin.*: Remove a lot of per stream state that is not ↵Wim Taymans2009-08-112-66/+67
| | | | | | | | | | | | | | | | needed and pass new info in the method call. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (get_client), (gst_rtp_bin_reset_sync), (gst_rtp_bin_associate), (gst_rtp_bin_handle_sync), (create_stream), (gst_rtp_bin_class_init), (new_ssrc_pad_found): * gst/rtpmanager/gstrtpbin.h: Remove a lot of per stream state that is not needed and pass new info in the method call. Add signal to reset sync parameters. Avoid parsing the caps to get a clock_base, we get this from the sync signal now.
* gst/rtpmanager/gstrtpsession.c: Fix event leak.Wim Taymans2009-08-111-1/+5
| | | | | | | Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_event_send_rtcp_src): Fix event leak.
* gst/rtpmanager/rtpsession.c: Add property to configure the RTCP MTU.Wim Taymans2009-08-111-1/+15
| | | | | | | | Original commit message from CVS: * gst/rtpmanager/rtpsession.c: (rtp_session_class_init), (rtp_session_init), (rtp_session_set_property), (rtp_session_get_property): Add property to configure the RTCP MTU.
* gst/rtpmanager/rtpsession.c: Add G_PARAM_STATIC_STRINGS.Wim Taymans2009-08-112-120/+141
| | | | | | | | | | | | | | | | | Original commit message from CVS: * gst/rtpmanager/rtpsession.c: (rtp_session_class_init), (copy_source), (rtp_session_create_sources), (rtp_session_get_property): Add G_PARAM_STATIC_STRINGS. Add property to return a GValueArray of all known RTPSources in the session. * gst/rtpmanager/rtpsource.c: (rtp_source_class_init), (rtp_source_create_sdes), (rtp_source_set_property), (rtp_source_get_property): Remove properties to set the various SDES items, an application is never supposed to change the RTPSource data. Change the SDES getter properties to one SDES property that returns all SDES items in a GstStructure.
* gst/rtpmanager/gstrtpbin.c: Also unref the target pad for unknown pads.Wim Taymans2009-08-111-1/+1
| | | | | | Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_release_pad): Also unref the target pad for unknown pads.
* gst/rtpmanager/gstrtpbin.c: Release the right pads on rtpbin. Fixes #561752.Olivier Crete2009-08-111-6/+12
| | | | | | | Original commit message from CVS: Patch by: Olivier Crete <tester at tester dot ca> * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_release_pad): Release the right pads on rtpbin. Fixes #561752.
* gst/rtpmanager/gstrtpsession.c: Pass the running time to the session when ↵Wim Taymans2009-08-116-60/+213
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | processing RTP packets. Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (get_current_times), (rtcp_thread), (gst_rtp_session_chain_recv_rtp): Pass the running time to the session when processing RTP packets. Improve the time function to provide more info. * gst/rtpmanager/rtpsession.c: (rtp_session_class_init), (rtp_session_init), (update_arrival_stats), (rtp_session_process_rtp), (rtp_session_process_sdes), (rtp_session_process_rtcp), (session_start_rtcp), (rtp_session_on_timeout): * gst/rtpmanager/rtpsession.h: Mark the internal source with a flag. Use running_time instead of the more useless timestamp. Validate a source when a valid SDES has been received. Pass the current system time when processing SR packets. * gst/rtpmanager/rtpsource.c: (rtp_source_class_init), (rtp_source_init), (rtp_source_create_stats), (rtp_source_get_property), (rtp_source_send_rtp), (rtp_source_process_rb), (rtp_source_get_new_rb), (rtp_source_get_last_rb): * gst/rtpmanager/rtpsource.h: Add property to get source stats. Mark params as STATIC_STRINGS. Calculate the bitrate at the sender SSRC. Avoid negative values in the round trip time calculations. * gst/rtpmanager/rtpstats.h: Update some docs and change some variable name to more closely reflect what it contains.
* gst/rtpmanager/gstrtpjitterbuffer.c: Initialize return value to fix compiler ↵Sebastian Dröge2009-08-111-1/+1
| | | | | | | | | | warning about uninitialized variable. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_chain_rtcp): Initialize return value to fix compiler warning about uninitialized variable.