summaryrefslogtreecommitdiffstats
path: root/gst
Commit message (Collapse)AuthorAgeFilesLines
* gst/rtpmanager/gstrtpbin-marshal.list: Some more custom marshallers.Wim Taymans2009-08-117-27/+191
| | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * gst/rtpmanager/gstrtpbin-marshal.list: Some more custom marshallers. * gst/rtpmanager/gstrtpbin.c: (create_session), (get_pt_map), (clock_rate_request), (create_stream), (gst_rtp_bin_class_init), (pt_map_requested), (new_ssrc_pad_found), (create_recv_rtp): * gst/rtpmanager/gstrtpbin.h: Prepare for caching pt maps. Connect to signals to collect pt maps. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_class_init), (gst_jitter_buffer_sink_setcaps), (gst_rtp_jitter_buffer_loop): * gst/rtpmanager/gstrtpjitterbuffer.h: Add request_clock_rate signal. Use scale insteat of scale_int because the later does not deal with negative numbers. * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_class_init), (gst_rtp_pt_demux_chain): * gst/rtpmanager/gstrtpptdemux.h: Implement request-pt-map signal.
* gst/rtpmanager/: Added custom marshallers for signals.Wim Taymans2009-08-117-9/+42
| | | | | | | | | | | | | | | Original commit message from CVS: * gst/rtpmanager/.cvsignore: * gst/rtpmanager/Makefile.am: * gst/rtpmanager/gstrtpbin-marshal.list: Added custom marshallers for signals. * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init): * gst/rtpmanager/gstrtpbin.h: Prepare for emiting pt map signals. * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_class_init): * gst/rtpmanager/gstrtpssrcdemux.c: (gst_rtp_ssrc_demux_class_init): Fix signals.
* gst/rtpmanager/gstrtpbin.*: Provide a clock.Wim Taymans2009-08-112-0/+15
| | | | | | | | Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init), (gst_rtp_bin_init), (gst_rtp_bin_provide_clock): * gst/rtpmanager/gstrtpbin.h: Provide a clock.
* gst/rtpmanager/gstrtpbin.c: Fix pad template name parsing.Wim Taymans2009-08-111-1/+1
| | | | | | Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_rtcp): Fix pad template name parsing.
* gst/rtpmanager/gstrtpjitterbuffer.c: Add some debug and comments.Wim Taymans2009-08-111-6/+15
| | | | | | | | | Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_jitter_buffer_sink_setcaps), (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop): Add some debug and comments. Fix double unref() in error cases.
* gst/rtpmanager/gstrtpbin.*: Add debugging category.Wim Taymans2009-08-117-56/+446
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (find_session_by_id), (create_session), (find_stream_by_ssrc), (create_stream), (gst_rtp_bin_class_init), (new_payload_found), (new_ssrc_pad_found), (create_recv_rtp), (create_recv_rtcp), (create_send_rtp), (create_rtcp): * gst/rtpmanager/gstrtpbin.h: Add debugging category. Added RTPStream to manage stream per SSRC, each with its own jitterbuffer and ptdemux. Added SSRCDemux. Connect to various SSRC and PT signals and create ghostpads, link stuff. * gst/rtpmanager/gstrtpmanager.c: (plugin_init): Added rtpbin to elements. * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_chain): Fix caps and forward GstFlowReturn * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init), (gst_rtp_session_event_recv_rtp_sink), (gst_rtp_session_chain_recv_rtp), (gst_rtp_session_event_recv_rtcp_sink), (gst_rtp_session_chain_recv_rtcp), (gst_rtp_session_event_send_rtp_sink), (gst_rtp_session_chain_send_rtp), (create_recv_rtp_sink), (create_recv_rtcp_sink), (create_send_rtp_sink), (create_rtcp_src), (gst_rtp_session_request_new_pad): Add debug category. Add event handling * gst/rtpmanager/gstrtpssrcdemux.c: (find_rtp_pad_for_ssrc), (create_rtp_pad_for_ssrc), (gst_rtp_ssrc_demux_class_init), (gst_rtp_ssrc_demux_init), (gst_rtp_ssrc_demux_chain), (gst_rtp_ssrc_demux_change_state): * gst/rtpmanager/gstrtpssrcdemux.h: Add debug category. Add new-pt-pad signal.
* gst/rtpmanager/: Added simple SSRC demuxer.Wim Taymans2009-08-114-0/+360
| | | | | | | | | | | | | | Original commit message from CVS: * gst/rtpmanager/Makefile.am: * gst/rtpmanager/gstrtpmanager.c: (plugin_init): * gst/rtpmanager/gstrtpssrcdemux.c: (find_pad_for_ssrc), (create_pad_for_ssrc), (gst_rtp_ssrc_demux_base_init), (gst_rtp_ssrc_demux_class_init), (gst_rtp_ssrc_demux_init), (gst_rtp_ssrc_demux_finalize), (gst_rtp_ssrc_demux_sink_event), (gst_rtp_ssrc_demux_chain), (gst_rtp_ssrc_demux_src_event), (gst_rtp_ssrc_demux_change_state): * gst/rtpmanager/gstrtpssrcdemux.h: Added simple SSRC demuxer.
* gst/rtpmanager/: Some more ghostpad magic.Wim Taymans2009-08-113-7/+350
| | | | | | | | | | | Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (find_session_by_id), (create_session), (gst_rtp_bin_base_init), (create_recv_rtp), (create_recv_rtcp), (create_send_rtp), (create_rtcp), (gst_rtp_bin_request_new_pad): * gst/rtpmanager/gstrtpbin.h: * gst/rtpmanager/gstrtpclient.c: Some more ghostpad magic.
* gst/rtpmanager/Makefile.am: Add .h file so it can be disted properly.Wim Taymans2009-08-111-0/+1
| | | | | | Original commit message from CVS: * gst/rtpmanager/Makefile.am: Add .h file so it can be disted properly.
* Add RTP session management elements. Still in progress.Wim Taymans2009-08-1114-0/+3841
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * configure.ac: * gst/rtpmanager/Makefile.am: * gst/rtpmanager/async_jitter_queue.c: (async_jitter_queue_new), (signal_waiting_threads), (async_jitter_queue_ref), (async_jitter_queue_ref_unlocked), (async_jitter_queue_set_low_threshold), (async_jitter_queue_set_high_threshold), (async_jitter_queue_set_max_queue_length), (async_jitter_queue_get_g_queue), (calculate_ts_diff), (async_jitter_queue_length_ts_units_unlocked), (async_jitter_queue_unref_and_unlock), (async_jitter_queue_unref), (async_jitter_queue_lock), (async_jitter_queue_unlock), (async_jitter_queue_push), (async_jitter_queue_push_unlocked), (async_jitter_queue_push_sorted), (async_jitter_queue_push_sorted_unlocked), (async_jitter_queue_insert_after_unlocked), (async_jitter_queue_pop_intern_unlocked), (async_jitter_queue_pop), (async_jitter_queue_pop_unlocked), (async_jitter_queue_length), (async_jitter_queue_length_unlocked), (async_jitter_queue_set_flushing_unlocked), (async_jitter_queue_unset_flushing_unlocked), (async_jitter_queue_set_blocking_unlocked): * gst/rtpmanager/async_jitter_queue.h: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_base_init), (gst_rtp_bin_class_init), (gst_rtp_bin_init), (gst_rtp_bin_finalize), (gst_rtp_bin_set_property), (gst_rtp_bin_get_property), (gst_rtp_bin_change_state), (gst_rtp_bin_request_new_pad), (gst_rtp_bin_release_pad): * gst/rtpmanager/gstrtpbin.h: * gst/rtpmanager/gstrtpclient.c: (new_pad), (create_stream), (free_stream), (find_stream_by_ssrc), (gst_rtp_client_base_init), (gst_rtp_client_class_init), (gst_rtp_client_init), (gst_rtp_client_finalize), (gst_rtp_client_set_property), (gst_rtp_client_get_property), (gst_rtp_client_change_state), (gst_rtp_client_request_new_pad), (gst_rtp_client_release_pad): * gst/rtpmanager/gstrtpclient.h: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_base_init), (gst_rtp_jitter_buffer_class_init), (gst_rtp_jitter_buffer_init), (gst_rtp_jitter_buffer_dispose), (gst_rtp_jitter_buffer_getcaps), (gst_jitter_buffer_sink_setcaps), (free_func), (gst_rtp_jitter_buffer_flush_start), (gst_rtp_jitter_buffer_flush_stop), (gst_rtp_jitter_buffer_src_activate_push), (gst_rtp_jitter_buffer_change_state), (priv_compare_rtp_seq_lt), (compare_rtp_buffers_seq_num), (gst_rtp_jitter_buffer_sink_event), (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_query), (gst_rtp_jitter_buffer_set_property), (gst_rtp_jitter_buffer_get_property): * gst/rtpmanager/gstrtpjitterbuffer.h: * gst/rtpmanager/gstrtpmanager.c: (plugin_init): * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_base_init), (gst_rtp_pt_demux_class_init), (gst_rtp_pt_demux_init), (gst_rtp_pt_demux_finalize), (gst_rtp_pt_demux_chain), (gst_rtp_pt_demux_getcaps), (find_pad_for_pt), (gst_rtp_pt_demux_setup), (gst_rtp_pt_demux_release), (gst_rtp_pt_demux_change_state): * gst/rtpmanager/gstrtpptdemux.h: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_base_init), (gst_rtp_session_class_init), (gst_rtp_session_init), (gst_rtp_session_finalize), (gst_rtp_session_set_property), (gst_rtp_session_get_property), (gst_rtp_session_change_state), (gst_rtp_session_chain_recv_rtp), (gst_rtp_session_chain_recv_rtcp), (gst_rtp_session_chain_send_rtp), (create_recv_rtp_sink), (create_recv_rtcp_sink), (create_send_rtp_sink), (create_rtcp_src), (gst_rtp_session_request_new_pad), (gst_rtp_session_release_pad): * gst/rtpmanager/gstrtpsession.h: Add RTP session management elements. Still in progress.
* avidemux: push mode; cater for chunk paddingMark Nauwelaerts2009-08-101-0/+7
|
* avidemux: only use stream's pad after having checked it existsMark Nauwelaerts2009-08-101-5/+8
|
* avidemux: sprinkle some more GST_DEBUG_FUNCPTRMark Nauwelaerts2009-08-101-5/+9
|
* avidemux: post error message if no pads to push EOS event onMark Nauwelaerts2009-08-101-3/+22
|
* avidemux: fix typo in warning messageMark Nauwelaerts2009-08-101-1/+1
|
* avidemux: fix some buffer ref handlingMark Nauwelaerts2009-08-101-5/+31
|
* avidemux: do not exceed maximum number of supported streamsMark Nauwelaerts2009-08-101-1/+12
|
* avidemux: prevent double unref; gst_avi_demux_parse_avih already unrefsMark Nauwelaerts2009-08-101-2/+0
|
* avidemux: verify size of INFO LIST to satisfy subsequent expectationsMark Nauwelaerts2009-08-101-5/+17
|
* avidemux: check video stream framerate against avi header frame durationMark Nauwelaerts2009-08-101-1/+18
| | | | | The former might be bogus in silly cases, and the latter seems to carry more weight.
* avidemux: streamline stream duration calculationMark Nauwelaerts2009-08-101-23/+23
|
* matroska: remove dead assignmentsEdward Hervey2009-08-101-3/+2
|
* rtp: Remove dead assignments and resulting unneeded variables.Edward Hervey2009-08-104-97/+4
|
* matroska: Adds support to muxing/demuxing WMAThiago Santos2009-08-093-20/+92
| | | | | | Adds support for muxing wma audio family and fixes demuxing of wma family in matroskademux. matroskademux was broken because it missed codec_data.
* matroskamux: adds support for wmv familyThiago Santos2009-08-091-2/+20
| | | | | | Adds support to WMV1, WMV2, WMV3 and other family formats that are signaled by the 'format' field in the caps (i.e. WVC1). Partially fixes #576378
* id3demux: Try GST_*_TAG_ENCODING and locale encoding if tags are not UTF8LoneStar2009-08-091-2/+70
| | | | Fixes bug #499242.
* matroska: add kate subtitle support to matroska muxer and demuxerVincent Penquerc'h2009-08-083-1/+185
| | | | See #525743.
* id3demux: add ID3 v2.3 spec as wellTim-Philipp Müller2009-08-071-0/+1422
|
* id3demux: sizes in ID3 v2.3 are unlikely to be sync-safe integersTim-Philipp Müller2009-08-071-1/+5
| | | | | | | In ID3 v2.3 compressed frames will have a 4-byte data length indicator after the frame header to indicate the size of the decompressed data. This integer is unlikely to be a sync-safe integer for v2.3 tags, only in v2.4 it's sync-safe.
* id3demux: fix typo in debug messageTim-Philipp Müller2009-08-071-1/+1
|
* id3demux: fix parsing of unsync'ed ID3 v2.4 tags and framesTim-Philipp Müller2009-08-073-8/+29
| | | | | | | | | | | | | | | | Reversing the unsynchronisation seems to work slightly differently for ID3 v2.3 tags and v2.4 tags: v2.3 tags don't have syncsafe frame sizes in the frame header, so the unsynchronisation is applied to the whole frame data including all the frame headers. v2.4 frames have sync-safe sizes, however, so the unsynchronisation only needs to be applied to the actual frame data, and it seems that's what's being done as well. So we need to undo the unsynchronisation on a per-frame basis for v2.4 tags for things to work properly. Fixes extraction of coverart/images from APIC frames in ID3 v2.4 tags (#588148). Add unit test for this as well.
* rtph264pay: use array instead of queueWim Taymans2009-08-062-9/+12
|
* rtph264pay: push NALs only after SPS/PPSMark Nauwelaerts2009-08-062-48/+74
| | | | | | parse complete (bytestream) buffer for SPS/PPS before pushing NALs. Fixes #564501.
* rtpqdm2depay: Fix debug statement.Edward Hervey2009-08-041-1/+1
|
* rtpqdm2depay,rtpsv3vdepay: Add debugging category.Edward Hervey2009-08-032-0/+12
|
* rtpqdm2depay: Handle gaps in incoming packets.Edward Hervey2009-08-032-1/+18
| | | | | | Whenever we see a gap, we flush the temporary packets (but not the adapter). If we had some data temporarily stored it will be outputted (the sound will sound a bit garbled... but that's how it sounds on MacOSX :)
* rtpqdmdepay: Fix CRC calculation and remove commented code.Edward Hervey2009-08-031-25/+15
|
* rtp: New QDM2 rtp depayloader.Edward Hervey2009-08-034-0/+500
| | | | | | | | | | | Reverse-engineered by comparing: * A rtp hinted file provided by DarwinStreamingServer * The output procued by DSS for that same file Also used various streaming sources available on the internet to fine-tune the code. The header/codec_data extraction methods are from FFMpeg (LGPL).
* rtpsv3vdepay: Properly fill codec_data and cleanup code a bite more.Edward Hervey2009-08-031-104/+119
|
* rtpsv3vdepay: Only output buffers once we're configured.Edward Hervey2009-08-032-9/+19
|
* rtpsv3vdepay: Add more encoding-name variantsEdward Hervey2009-08-031-1/+1
|
* flvmux: Fix writing of the index for < 128 buffersSebastian Dröge2009-08-031-1/+2
| | | | Partially fixes bug #590447.
* flvmux: Fix resetting of the elementSebastian Dröge2009-08-031-6/+3
| | | | | | | Reset the have_video/have_audio flags and make sure to properly release the request pads. Partially fixes bug #590447.
* rtspsrc: don't add non-utf8 chars to structuresWim Taymans2009-08-031-0/+4
|
* jpegdepay: use attributes for extra propertiesLuc Deschenaux2009-08-032-5/+66
| | | | | | | | Use some of the SDP attributes when they are present to specify the output dimension and framerate. This allows us to receive jpeg frames larger than 2040 width/height. Fixes #564437
* RTP docs: update with attributes in capsWim Taymans2009-08-031-0/+6
|
* rtspsrc: put all SDP attributes on capsLuc Deschenaux2009-08-031-0/+53
| | | | | | | Put the SDP attributes on the caps too so that they can be used by depayloaders. See #564437
* multiudpsink: don't do things with side-effects inside g_return_val_if_fail()Tim-Philipp Müller2009-08-021-3/+4
| | | | Someone might compile this code with -DG_DISABLE_ASSERT some day.
* flvmux: fix invalid write caused by using sizeof("string") as lengthTim-Philipp Müller2009-07-311-8/+8
| | | | | | | | | sizeof("foo") includes the string's NUL-terminator in the size returned, but we're writing strings here with an explicit size at the beginning and no NUL-terminator. In most cases using sizeof("foo") as length in memcpy is not harmful, but it is where the string goes right at the end of our buffer to write, since we don't allocate space for that NUL terminator.
* avidemux: Fix last commit and improve readabilitySebastian Dröge2009-07-291-14/+15
|