=== release 0.10.16 === 2009-08-29 Tim-Philipp Müller * configure.ac: releasing 0.10.16, "Secret Handshakes" 2009-08-26 00:58:45 +0100 Tim-Philipp Müller * configure.ac: 0.10.15.5 pre-release 2009-08-25 16:53:29 +0200 Wim Taymans * ext/pulse/pulsesink.c: pulsesink: don't use relative seeks Don't use relative seeks, it's too hard to track where we are after a flush etc. fixes #593015 2009-08-24 17:50:29 +0100 Tim-Philipp Müller * configure.ac: * po/LINGUAS: * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/lv.po: * po/mt.po: * po/nb.po: * po/nl.po: * po/or.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_HK.po: * po/zh_TW.po: 0.10.15.4 pre-release 2009-08-24 16:22:47 +0200 Wim Taymans * ext/pulse/pulsesrc.c: pulsesrc: don't discard the result of _set_caps() Use the result of gst_pad_set_caps() instead of assuming success. See #590678 2009-08-21 11:44:43 +0200 Wim Taymans * gst/qtdemux/qtdemux.c: * gst/qtdemux/qtdemux_fourcc.h: qtdemux: add support for agsm Fixes #592530 2009-08-18 17:16:11 +0200 Mark Nauwelaerts * gst/qtdemux/qtdemux.c: qtdemux: fix qt style string tag extraction QT style tags are tested on starting with (C) symbol using >>, and (unsigned) int (may) have different >> behaviour. Fixes #592232. 2009-08-17 15:48:20 +0100 Tim-Philipp Müller * ext/jpeg/smokecodec.c: smokeenc: don't crash when compiled against libjpeg7 Set parameters so that we don't crash with libjpeg7. Based on Stefan Kost's fix for jpegenc. Fixes #591951. 2009-08-14 20:18:04 +0100 Tim-Philipp Müller * configure.ac: * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/mt.po: * po/nb.po: * po/nl.po: * po/or.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_HK.po: * po/zh_TW.po: 0.10.15.3 pre-release 2009-08-14 13:45:08 +0100 Tim-Philipp Müller * tests/check/elements/rtpbin.c: checks: add test for leak to rtpbin unit test See #591476. 2009-08-11 14:47:12 -0400 Olivier Crête * gst/rtpmanager/gstrtpbin.c: rtpbin: Fix reference leak Fixes #591476. 2009-08-14 13:34:53 +0100 Zaheer Merali * ext/dv/gstdvdec.c: dvdec: set bottom field first on PAL interlaced content, not top field first DV interlaced content is always bottom field first. Fixes #591712. 2009-08-14 12:44:06 +0100 Hans de Goede * sys/v4l2/gstv4l2src.c: v4l2src: fix 'hang' with some cameras caused by bad timestamping if no framerate is available For cameras/drivers that don't support e.g. VIDIOC_G_PARM we'd end up without a framerate and would try to divide by 0, causing run-time warnings and all frames to be timestamped with 0, which makes sinks that sync against the clock drop them, causing 'hangs' (observed with the pwc driver and a Logitech QuickCam Pro 4000). So if we do not know the framerate, simply don't adjust the timestamps. Fixes #591451. 2009-08-14 10:11:25 +0200 Filippo Argiolas * sys/v4l2/gstv4l2object.c: * sys/v4l2/gstv4l2src.c: v4l2src: clear format list in READY->NULL Clear format list and probed caps when going to NULL so if a new device is set we'll probe the formats again instead of using previously detected ones. Fixes bug #591747. 2009-08-11 17:30:41 +0100 Tim-Philipp Müller * configure.ac: * po/LINGUAS: * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/de.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/mt.po: * po/nb.po: * po/nl.po: * po/or.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_HK.po: * po/zh_TW.po: 0.10.15.2 pre-release 2009-08-11 15:25:39 +0100 Tim-Philipp Müller * MAINTAINERS: Add myself to MAINTAINERS file and update Wim's e-mail. 2009-08-11 03:08:01 +0100 Tim-Philipp Müller * sys/v4l2/Makefile.am: v4l2: fix make distcheck by disting some more headers 2009-08-11 02:42:16 +0100 Tim-Philipp Müller * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/gst-plugins-good-plugins.hierarchy: * docs/plugins/gst-plugins-good-plugins.interfaces: * docs/plugins/gst-plugins-good-plugins.prerequisites: * docs/plugins/gst-plugins-good-plugins.signals: * docs/plugins/inspect/plugin-avi.xml: * docs/plugins/inspect/plugin-cairo.xml: * docs/plugins/inspect/plugin-matroska.xml: * docs/plugins/inspect/plugin-pulseaudio.xml: * docs/plugins/inspect/plugin-rtp.xml: * docs/plugins/inspect/plugin-video4linux2.xml: * docs/plugins/inspect/plugin-wavparse.xml: docs: update 2009-08-11 02:31:44 +0100 Tim-Philipp Müller * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/inspect/plugin-gstrtpmanager.xml: * gst-plugins-good.spec.in: * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/pipelines/.gitignore: Move rtpmanager from -bad to -good. Hook up build infrastructure (autotools, docs, unit test). 2009-08-06 19:26:21 +0200 ric * gst/rtpmanager/rtpsource.c: rtpsource: avoid buffer leak on bad seqnum Fixes #590797 2009-07-28 18:18:20 +0200 Wim Taymans * gst/rtpmanager/rtpsource.c: rtpsource: allow for NULL caps on buffers Add the NULL caps check where it matters and also cover another case of potential NULL caps. Fixes #590030 2009-07-28 11:59:56 -0400 Olivier Crête * gst/rtpmanager/rtpsource.c: rtpsource: Incoming buffers do not always have caps 2009-07-27 15:46:23 +0200 Wim Taymans * gst/rtpmanager/rtpsession.c: rtpsession: avoid doing lip-sync in BYE When we get a BYE packet, don't do lip-sync with the SR inside because some senders have trouble constructing valid SR packets after BYE. 2009-07-27 13:17:20 +0200 Wim Taymans * gst/rtpmanager/rtpsession.c: rtpbin: don't do lip-sync after a BYE After a BYE packet from a source, stop forwarding the SR packets for lip-sync to rtpbin. Some senders don't update their SR packets correctly after sending a BYE and then we break lip-sync. We prefer to let the jitterbuffers drain with the current lip-sync instead. 2009-07-27 12:43:02 +0200 Wim Taymans * gst/rtpmanager/rtpsession.c: rtpbin: only reconsider once for BYE When iterating the sources of a BYE packet, don't signal a reconsideration for each of them but signal after we handled all sources. 2009-07-21 15:33:41 -0400 Olivier Crête * gst/rtpmanager/rtpsession.c: rtpsession: Free conflicting addresses on finalize 2009-07-01 12:55:03 +0200 Wim Taymans * gst/rtpmanager/rtpsource.c: rtpbin: use new method for netaddress to string 2009-06-29 18:48:33 +0200 Wim Taymans * gst/rtpmanager/gstrtpbin.c: * tests/check/elements/rtpbin.c: rtpbin: do better cleanup of the src ghostpads Connect to the pad-removed signal of the ptdemux elements so that we remove the ghostpads for them. Fixes cleanup when going to NULL as well as when releasing the sinkpads. Fixes #561752 2009-05-28 19:08:40 +0200 Wim Taymans * gst/rtpmanager/rtpsession.c: rtpsession: add a comment 2009-06-29 16:37:54 +0200 Wim Taymans * gst/rtpmanager/gstrtpbin.c: * gst/rtpmanager/gstrtpbin.h: * gst/rtpmanager/gstrtpsession.c: rtpbin: add SDES property Remove all individual SDES properties and use one sdes property that takes a GstStructure instead. This will allow us to add more custom stuff to the SDES messages later. 2009-06-29 16:21:05 +0200 Wim Taymans * gst/rtpmanager/rtpsession.c: * gst/rtpmanager/rtpsession.h: * gst/rtpmanager/rtpsource.c: * gst/rtpmanager/rtpsource.h: rtpbin: add SDES property that takes GstStructure Remove all individual SDES properties and use one sdes property that takes a GstStructure instead. This will allow us to add more custom stuff to the SDES messages later. 2009-06-02 17:46:08 +0200 Wim Taymans * gst/rtpmanager/Makefile.am: * gst/rtpmanager/gstrtpclient.c: * gst/rtpmanager/gstrtpclient.h: * gst/rtpmanager/gstrtpmanager.c: rtpbin: removed old gstrtpclient 2009-06-19 19:09:19 +0200 Branko Subasic * gst/rtpmanager/gstrtpsession.c: * gst/rtpmanager/rtpsession.c: * gst/rtpmanager/rtpsession.h: * gst/rtpmanager/rtpsource.c: * gst/rtpmanager/rtpsource.h: * tests/check/elements/rtpbin_buffer_list.c: rtpbin: add support for buffer-list Add support for sending buffer-lists. Add unit test for testing that the buffer-list passed through rtpbin. fixes #585839 2009-06-19 16:21:28 +0100 Tim-Philipp Müller * gst/rtpmanager/gstrtpjitterbuffer.c: Make build without warnings with debugging disabled 2009-05-28 17:37:44 -0400 Olivier Crête * gst/rtpmanager/gstrtpbin.c: rtpbin: Transform the right session sdes message Fixes #584165 2009-05-28 17:33:10 -0400 Olivier Crête * gst/rtpmanager/rtpsource.c: Add ssrc to application/x-rtp-source-sdes structure 2009-05-27 11:03:14 +0200 Wim Taymans * gst/rtpmanager/rtpsource.c: rtpsouce: the network address is in network order Bring the network address in netowkr byte order to the host order. 2009-05-26 15:40:52 +0200 Wim Taymans * gst/rtpmanager/rtpsource.c: rtpsource: byteswap the port from GstNetAddress Since the port in GstNetAddress is in network order we might need to byteswap it before adding it to the source statistics. 2009-05-25 13:46:29 +0200 Wim Taymans * gst/rtpmanager/gstrtpbin.c: rtpbin: remove ptdemux ghostpads 2009-05-25 13:33:20 +0200 Wim Taymans * tests/check/elements/rtpbin.c: tests: add receive rtpbin unit test 2009-05-22 16:41:19 +0200 Wim Taymans * gst/rtpmanager/gstrtpbin.c: rtpbin: add to new signal to remove SSRC pads 2009-05-22 16:35:20 +0200 Ali Sabil * gst/rtpmanager/gstrtpbin-marshal.list: * gst/rtpmanager/gstrtpssrcdemux.c: * gst/rtpmanager/gstrtpssrcdemux.h: ssrcdemux: emit signal when pads are removed Add action signal to clear an SSRC in the ssrc demuxer. Add signal to notify of removed ssrc. See #554839 2009-05-22 15:45:19 +0200 Wim Taymans * gst/rtpmanager/gstrtpbin.c: rtpbin: use our ghostpads instead of its target 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. 2009-05-22 15:37:29 +0200 Wim Taymans * tests/check/elements/rtpbin.c: tests: more rtpbin checks 2009-05-22 15:36:17 +0200 Wim Taymans * gst/rtpmanager/gstrtpbin.c: rtpbin: don't warn when getting request pads twice Allow getting the request pads multiple times, just return the previously created pads. 2009-05-22 13:47:30 +0200 Wim Taymans * gst/rtpmanager/rtpsource.c: rtpsource: add RTP and RTCP source address Add the RTP and RTCP sender addresses in the stats structure. 2009-05-22 13:45:15 +0200 Wim Taymans * gst/rtpmanager/gstrtpsession.c: rtpsession: reuse source code for SDES Reuse the RTPSource object property instead of duplicating code. 2009-05-22 13:44:17 +0200 Wim Taymans * tests/check/elements/rtpbin.c: tests: add more rtpbin tests 2009-05-22 12:23:27 +0200 Wim Taymans * tests/check/elements/rtpbin.c: tests: add rtpbin unit test Add the beginnings of an rtpbin unit test Add some more stuff to .gitignore 2009-05-22 12:20:13 +0200 Wim Taymans * gst/rtpmanager/gstrtpbin.c: rtpbin: set target state on new elements Set the state on newly added elements to the state of the parent. Add some debug info and do some cleanups 2009-05-22 11:59:17 +0200 Wim Taymans * gst/rtpmanager/gstrtpbin.c: rtpbin: unref requests pads after releasing 2009-05-22 01:43:50 +0200 Olivier Crête * gst/rtpmanager/gstrtpbin.c: rtpbin: Implement releasing the streams See #561752 2009-05-22 01:16:11 +0200 Olivier Crête * gst/rtpmanager/gstrtpbin.c: rtpbin: Keep jb signals handler Keep the signal handlers so they can be disconnected at release time See #561752 2009-05-22 01:12:57 +0200 Wim Taymans * gst/rtpmanager/gstrtpbin.c: rtpbin: use the right lock for the sessions Use the right lock when iterating the sessions. 2009-05-22 01:03:55 +0200 Olivier Crête * gst/rtpmanager/gstrtpbin.c: rtpbin: Free session if request pads are released 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 2009-05-22 00:51:53 +0200 Olivier Crête * gst/rtpmanager/gstrtpbin.c: rtpbin: Implement relasing of the rtp recv pad 2009-05-22 00:44:51 +0200 Olivier Crête * gst/rtpmanager/gstrtpbin.c: rtpbin: Implement releasing of rtp send pads 2009-05-22 00:34:36 +0200 Olivier Crête * gst/rtpmanager/gstrtpbin.c: rtpbin: Implement release of the recv rtcp pad See #561752 2009-05-22 00:16:19 +0200 Olivier Crête * gst/rtpmanager/gstrtpbin.c: rtpbin: Implement releasing of rtcp src pad See #561752 2009-05-05 16:48:37 +0200 Wim Taymans * gst/rtpmanager/gstrtpssrcdemux.c: rtpssrcdemux: drop unexpected RTCP packets 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 2009-04-27 11:09:08 +0200 Olivier Crete * gst/rtpmanager/rtpsource.c: rtpsouce: make WARNING into LOG 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 2009-04-27 11:06:01 +0200 Olivier Crete * gst/rtpmanager/rtpsession.c: rtpsession: notify when SSRC changes Emit a g_object_notify when the SSRc changes because of a collision. Fixes #580144 2009-04-17 16:16:29 +0200 Wim Taymans * gst/rtpmanager/gstrtpsession.c: rtpsession: join the RTCP thread Avoid a case where a joinable thread would be left unjoined, which leaked the thread structure. Fixes #577318. 2009-04-15 18:14:48 +0200 Wim Taymans * gst/rtpmanager/gstrtpjitterbuffer.c: jitterbuffer: prevent overflow in EOS estimation Use a guint64 instead of a guint to hold a 64bit value to prevent completely bogues EOS estimation values due to overflows. 2009-04-15 17:44:17 +0200 Wim Taymans * gst/rtpmanager/gstrtpbin.c: * gst/rtpmanager/gstrtpbin.h: rtpbin: we should not provide a clock There is no need to provide a clock. 2009-04-15 17:28:56 +0200 Wim Taymans * gst/rtpmanager/gstrtpjitterbuffer.c: jitterbuffer: more estimated EOS fixes Do more accurate EOS estimate and guard against backward timestamps. 2009-04-15 17:25:02 +0200 Wim Taymans * gst/rtpmanager/gstrtpjitterbuffer.c: jitterbuffer: release lock before pushing EOS Make sure we release the jitterbuffer lock before we start pushing out data because else we might deadlock. 2009-03-27 17:44:57 +0100 Wim Taymans * gst/rtpmanager/gstrtpbin.c: * gst/rtpmanager/gstrtpbin.h: * gst/rtpmanager/gstrtpjitterbuffer.c: * gst/rtpmanager/gstrtpjitterbuffer.h: rtpbin: add on_npt_stop signal Add the on_npt_stop signal to rtpbin and rtpjitterbuffer to notify the application that the NPT stop position has been reached. 2009-03-13 15:59:37 +0100 Wim Taymans * gst/rtpmanager/gstrtpsession.c: rtpbin: don't return FALSE on seek events Silently ignore the seek event instead of returning FALSE. 2009-02-26 13:10:29 +0100 Olivier Crête * gst/rtpmanager/gstrtpsession.c: gstrtpbin: Don't forward revc events to sender Don't send events from the receiver to the sender side. Fixes #572900. 2009-02-25 11:45:05 +0200 Stefan Kost * gst/rtpmanager/rtpjitterbuffer.c: docs: various doc fixes 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. 2009-01-23 12:13:00 +0100 Wim Taymans * gst/rtpmanager/rtpstats.c: Send BYE packets immediatly for small sessions 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. 2009-01-22 13:33:14 +0100 Wim Taymans * gst/rtpmanager/gstrtpjitterbuffer.c: Unlock the jitterbuffer before pushing out the packet-lost events. Move some code before we do the unlock to make the jitterbuffer state consistent while we are unlocked. 2009-01-02 17:40:06 +0000 Olivier Crete gst/rtpmanager/: When an SSRC is found on the caps of the sender RTP, use this as the internal SSRC. Fixes #565910. Original commit message from CVS: Patch by: Olivier Crete * 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. 2009-01-02 16:50:53 +0000 Wim Taymans gst/rtpmanager/: Rename a method to better reflect what it really does. 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. 2008-12-29 15:49:37 +0000 Wim Taymans gst/rtpmanager/gstrtpsession.c: Use method to get the internal SSRC. 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. 2008-12-29 15:21:58 +0000 Wim Taymans gst/rtpmanager/rtpsession.c: Only change the SSRC of the session and reset 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. 2008-12-29 14:21:47 +0000 Wim Taymans gst/rtpmanager/rtpsource.*: When no payload was specified on the caps but 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. 2008-12-23 11:39:59 +0000 Arnout Vandecappelle gst/rtpmanager/rtpjitterbuffer.*: Keep track of the last outgoing timestamp and of the last sender-side time. Timest... Original commit message from CVS: Patch by: Arnout Vandecappelle * 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. 2008-11-26 12:40:18 +0000 Wim Taymans gst/rtpmanager/rtpsession.c: Make obtain_source return an aditional ref so 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. 2008-11-26 12:02:21 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Reset the sync parameters when clearing the 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. 2008-11-26 11:44:37 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.*: Remove a lot of per stream state that is not 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. 2008-11-25 15:12:06 +0000 Wim Taymans gst/rtpmanager/gstrtpsession.c: Fix event leak. Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_event_send_rtcp_src): Fix event leak. 2008-11-22 15:31:36 +0000 Wim Taymans gst/rtpmanager/rtpsession.c: Add property to configure the RTCP MTU. 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. 2008-11-22 15:24:47 +0000 Wim Taymans gst/rtpmanager/rtpsession.c: Add G_PARAM_STATIC_STRINGS. 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. 2008-11-22 13:17:24 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Also unref the target pad for unknown pads. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_release_pad): Also unref the target pad for unknown pads. 2008-11-21 16:17:22 +0000 Olivier Crete gst/rtpmanager/gstrtpbin.c: Release the right pads on rtpbin. Fixes #561752. Original commit message from CVS: Patch by: Olivier Crete * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_release_pad): Release the right pads on rtpbin. Fixes #561752. 2008-11-20 18:41:34 +0000 Wim Taymans gst/rtpmanager/gstrtpsession.c: Pass the running time to the session when 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. 2008-11-20 08:19:15 +0000 Sebastian Dröge gst/rtpmanager/gstrtpjitterbuffer.c: Initialize return value to fix compiler 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. 2008-11-19 16:48:38 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Mark signal arg as static scope. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_class_init): Mark signal arg as static scope. 2008-11-19 09:06:29 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Remove internal sync pad, use signals instead to get lip-sync notifications. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_associate), (gst_rtp_bin_handle_sync), (create_stream), (free_stream), (new_ssrc_pad_found): Remove internal sync pad, use signals instead to get lip-sync notifications. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_base_init), (gst_rtp_jitter_buffer_class_init), (gst_rtp_jitter_buffer_internal_links), (create_rtcp_sink), (remove_rtcp_sink), (gst_rtp_jitter_buffer_request_new_pad), (gst_rtp_jitter_buffer_release_pad), (gst_rtp_jitter_buffer_sink_rtcp_event), (gst_rtp_jitter_buffer_chain_rtcp), (gst_rtp_jitter_buffer_get_property): * gst/rtpmanager/gstrtpjitterbuffer.h: Make it possible to send SR packets to the jitterbuffer. Check if the SR timestamps are valid by comparing them to the RTP timestamps. Signal the SR packet and the timing information to listeners. * gst/rtpmanager/gstrtpssrcdemux.c: (create_demux_pad_for_ssrc), (gst_rtp_ssrc_demux_rtcp_chain), (gst_rtp_ssrc_demux_src_query): Remove some unused code. * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_reset_skew), (calculate_skew), (rtp_jitter_buffer_get_sync): * gst/rtpmanager/rtpjitterbuffer.h: Keep track of the last seen RTP timestamp so that we can filter out invalid SR packets. 2008-11-17 19:47:32 +0000 Sebastian Dröge gst/rtpmanager/rtpsource.c: Fix GST_DEBUG call to only have as many arguments as required by the format string. Fixes... Original commit message from CVS: * gst/rtpmanager/rtpsource.c: (get_clock_rate): Fix GST_DEBUG call to only have as many arguments as required by the format string. Fixes a compiler warning. 2008-11-17 15:17:52 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Do not try to keep track of the clock-rate ourselves but simply get the value from the ji... Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_associate), (gst_rtp_bin_sync_chain), (create_stream), (new_ssrc_pad_found): Do not try to keep track of the clock-rate ourselves but simply get the value from the jitterbuffer. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_get_sync): * gst/rtpmanager/gstrtpjitterbuffer.h: Add some debug info. Pass the clock-rate to the jitterbuffer. Also pass the clock-rate along with the rtp timestamp when getting the sync parameters. * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_chain): Fix some debug. * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_reset_skew), (calculate_skew), (rtp_jitter_buffer_get_sync): * gst/rtpmanager/rtpjitterbuffer.h: Keep track of clock-rate changes and return the clock-rate together with the rtp timestamps used for sync. Don't try to construct timestamps when we have no base_time. * gst/rtpmanager/rtpsource.c: (get_clock_rate): Request a new clock-rate when the payload type changes. Reset the jitter calculation when the clock-rate changes. 2008-11-13 15:48:54 +0000 Wim Taymans gst/rtpmanager/: Small cleanups and some more debug info. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_flush_stop), (gst_rtp_jitter_buffer_chain): * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_reset_skew), (calculate_skew): Small cleanups and some more debug info. 2008-11-10 15:26:40 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Also configure the next expected output seqnum when we get a seqnum-base on the ... Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_chain): Also configure the next expected output seqnum when we get a seqnum-base on the caps. 2008-11-04 12:42:30 +0000 Stefan Kost Don't install static libs for plugins. Fixes #550851 for -bad. Original commit message from CVS: * ext/alsaspdif/Makefile.am: * ext/amrwb/Makefile.am: * ext/apexsink/Makefile.am: * ext/arts/Makefile.am: * ext/artsd/Makefile.am: * ext/audiofile/Makefile.am: * ext/audioresample/Makefile.am: * ext/bz2/Makefile.am: * ext/cdaudio/Makefile.am: * ext/celt/Makefile.am: * ext/dc1394/Makefile.am: * ext/dirac/Makefile.am: * ext/directfb/Makefile.am: * ext/divx/Makefile.am: * ext/dts/Makefile.am: * ext/faac/Makefile.am: * ext/faad/Makefile.am: * ext/gsm/Makefile.am: * ext/hermes/Makefile.am: * ext/ivorbis/Makefile.am: * ext/jack/Makefile.am: * ext/jp2k/Makefile.am: * ext/ladspa/Makefile.am: * ext/lcs/Makefile.am: * ext/libfame/Makefile.am: * ext/libmms/Makefile.am: * ext/metadata/Makefile.am: * ext/mpeg2enc/Makefile.am: * ext/mplex/Makefile.am: * ext/musepack/Makefile.am: * ext/musicbrainz/Makefile.am: * ext/mythtv/Makefile.am: * ext/nas/Makefile.am: * ext/neon/Makefile.am: * ext/ofa/Makefile.am: * ext/polyp/Makefile.am: * ext/resindvd/Makefile.am: * ext/sdl/Makefile.am: * ext/shout/Makefile.am: * ext/snapshot/Makefile.am: * ext/sndfile/Makefile.am: * ext/soundtouch/Makefile.am: * ext/spc/Makefile.am: * ext/swfdec/Makefile.am: * ext/tarkin/Makefile.am: * ext/theora/Makefile.am: * ext/timidity/Makefile.am: * ext/twolame/Makefile.am: * ext/x264/Makefile.am: * ext/xine/Makefile.am: * ext/xvid/Makefile.am: * gst-libs/gst/app/Makefile.am: * gst-libs/gst/dshow/Makefile.am: * gst/aiffparse/Makefile.am: * gst/app/Makefile.am: * gst/audiobuffer/Makefile.am: * gst/bayer/Makefile.am: * gst/cdxaparse/Makefile.am: * gst/chart/Makefile.am: * gst/colorspace/Makefile.am: * gst/dccp/Makefile.am: * gst/deinterlace/Makefile.am: * gst/deinterlace2/Makefile.am: * gst/dvdspu/Makefile.am: * gst/festival/Makefile.am: * gst/filter/Makefile.am: * gst/flacparse/Makefile.am: * gst/flv/Makefile.am: * gst/games/Makefile.am: * gst/h264parse/Makefile.am: * gst/librfb/Makefile.am: * gst/mixmatrix/Makefile.am: * gst/modplug/Makefile.am: * gst/mpeg1sys/Makefile.am: * gst/mpeg4videoparse/Makefile.am: * gst/mpegdemux/Makefile.am: * gst/mpegtsmux/Makefile.am: * gst/mpegvideoparse/Makefile.am: * gst/mve/Makefile.am: * gst/nsf/Makefile.am: * gst/nuvdemux/Makefile.am: * gst/overlay/Makefile.am: * gst/passthrough/Makefile.am: * gst/pcapparse/Makefile.am: * gst/playondemand/Makefile.am: * gst/rawparse/Makefile.am: * gst/real/Makefile.am: * gst/rtjpeg/Makefile.am: * gst/rtpmanager/Makefile.am: * gst/scaletempo/Makefile.am: * gst/sdp/Makefile.am: * gst/selector/Makefile.am: * gst/smooth/Makefile.am: * gst/smoothwave/Makefile.am: * gst/speed/Makefile.am: * gst/speexresample/Makefile.am: * gst/stereo/Makefile.am: * gst/subenc/Makefile.am: * gst/tta/Makefile.am: * gst/vbidec/Makefile.am: * gst/videodrop/Makefile.am: * gst/videosignal/Makefile.am: * gst/virtualdub/Makefile.am: * gst/vmnc/Makefile.am: * gst/y4m/Makefile.am: * sys/acmenc/Makefile.am: * sys/cdrom/Makefile.am: * sys/dshowdecwrapper/Makefile.am: * sys/dshowsrcwrapper/Makefile.am: * sys/dvb/Makefile.am: * sys/dxr3/Makefile.am: * sys/fbdev/Makefile.am: * sys/oss4/Makefile.am: * sys/qcam/Makefile.am: * sys/qtwrapper/Makefile.am: * sys/vcd/Makefile.am: * sys/wininet/Makefile.am: * win32/common/config.h: Don't install static libs for plugins. Fixes #550851 for -bad. 2008-10-16 13:05:37 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Fix problem with using the output seqnum counter to check for input seqnum disco... Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_flush_start), (gst_rtp_jitter_buffer_flush_stop), (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop): Fix problem with using the output seqnum counter to check for input seqnum discontinuities. Improve gap detection and recovery, reset and flush the jitterbuffer on seqnum restart. Fixes #556520. * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_insert): Fix wrong G_LIKELY. 2008-10-16 09:51:28 +0000 Wim Taymans gst/rtpmanager/gstrtpsession.c: Install event handler on the rtcp_src pad, make LATENCY event return Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_event_send_rtcp_src), (create_send_rtcp_src): Install event handler on the rtcp_src pad, make LATENCY event return TRUE. 2008-10-07 18:54:41 +0000 Håvard Graff gst/rtpmanager/gstrtpbin-marshal.list: Add marshaller for new action signal. Original commit message from CVS: Patch by: Håvard Graff * gst/rtpmanager/gstrtpbin-marshal.list: Add marshaller for new action signal. * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_get_internal_session), (gst_rtp_bin_class_init): * gst/rtpmanager/gstrtpbin.h: Add action signal to retrieve the internal RTPSession object. * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init), (gst_rtp_session_get_property), (gst_rtp_session_release_pad): Add property to access the internal RTPSession object. * gst/rtpmanager/rtpsession.c: (rtp_session_class_init), (check_collision): * gst/rtpmanager/rtpsession.h: Add action signal to retrieve an RTPSource object by SSRC. See #555396. 2008-10-07 11:33:10 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Release pads of the session manager. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (find_session_by_pad), (free_session), (gst_rtp_bin_dispose), (remove_recv_rtp), (remove_recv_rtcp), (remove_send_rtp), (remove_rtcp), (gst_rtp_bin_release_pad): Release pads of the session manager. Start implementing releasing pads of gstrtpbin. * gst/rtpmanager/gstrtpsession.c: (remove_recv_rtp_sink), (remove_recv_rtcp_sink), (remove_send_rtp_sink), (remove_send_rtcp_src), (gst_rtp_session_release_pad): Implement releasing pads in gstrtpsession. 2008-10-07 10:02:20 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Only update the seqnum-base when it was not already configured for the streams. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_jitter_buffer_sink_parse_caps): Only update the seqnum-base when it was not already configured for the streams. 2008-09-30 15:08:52 +0000 Wim Taymans gst/rtpmanager/rtpsession.c: Ref the rtpsource object before we release the session lock when we emit the signals. Original commit message from CVS: * gst/rtpmanager/rtpsession.c: (on_new_ssrc), (on_ssrc_collision), (on_ssrc_validated), (on_ssrc_active), (on_ssrc_sdes), (on_bye_ssrc), (on_bye_timeout), (on_timeout), (on_sender_timeout): Ref the rtpsource object before we release the session lock when we emit the signals. 2008-09-23 18:13:31 +0000 Wim Taymans gst/rtpmanager/: Fix some docs. Original commit message from CVS: * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_insert), (rtp_jitter_buffer_get_sync): * gst/rtpmanager/rtpsession.c: (on_sender_timeout), (session_cleanup): * gst/rtpmanager/rtpsource.c: Fix some docs. 2008-09-17 13:59:21 +0000 Jan Schmidt Fix compiler warnings on OS/X Original commit message from CVS: * ext/jack/gstjackaudiosink.c: (jack_process_cb): * gst/rtpmanager/rtpjitterbuffer.c: (calculate_skew): Fix compiler warnings on OS/X 2008-09-13 01:37:50 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Do not try to adjust the offset of streams for which we have not yet seen an SR packet. A... Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_session), (gst_rtp_bin_associate), (gst_rtp_bin_sync_chain): Do not try to adjust the offset of streams for which we have not yet seen an SR packet. Avoids large ts-offsets in some cases. 2008-09-05 13:52:34 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.*: Add signal to notify listeners when a sender becomes a receiver. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (on_sender_timeout), (create_session), (gst_rtp_bin_associate), (gst_rtp_bin_sync_chain), (gst_rtp_bin_class_init), (gst_rtp_bin_request_new_pad): * gst/rtpmanager/gstrtpbin.h: Add signal to notify listeners when a sender becomes a receiver. Tweak lip-sync code, don't store our own copy of the ts-offset of the jitterbuffer, don't adjust sync if the change is less than 4msec. Get the RTP timestamp <-> GStreamer timestamp relation directly from the jitterbuffer instead of our inaccurate version from the source. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_get_sync): * gst/rtpmanager/gstrtpjitterbuffer.h: Add G_LIKELY macros, use global defines for max packet reorder and dropouts. Reset the jitterbuffer clock skew detection when packets seqnums are changed unexpectedly. * gst/rtpmanager/gstrtpsession.c: (on_sender_timeout), (gst_rtp_session_class_init), (gst_rtp_session_init): * gst/rtpmanager/gstrtpsession.h: Add sender timeout signal. * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_reset_skew), (calculate_skew), (rtp_jitter_buffer_insert), (rtp_jitter_buffer_get_sync): * gst/rtpmanager/rtpjitterbuffer.h: Add some G_LIKELY macros. Keep track of the extended RTP timestamp so that we can report the RTP timestamp <-> GStreamer timestamp relation for lip-sync. Remove server timestamp gap detection code, the server can sometimes make a huge gap in timestamps (talk spurts,...) see #549774. Detect timetamp weirdness instead by observing the sender/receiver timestamp relation and resync if it changes more than 1 second. Add method to report about the current rtp <-> gst timestamp relation which is needed for lip-sync. * gst/rtpmanager/rtpsession.c: (rtp_session_class_init), (on_sender_timeout), (check_collision), (rtp_session_process_sr), (session_cleanup): * gst/rtpmanager/rtpsession.h: Add sender timeout signal. Remove inaccurate rtp <-> gst timestamp relation code, the jitterbuffer can now do an accurate reporting about this. * gst/rtpmanager/rtpsource.c: (rtp_source_init), (rtp_source_update_caps), (calculate_jitter), (rtp_source_process_rtp): * gst/rtpmanager/rtpsource.h: Remove inaccurate rtp <-> gst timestamp relation code. * gst/rtpmanager/rtpstats.h: Define global max-reorder and max-dropout constants for use in various subsystems. 2008-08-28 15:21:45 +0000 Wim Taymans gst/rtpmanager/gstrtpsession.c: Send EOS when the session object instructs us to. Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_send_rtcp), (gst_rtp_session_event_send_rtp_sink): Send EOS when the session object instructs us to. * gst/rtpmanager/rtpsession.c: (rtp_session_on_timeout): * gst/rtpmanager/rtpsession.h: Make it possible for the session manager to instruct us to send EOS. We currently will EOS when the session is a sender and when the sender part goes EOS. This is not entirely correct behaviour because the session could still participate as a receiver. Fixes #549409. 2008-08-13 14:31:02 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Reset rtp timestamp interpollation when we detect a gap when the clock_base changed. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_associate), (gst_rtp_bin_sync_chain), (new_ssrc_pad_found): Reset rtp timestamp interpollation when we detect a gap when the clock_base changed. Don't try to adjust the ts-offset when it's too big (> 3seconds) * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_set_ssrc): * gst/rtpmanager/gstrtpsession.h: Add method to set session SSRC. * gst/rtpmanager/rtpsession.c: (check_collision), (rtp_session_set_internal_ssrc), (rtp_session_get_internal_ssrc), (rtp_session_on_timeout): * gst/rtpmanager/rtpsession.h: Added debugging for the collision checks. Add method to change the internal SSRC of the session. * gst/rtpmanager/rtpsource.c: (rtp_source_process_rtp): Reset the clock base when we detect large jumps in the seqnums. 2008-08-11 07:20:15 +0000 Stefan Kost gst/rtpmanager/gstrtpbin.c: Print the pad-name in debug log. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: Print the pad-name in debug log. * sys/dshowsrcwrapper/gstdshowaudiosrc.c: * sys/dshowsrcwrapper/gstdshowvideosrc.c: Use "-" instead of "_" in property names. Can we call them just "device" like everywhere else? 2008-08-05 09:42:53 +0000 Olivier Crete gst/rtpmanager/gstrtpjitterbuffer.c: Make the buffer metadata writable before inserting it in the jitterbuffer becaus... Original commit message from CVS: Based on patch by: Olivier Crete * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop): Make the buffer metadata writable before inserting it in the jitterbuffer because the jitterbuffer will modify the timestamps. * gst/rtpmanager/rtpjitterbuffer.c: Update method comment about requiring writable metadata on buffers. * gst/rtpmanager/rtpsession.c: (rtp_session_process_sr), (rtp_session_process_rtcp): Make the RTCP buffer metadata writable because we want to modify the metadata. Fixes #546312. 2008-08-05 09:00:50 +0000 Håvard Graff gst/rtpmanager/gstrtpjitterbuffer.c: Fix debug by logging the right seqnum. Original commit message from CVS: Patch by: Håvard Graff * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_chain): Fix debug by logging the right seqnum. 2008-08-05 08:58:27 +0000 Olivier Crete gst/rtpmanager/gstrtpbin.c: Release lock before emitting the request-pt-map signal. Original commit message from CVS: Patch by: Olivier Crete * gst/rtpmanager/gstrtpbin.c: (get_pt_map): Release lock before emitting the request-pt-map signal. Fixes #543480. 2008-07-03 14:44:51 +0000 Peter Kjellerstedt gst/rtpmanager/: Corrected a typo (interpollate -> interpolate). Original commit message from CVS: * ChangeLog: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_loop): * gst/rtpmanager/rtpsource.c: (rtp_source_get_new_sr): Corrected a typo (interpollate -> interpolate). 2008-07-03 14:31:10 +0000 Peter Kjellerstedt gst/rtpmanager/: Changed some GST_DEBUG() to GST_LOG() to reduce the spam when a pipeline is running normally. Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_process_rtp), (gst_rtp_session_send_rtp), (gst_rtp_session_send_rtcp), (gst_rtp_session_sync_rtcp), (gst_rtp_session_chain_recv_rtp), (gst_rtp_session_chain_recv_rtcp), (gst_rtp_session_chain_send_rtp): * gst/rtpmanager/rtpsession.c: (source_push_rtp), (rtp_session_send_rtp): * gst/rtpmanager/rtpsource.c: (push_packet), (calculate_jitter), (rtp_source_process_rtp), (rtp_source_send_rtp): Changed some GST_DEBUG() to GST_LOG() to reduce the spam when a pipeline is running normally. 2008-07-03 13:47:19 +0000 Peter Kjellerstedt gst/rtpmanager/: Do not mix the use of g_get_current_time() with gst_clock_get_time(). Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_init), (gst_rtp_session_finalize), (rtcp_thread), (gst_rtp_session_chain_recv_rtp), (gst_rtp_session_chain_recv_rtcp), (gst_rtp_session_event_send_rtp_sink), (gst_rtp_session_chain_send_rtp): * gst/rtpmanager/rtpsession.c: (check_collision), (update_arrival_stats), (rtp_session_process_rtp), (rtp_session_process_rtcp), (rtp_session_send_rtp), (rtp_session_send_bye_locked), (rtp_session_send_bye), (rtp_session_next_timeout), (session_report_blocks), (session_cleanup), (is_rtcp_time), (rtp_session_on_timeout): * gst/rtpmanager/rtpsession.h: Do not mix the use of g_get_current_time() with gst_clock_get_time(). 2008-06-16 07:30:34 +0000 Stefan Kost Final round of doc updates. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: * gst/speed/gstspeed.c: * gst/speexresample/gstspeexresample.c: * gst/videosignal/gstvideoanalyse.c: * gst/videosignal/gstvideodetect.c: * gst/videosignal/gstvideomark.c: * sys/dvb/gstdvbsrc.c: * sys/oss4/oss4-mixer.c: * sys/oss4/oss4-sink.c: * sys/oss4/oss4-source.c: * sys/wininet/gstwininetsrc.c: Final round of doc updates. 2008-06-16 07:03:58 +0000 Stefan Kost gst/: More doc updates. More xrefs. Original commit message from CVS: * gst/deinterlace/gstdeinterlace.c: * gst/rtpmanager/gstrtpbin.c: * gst/rtpmanager/gstrtpclient.c: * gst/rtpmanager/gstrtpjitterbuffer.c: * gst/rtpmanager/gstrtpptdemux.c: * gst/rtpmanager/gstrtpsession.c: * gst/rtpmanager/gstrtpssrcdemux.c: * gst/sdp/gstsdpdemux.c: More doc updates. More xrefs. 2008-06-12 14:49:18 +0000 Stefan Kost Do not use short_description in section docs for elements. We extract them from element details and there will be war... Original commit message from CVS: * ext/dc1394/gstdc1394.c: * ext/ivorbis/vorbisdec.c: * ext/jack/gstjackaudiosink.c: * ext/metadata/gstmetadatademux.c: * ext/mythtv/gstmythtvsrc.c: * ext/theora/theoradec.c: * gst-libs/gst/app/gstappsink.c: * gst/bayer/gstbayer2rgb.c: * gst/deinterlace/gstdeinterlace.c: * gst/rawparse/gstaudioparse.c: * gst/rawparse/gstvideoparse.c: * gst/rtpmanager/gstrtpbin.c: * gst/rtpmanager/gstrtpclient.c: * gst/rtpmanager/gstrtpjitterbuffer.c: * gst/rtpmanager/gstrtpptdemux.c: * gst/rtpmanager/gstrtpsession.c: * gst/rtpmanager/gstrtpssrcdemux.c: * gst/selector/gstinputselector.c: * gst/selector/gstoutputselector.c: * gst/videosignal/gstvideoanalyse.c: * gst/videosignal/gstvideodetect.c: * gst/videosignal/gstvideomark.c: * sys/oss4/oss4-mixer.c: * sys/oss4/oss4-sink.c: * sys/oss4/oss4-source.c: Do not use short_description in section docs for elements. We extract them from element details and there will be warnings if they differ. Also fixing up the ChangeLog order. 2008-06-06 13:01:05 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Fix deadlock when shutting down, use a new lock instead to properly shutdown. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_init), (gst_rtp_bin_finalize), (gst_rtp_bin_change_state): Fix deadlock when shutting down, use a new lock instead to properly shutdown. 2008-05-27 16:48:10 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Break out of callbacks when we are shutting down. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_propagate_property_to_jitterbuffer), (gst_rtp_bin_change_state), (new_payload_found), (new_ssrc_pad_found): Break out of callbacks when we are shutting down. Make sure no state changes can happen when we reconfigure. 2008-05-26 10:09:29 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: When checking the seqnum, reset the jitterbuffer if the gap is too big, we need ... Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop): When checking the seqnum, reset the jitterbuffer if the gap is too big, we need to do this so that we can better handle a restarted source. Fix some comments. * gst/rtpmanager/rtpjitterbuffer.c: (calculate_skew), (rtp_jitter_buffer_insert): Tweak the skew resync diff. Use our working seqnum compare function in -base. Rework the jitterbuffer insert code to make it clearer and more performant by only retrieving the seqnum of the input buffer once and by adding some G_LIKELY compiler hints. Improve debugging for duplicate packets. * gst/rtpmanager/rtpsource.c: (rtp_source_process_rtp): Fix a comment, we don't do skew correction here.. 2008-05-26 10:00:24 +0000 Håvard Graff gst/rtpmanager/gstrtpbin.c: Propagate the do-lost and latency properties to the jitterbuffers when they are changed o... Original commit message from CVS: Patch by: Håvard Graff * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_propagate_property_to_jitterbuffer), (gst_rtp_bin_set_property): Propagate the do-lost and latency properties to the jitterbuffers when they are changed on rtpbin. 2008-05-26 09:57:40 +0000 Wim Taymans Don't use _gst_pad(). Original commit message from CVS: * examples/switch/switcher.c: (switch_timer): * gst/replaygain/gstrgvolume.c: (gst_rg_volume_init): * gst/rtpmanager/gstrtpclient.c: (create_stream): * gst/sdp/gstsdpdemux.c: (gst_sdp_demux_stream_configure_udp), (gst_sdp_demux_stream_configure_udp_sink): * tests/check/elements/deinterleave.c: (GST_START_TEST), (pad_added_setup_data_check_float32_8ch_cb): * tests/check/elements/rganalysis.c: (send_eos_event), (send_tag_event): Don't use _gst_pad(). 2008-05-16 19:56:30 +0000 Jan Schmidt docs/Makefile.am: Don't attempt to build plugin docs when they're disabled. Original commit message from CVS: * docs/Makefile.am: Don't attempt to build plugin docs when they're disabled. * gst/bayer/Makefile.am: Add libgstvideo to the link. * gst/rtpmanager/Makefile.am: Fix link order, and move LIBS things to _LIBS 2008-05-14 21:02:19 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Simply drop bad RTP packets with a warning instead of just posting an error and ... Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_chain): Simply drop bad RTP packets with a warning instead of just posting an error and stopping. This is a perfectly recoverable event and we don't force people to use an rtpbin to filter out bad packets first. 2008-05-13 09:06:51 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Actually add the do-lost property to the object. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init): Actually add the do-lost property to the object. 2008-05-12 18:43:41 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Avoid waiting for a negative (huge) duration when the last packet has a lower ti... Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_loop): Avoid waiting for a negative (huge) duration when the last packet has a lower timestamp than the current packet. 2008-05-12 14:28:09 +0000 Peter Kjellerstedt gst/rtpmanager/gstrtpsession.c: Make sure to unref the rtpsession returned by gst_pad_get_parent() to prevent a memor... Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_query_send_rtcp_src): Make sure to unref the rtpsession returned by gst_pad_get_parent() to prevent a memory leak. 2008-05-12 14:12:08 +0000 Jan Schmidt gst/rtpmanager/gstrtpjitterbuffer.c: Initialise with GST_CLOCK_TIME_NONE to avoid compiler warning. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_loop): Initialise with GST_CLOCK_TIME_NONE to avoid compiler warning. 2008-05-09 07:41:58 +0000 Peter Kjellerstedt gst/rtpmanager/rtpsource.c: Make sure to unref the caps used by RTPSource to prevent a memory leak. Original commit message from CVS: * gst/rtpmanager/rtpsource.c: (rtp_source_finalize): Make sure to unref the caps used by RTPSource to prevent a memory leak. 2008-05-08 09:43:33 +0000 Olivier Crete gst/rtpmanager/rtpsession.c: Unlock the session lock when calling one of our callbacks. Original commit message from CVS: Patch by: Olivier Crete * gst/rtpmanager/rtpsession.c: (source_clock_rate), (rtp_session_process_bye), (rtp_session_send_bye_locked): Unlock the session lock when calling one of our callbacks. Fixes #532011. 2008-05-08 06:23:39 +0000 Sjoerd Simons gst/rtpmanager/gstrtpsession.c: Send RTP BYE command on EOS. Fixes bug #531955. Original commit message from CVS: Patch by: Sjoerd Simons * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_event_send_rtp_sink): Send RTP BYE command on EOS. Fixes bug #531955. 2008-04-25 11:32:09 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.*: Expose new jitterbuffer property in rtpbin too. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_stream), (gst_rtp_bin_init), (gst_rtp_bin_set_property), (gst_rtp_bin_get_property): * gst/rtpmanager/gstrtpbin.h: Expose new jitterbuffer property in rtpbin too. 2008-04-25 11:22:13 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Disable sending out rtp packet lost events by default and make a property to ena... Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_class_init), (gst_rtp_jitter_buffer_init), (gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_set_property), (gst_rtp_jitter_buffer_get_property): Disable sending out rtp packet lost events by default and make a property to enabe it. We will likely enable it by default when the base depayloaders have a default handler for them so that we don't send these events all through the pipeline for now. 2008-04-25 09:35:43 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Remove private version of a function that is in -base now. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_init), (gst_rtp_jitter_buffer_flush_stop), (gst_rtp_jitter_buffer_src_event), (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop): Remove private version of a function that is in -base now. Add src event handler. Rework the jitterbuffer pushing loop so that it can quickly react to lost packets and instruct the depayloader of them. This can then be used to implement error concealment data. 2008-04-25 08:21:06 +0000 Wim Taymans gst/rtpmanager/gstrtpsession.c: Set up some internal links functions for the RTCP and sync pads because the defaults ... Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_query_send_rtcp_src), (create_recv_rtcp_sink), (create_send_rtcp_src): Set up some internal links functions for the RTCP and sync pads because the defaults are really not correct. Implement a query handler for the RTCP src pad, mostly to correctly report about the latency. 2008-04-25 08:15:58 +0000 Wim Taymans gst/rtpmanager/: Also keep track of the first buffer timestamp together with the first Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_associate), (gst_rtp_bin_sync_chain): * gst/rtpmanager/rtpsession.c: (update_arrival_stats), (rtp_session_process_sr), (rtp_session_on_timeout): * gst/rtpmanager/rtpsource.c: (rtp_source_init), (calculate_jitter): * gst/rtpmanager/rtpsource.h: * gst/rtpmanager/rtpstats.h: Also keep track of the first buffer timestamp together with the first RTP timestamp as they both are needed to construct the timing of outgoing packets in the jitterbuffer and are therefore also needed to manage lip-sync. This fixes lip-sync if the first RTP packets arrive with a wildly different gap. 2008-04-21 08:26:37 +0000 Olivier Crete gst/rtpmanager/gstrtpbin.c: Ref caps when inserting into the cache. Original commit message from CVS: Patch by: Olivier Crete * gst/rtpmanager/gstrtpbin.c: (create_session), (get_pt_map), (new_ssrc_pad_found): Ref caps when inserting into the cache. Don't leak pads. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_get_clock_rate), (gst_rtp_jitter_buffer_query): Avoid a caps leak. Don't leak refcount in query. * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_get_caps), (gst_rtp_pt_demux_chain): Avoid caps leaks. * gst/rtpmanager/gstrtpsession.c: (source_get_sdes_structure), (gst_rtp_session_init), (return_true), (gst_rtp_session_clear_pt_map), (gst_rtp_session_cache_caps), (gst_rtp_session_clock_rate): Ref caps when inserting into the cache. Fix some more caps leaks. Fixes #528245. 2008-04-17 07:31:44 +0000 Wim Taymans gst/rtpmanager/: Unset GValues after g_signal_emitv so that we avoid a refcount leak. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (get_pt_map), (free_client), (gst_rtp_bin_associate), (gst_rtp_bin_get_free_pad_name): * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_get_clock_rate): * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_get_caps): * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_clock_rate): Unset GValues after g_signal_emitv so that we avoid a refcount leak. Don't leak a padname. Don't leak client streams list. Lock rtpbin when associating streams. Fixes #528245. 2008-04-09 22:27:50 +0000 Peter Kjellerstedt gst/rtpmanager/: Avoid leaking pads in the RTP manager. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (free_session): * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_finalize): Avoid leaking pads in the RTP manager. 2008-03-11 12:40:58 +0000 Olivier Crete gst/rtpmanager/rtpsession.*: Implement collision and loop detection in rtpmanager. Original commit message from CVS: Patch by: Olivier Crete * gst/rtpmanager/rtpsession.c: (find_add_conflicting_addresses), (check_collision), (obtain_source), (rtp_session_create_new_ssrc), (rtp_session_create_source), (rtp_session_process_rtp), (rtp_session_process_sr), (rtp_session_process_rr), (rtp_session_process_sdes), (rtp_session_process_bye), (rtp_session_send_bye_locked), (rtp_session_send_bye), (rtp_session_on_timeout): * gst/rtpmanager/rtpsession.h: Implement collision and loop detection in rtpmanager. Fixes #520626. * gst/rtpmanager/rtpsource.c: (rtp_source_reset), (rtp_source_init): * gst/rtpmanager/rtpsource.h: Add method to reset stats. 2008-03-11 11:36:03 +0000 Ole André Vadla Ravnås gst/rtpmanager/gstrtpsession.c: Avoid a deadlock when joining the RTCP thread in PAUSED because it might be blocked d... Original commit message from CVS: Based on patch by: Ole André Vadla Ravnås * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_init), (rtcp_thread), (start_rtcp_thread), (stop_rtcp_thread), (join_rtcp_thread), (gst_rtp_session_change_state): Avoid a deadlock when joining the RTCP thread in PAUSED because it might be blocked downstream. Also avoid spawning multiple rtcp threads. Fixes #520894. 2008-03-11 10:43:32 +0000 Stefan Kost gst/rtpmanager/rtpjitterbuffer.c: Don't try to reset the clock skew when we have no timestamps. Original commit message from CVS: Patch by: Stefan Kost * gst/rtpmanager/rtpjitterbuffer.c: (calculate_skew): Don't try to reset the clock skew when we have no timestamps. Fixes #519005. 2008-02-20 09:33:25 +0000 Olivier Crete gst/rtpmanager/gstrtpbin.c: Fix small memory leak, leaking caps. Fixes #bug 517571. Original commit message from CVS: Patch by: Olivier Crete * gst/rtpmanager/gstrtpbin.c: (new_ssrc_pad_found): Fix small memory leak, leaking caps. Fixes #bug 517571. 2008-02-14 16:25:51 +0000 Olivier Crete gst/rtpmanager/gstrtpbin.c: Ignore streams that did not receive an SR packet when doing synchronisation. Fixes #516160. Original commit message from CVS: Patch by: Olivier Crete * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_associate): Ignore streams that did not receive an SR packet when doing synchronisation. Fixes #516160. 2008-01-29 18:57:27 +0000 Thijs Vermeir gst/rtpmanager/gstrtpjitterbuffer.c: Try to get the new clock-rate from the buffer caps when we receive a new payload... Original commit message from CVS: Patch by: Thijs Vermeir * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_chain): Try to get the new clock-rate from the buffer caps when we receive a new payload type instead of always firing the signal. Fixes #512774. 2008-01-25 16:58:00 +0000 Olivier Crete gst/rtpmanager/gstrtpbin.c: Also handle lip-sync when the clock-rate is not provided with caps but with a signal. Original commit message from CVS: Patch by: Olivier Crete * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_associate), (create_stream), (payload_type_change), (new_ssrc_pad_found): Also handle lip-sync when the clock-rate is not provided with caps but with a signal. 2008-01-25 16:00:52 +0000 Olivier Crete gst/rtpmanager/: Remove the fixed clock-rate from the jitterbuffer and extend it so that a clock-rate can be provided... Original commit message from CVS: Patch by: Olivier Crete * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_chain): * gst/rtpmanager/rtpjitterbuffer.c: (calculate_skew), (rtp_jitter_buffer_insert): * gst/rtpmanager/rtpjitterbuffer.h: Remove the fixed clock-rate from the jitterbuffer and extend it so that a clock-rate can be provided with each buffer instead. Fixes #511686. 2008-01-25 15:49:55 +0000 Olivier Crete gst/rtpmanager/gstrtpjitterbuffer.c: Remove old unused variable. Original commit message from CVS: Patch by: Olivier Crete * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_init), (gst_rtp_jitter_buffer_change_state), (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop): Remove old unused variable. Track pt on input buffers and get the clock-rate when it changes. Ignore packets with unknown clock-rate. See #511686. 2008-01-25 01:44:27 +0000 Olivier Crete gst/rtpmanager/rtpsource.c: Fix unref of buffer using the wrong function. Fixes #511920 Original commit message from CVS: Patch by: Olivier Crete * gst/rtpmanager/rtpsource.c: Fix unref of buffer using the wrong function. Fixes #511920 2008-01-11 17:02:30 +0000 Wim Taymans gst/rtpmanager/gstrtpsession.c: If we find the caps in the cache, use it to parse the clock-rate instead of returning... Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_clock_rate): If we find the caps in the cache, use it to parse the clock-rate instead of returning an error. Fixes a TODO as found by Youness Alaoui. 2008-01-11 16:45:57 +0000 Youness Alaoui gst/rtpmanager/: Make it possible to use different user_data for each of the callbacks. Original commit message from CVS: Patch by: Youness Alaoui * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_clock_rate): * gst/rtpmanager/rtpsession.c: (rtp_session_set_callbacks), (rtp_session_set_process_rtp_callback), (rtp_session_set_send_rtp_callback), (rtp_session_set_send_rtcp_callback), (rtp_session_set_sync_rtcp_callback), (rtp_session_set_clock_rate_callback), (rtp_session_set_reconsider_callback), (source_push_rtp), (source_clock_rate), (rtp_session_process_bye), (rtp_session_process_rtcp), (rtp_session_send_bye), (rtp_session_on_timeout): * gst/rtpmanager/rtpsession.h: Make it possible to use different user_data for each of the callbacks. Fixes #508587. 2008-01-10 20:57:17 +0000 Thijs Vermeir gst/rtpmanager/gstrtpbin.c: Fix documentation for latest patch Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: Fix documentation for latest patch 2008-01-10 14:34:30 +0000 Thijs Vermeir gst/rtpmanager/gstrtpbin.c: Allow request_new_pad with name NULL (bug #508515) Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: Allow request_new_pad with name NULL (bug #508515) 2008-01-09 14:39:44 +0000 Wim Taymans gst/rtpmanager/gstrtpsession.c: Don't set fixed caps, we can basically do everything the upsteam peer pad can renegot... Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (create_send_rtp_sink): Don't set fixed caps, we can basically do everything the upsteam peer pad can renegotiate to. Fixes #507940. 2008-01-04 18:47:57 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Don't unref the popped buffer when we don't have ownership. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_loop): Don't unref the popped buffer when we don't have ownership. Fixes #507020. 2007-12-31 13:12:06 +0000 Wim Taymans gst/rtpmanager/gstrtpssrcdemux.c: Don't clean up pads when going to PAUSED. Original commit message from CVS: * gst/rtpmanager/gstrtpssrcdemux.c: (gst_rtp_ssrc_demux_change_state): Don't clean up pads when going to PAUSED. 2007-12-12 16:59:03 +0000 Wim Taymans gst/rtpmanager/: Clean up the dynamic pads when going to READY. Original commit message from CVS: * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_finalize), (gst_rtp_pt_demux_setup), (gst_rtp_pt_demux_release), (gst_rtp_pt_demux_change_state): * gst/rtpmanager/gstrtpssrcdemux.c: (gst_rtp_ssrc_demux_reset), (gst_rtp_ssrc_demux_dispose), (gst_rtp_ssrc_demux_src_query), (gst_rtp_ssrc_demux_change_state): Clean up the dynamic pads when going to READY. 2007-12-12 12:11:53 +0000 Wim Taymans gst/rtpmanager/: Fix some leaks. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_finalize), (gst_rtp_bin_set_sdes_string), (gst_rtp_bin_get_sdes_string), (gst_rtp_bin_handle_message): * gst/rtpmanager/rtpsession.c: (rtp_session_finalize), (rtp_session_send_bye): * gst/rtpmanager/rtpsource.c: (rtp_source_finalize): Fix some leaks. 2007-12-10 18:36:04 +0000 Wim Taymans gst/rtpmanager/: Post a message when the SDES infor changes for a source. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init), (gst_rtp_bin_handle_message): * gst/rtpmanager/gstrtpsession.c: (source_get_sdes_structure), (on_ssrc_sdes): Post a message when the SDES infor changes for a source. * gst/rtpmanager/rtpsession.c: * gst/rtpmanager/rtpsource.c: Update some comments. 2007-12-10 15:34:19 +0000 Wim Taymans gst/rtpmanager/: Add signal to notify of an SDES change. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (on_ssrc_sdes), (create_session), (gst_rtp_bin_class_init): * gst/rtpmanager/gstrtpbin.h: * gst/rtpmanager/gstrtpclient.c: * gst/rtpmanager/gstrtpclient.h: * gst/rtpmanager/gstrtpjitterbuffer.h: * gst/rtpmanager/gstrtpmanager.c: * gst/rtpmanager/gstrtpptdemux.c: * gst/rtpmanager/gstrtpptdemux.h: * gst/rtpmanager/gstrtpsession.c: (on_ssrc_sdes), (gst_rtp_session_class_init), (gst_rtp_session_init): * gst/rtpmanager/gstrtpsession.h: * gst/rtpmanager/gstrtpssrcdemux.c: * gst/rtpmanager/gstrtpssrcdemux.h: * gst/rtpmanager/rtpjitterbuffer.c: * gst/rtpmanager/rtpjitterbuffer.h: * gst/rtpmanager/rtpsession.c: (rtp_session_class_init), (on_ssrc_sdes), (rtp_session_process_sdes): * gst/rtpmanager/rtpsession.h: * gst/rtpmanager/rtpsource.c: * gst/rtpmanager/rtpsource.h: * gst/rtpmanager/rtpstats.c: * gst/rtpmanager/rtpstats.h: Add signal to notify of an SDES change. Fix object type in the signal callbacks. 2007-12-10 14:03:32 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.*: Expose SDES items as properties and configure the session managers with them. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_session), (gst_rtp_bin_class_init), (gst_rtp_bin_init), (sdes_type_to_name), (gst_rtp_bin_set_sdes_string), (gst_rtp_bin_get_sdes_string), (gst_rtp_bin_set_property), (gst_rtp_bin_get_property): * gst/rtpmanager/gstrtpbin.h: Expose SDES items as properties and configure the session managers with them. * gst/rtpmanager/rtpsource.c: (rtp_source_class_init), (rtp_source_set_property): Fix SSRC property. 2007-12-10 11:08:11 +0000 Wim Taymans gst/rtpmanager/: Update comment. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_session): * gst/rtpmanager/rtpjitterbuffer.c: Update comment. * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init), (gst_rtp_session_set_property), (gst_rtp_session_get_property): Define some GObject properties to set SDES and other configuration. * gst/rtpmanager/rtpsession.c: (rtp_session_class_init), (rtp_session_init), (rtp_session_finalize), (rtp_session_set_property), (rtp_session_get_property), (on_ssrc_sdes), (rtp_session_set_bandwidth), (rtp_session_get_bandwidth), (rtp_session_set_rtcp_fraction), (rtp_session_get_rtcp_fraction), (rtp_session_set_sdes_string), (rtp_session_get_sdes_string), (obtain_source), (rtp_session_get_internal_source), (rtp_session_process_sdes), (rtp_session_send_rtp), (rtp_session_next_timeout), (session_sdes), (is_rtcp_time): * gst/rtpmanager/rtpsession.h: Add signal when new SDES infor has been found for a source. Create properties for SDES and other info. Simplify the SDES API. Add method for getting the internal source object of the session. * gst/rtpmanager/rtpsource.c: (rtp_source_class_init), (rtp_source_finalize), (rtp_source_set_property), (rtp_source_get_property), (rtp_source_set_callbacks), (rtp_source_get_ssrc), (rtp_source_set_as_csrc), (rtp_source_is_as_csrc), (rtp_source_is_active), (rtp_source_is_validated), (rtp_source_is_sender), (rtp_source_received_bye), (rtp_source_get_bye_reason), (rtp_source_set_sdes), (rtp_source_set_sdes_string), (rtp_source_get_sdes), (rtp_source_get_sdes_string), (rtp_source_get_new_sr), (rtp_source_get_new_rb): * gst/rtpmanager/rtpsource.h: Add GObject properties for various things. Don't leak the bye reason. 2007-11-22 09:08:27 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: jitterbuffer can buffer an unlimited amount of time and thus has no max_latency ... Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_query): jitterbuffer can buffer an unlimited amount of time and thus has no max_latency requirements. 2007-11-02 21:45:38 +0000 Ole André Vadla Ravnås gst/rtpmanager/gstrtpsession.c: Fix bad function signatures (#492798). Original commit message from CVS: Patch by: Ole André Vadla Ravnås * gst/rtpmanager/gstrtpsession.c: Fix bad function signatures (#492798). 2007-10-09 10:01:39 +0000 Laurent Glayal gst/rtpmanager/gstrtpbin.c: Fix memleak. Fixes #484990. Original commit message from CVS: Patch by: Laurent Glayal * gst/rtpmanager/gstrtpbin.c: (create_stream), (gst_rtp_bin_class_init): Fix memleak. Fixes #484990. 2007-10-08 17:46:45 +0000 Jan Schmidt gst/: Fix compiler warnings shown by Forte. Original commit message from CVS: * gst/librfb/rfbbuffer.c: (rfb_buffer_new_and_alloc): * gst/librfb/rfbbuffer.h: * gst/librfb/rfbdecoder.c: (rfb_socket_get_buffer): * gst/mpegvideoparse/mpegvideoparse.c: (gst_mpegvideoparse_chain): * gst/nsf/nes6502.c: (nes6502_execute): * gst/real/gstrealaudiodec.c: (gst_real_audio_dec_setcaps): * gst/real/gstrealvideodec.c: (open_library): * gst/real/gstrealvideodec.h: * gst/rtpmanager/gstrtpsession.c: (create_recv_rtp_sink), (create_recv_rtcp_sink), (create_send_rtp_sink): Fix compiler warnings shown by Forte. 2007-10-08 10:39:35 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Fix caps refcounting for payload maps. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (get_pt_map), (gst_rtp_bin_clear_pt_map), (gst_rtp_bin_class_init): Fix caps refcounting for payload maps. When clearing payload maps, also clear sessions and streams payload maps. * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_get_caps), (gst_rtp_pt_demux_clear_pt_map), (gst_rtp_pt_demux_chain), (find_pad_for_pt): Implement clearing the payload map. * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_event_send_rtp_sink): Forward flush events instead of leaking them. * gst/rtpmanager/gstrtpssrcdemux.c: (gst_rtp_ssrc_demux_rtcp_sink_event): Correctly refcount events before pushing them. 2007-10-05 17:26:14 +0000 Wim Taymans gst/rtpmanager/rtpsession.c: When reconsidering RTCP timeouts, set the next timeout against the last report time inst... Original commit message from CVS: * gst/rtpmanager/rtpsession.c: (rtp_session_next_timeout), When reconsidering RTCP timeouts, set the next timeout against the last report time instead of the current clock time so that we don't end up reconsidering forever. 2007-10-05 12:07:37 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Only peek at the tail element instead of popping it off, which allows us to grea... Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop): Only peek at the tail element instead of popping it off, which allows us to greatly simplify things when the tail element changes. * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_event_recv_rtp_sink): * gst/rtpmanager/gstrtpssrcdemux.c: (gst_rtp_ssrc_demux_sink_event): Forward FLUSH events instead of leaking them. * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_reset_skew), (calculate_skew), (rtp_jitter_buffer_insert): * gst/rtpmanager/rtpjitterbuffer.h: Remove the tail-changed callback in favour of a simple boolean when we insert a buffer in the queue. Add method to peek the tail of the buffer. 2007-10-02 10:27:45 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Remove some old unused variables. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_flush_start), (gst_rtp_jitter_buffer_flush_stop), (gst_rtp_jitter_buffer_change_state), (apply_offset), (gst_rtp_jitter_buffer_loop): Remove some old unused variables. Don't add the latency to the skew corrected timestamp, latency is only used to sync against the clock. Improve debugging. * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_init), (rtp_jitter_buffer_reset_skew), (calculate_skew): * gst/rtpmanager/rtpjitterbuffer.h: Handle case where server timestamp goes backwards or wildly jumps by temporarily pausing the skew correction. Improve debugging. 2007-09-28 14:51:58 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Fix crasher in dispose. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (free_client): Fix crasher in dispose. * gst/rtpmanager/rtpjitterbuffer.c: (calculate_skew): Handle cases where input buffers have no timestamps so that no clock skew can be calculated, in this case interpollate timestamps based on rtp timestamp and assume a 0 clock skew. 2007-09-28 11:17:35 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Remove jitter correction code, it's now in the lower level object. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (apply_latency), (gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_query): Remove jitter correction code, it's now in the lower level object. Use new -core method for doing a peer query. * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_init), (calculate_skew), (rtp_jitter_buffer_insert): * gst/rtpmanager/rtpjitterbuffer.h: Move jitter correction to the lowlevel jitterbuffer. Increase the max window size. When filling the window, already start estimating the skew using a parabolic weighting factor so that we have a much better startup behaviour that gets more accurate with the more samples we have. Increase the default weighting factor for the steady state to get smoother timestamps. 2007-09-26 20:08:28 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Fix cleanup crasher. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_dispose), (gst_rtp_bin_finalize): Fix cleanup crasher. * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_init), (calculate_skew): * gst/rtpmanager/rtpjitterbuffer.h: Dynamically adjust the skew calculation window so that we calculate it over a period of around 2 seconds. 2007-09-20 14:34:57 +0000 Wim Taymans gst/rtpmanager/: Add notification of active SSRCs to various RTP elements. Fixes #478566. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (on_ssrc_active), (create_session), (gst_rtp_bin_class_init): * gst/rtpmanager/gstrtpbin.h: * gst/rtpmanager/gstrtpsession.c: (on_ssrc_active), (gst_rtp_session_class_init), (gst_rtp_session_init), (gst_rtp_session_event_send_rtp_sink): * gst/rtpmanager/gstrtpsession.h: * gst/rtpmanager/rtpsession.c: (rtp_session_class_init), (on_ssrc_active), (rtp_session_process_rb): * gst/rtpmanager/rtpsession.h: Add notification of active SSRCs to various RTP elements. Fixes #478566. 2007-09-17 02:01:41 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Link to the right pads regardless of which one was created first in the ssrc demuxer. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (new_ssrc_pad_found): Link to the right pads regardless of which one was created first in the ssrc demuxer. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop): * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_process_rtp), (gst_rtp_session_chain_recv_rtp), (gst_rtp_session_chain_send_rtp): * gst/rtpmanager/rtpsource.c: (calculate_jitter): Improve debugging. * gst/rtpmanager/gstrtpssrcdemux.c: (create_demux_pad_for_ssrc), (gst_rtp_ssrc_demux_init), (gst_rtp_ssrc_demux_finalize), (gst_rtp_ssrc_demux_sink_event), (gst_rtp_ssrc_demux_rtcp_sink_event), (gst_rtp_ssrc_demux_chain), (gst_rtp_ssrc_demux_rtcp_chain), (gst_rtp_ssrc_demux_internal_links): * gst/rtpmanager/gstrtpssrcdemux.h: Fix race in creating the RTP and RTCP pads when a new SSRC is detected. 2007-09-16 19:40:31 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Use lock to protect variable. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_set_property), (gst_rtp_bin_get_property): Use lock to protect variable. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_class_init), (gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_chain), (convert_rtptime_to_gsttime), (gst_rtp_jitter_buffer_loop): Reconstruct GST timestamp from RTP timestamps based on measured clock skew and sync offset. * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_init), (rtp_jitter_buffer_set_tail_changed), (rtp_jitter_buffer_set_clock_rate), (rtp_jitter_buffer_get_clock_rate), (calculate_skew), (rtp_jitter_buffer_insert), (rtp_jitter_buffer_peek): * gst/rtpmanager/rtpjitterbuffer.h: Measure clock skew. Add callback to be notfied when a new packet was inserted at the tail. * gst/rtpmanager/rtpsource.c: (rtp_source_init), (calculate_jitter), (rtp_source_send_rtp): * gst/rtpmanager/rtpsource.h: Remove clock skew detection, it's move to the jitterbuffer now. 2007-09-15 18:48:03 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Also set NTP base time on new sessions. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_session): Also set NTP base time on new sessions. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_query), (gst_rtp_jitter_buffer_set_property), (gst_rtp_jitter_buffer_get_property): Use the right lock to protect our variables. Fix some comment. * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_getcaps_send_rtp), (gst_rtp_session_chain_send_rtp), (create_send_rtp_sink): Implement getcaps on the sender sinkpad so that payloaders can negotiate the right SSRC. 2007-09-12 21:23:47 +0000 Wim Taymans gst/rtpmanager/: Various leak fixes. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_session), (free_session), (get_client), (free_client), (gst_rtp_bin_associate), (free_stream), (gst_rtp_bin_class_init), (gst_rtp_bin_dispose), (gst_rtp_bin_finalize): * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_class_init), (gst_rtp_jitter_buffer_finalize): * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_release): * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_finalize), (gst_rtp_session_set_property), (gst_rtp_session_chain_recv_rtp), (gst_rtp_session_chain_send_rtp): * gst/rtpmanager/gstrtpssrcdemux.c: (gst_rtp_ssrc_demux_class_init), (gst_rtp_ssrc_demux_dispose): * gst/rtpmanager/rtpsession.c: (rtp_session_finalize): * gst/rtpmanager/rtpsession.h: Various leak fixes. 2007-09-12 18:04:32 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Calculate and configure the NTP base time so that we can generate better Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (calc_ntp_ns_base), (gst_rtp_bin_change_state), (new_payload_found), (create_send_rtp): Calculate and configure the NTP base time so that we can generate better NTP times in SR packets. Set caps on new ghostpad. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_loop): Clean debug statement. * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init), (gst_rtp_session_init), (gst_rtp_session_set_property), (gst_rtp_session_get_property), (get_current_ntp_ns_time), (rtcp_thread), (gst_rtp_session_event_recv_rtp_sink), (gst_rtp_session_internal_links), (gst_rtp_session_chain_recv_rtp), (gst_rtp_session_event_send_rtp_sink), (gst_rtp_session_chain_send_rtp), (create_recv_rtp_sink), (create_send_rtp_sink): * gst/rtpmanager/gstrtpsession.h: Add ntp-ns-base property to convert running_time to NTP time. Handle NEWSEGMENT events on send and recv RTP pads so that we can calculate the running time and thus NTP time of the packets. Simplify getting the current NTP time using the pipeline clock. Implement internal links functions. Use the buffer timestamp to calculate the NTP time instead of the clock. * gst/rtpmanager/gstrtpssrcdemux.c: (create_demux_pad_for_ssrc), (gst_rtp_ssrc_demux_init), (gst_rtp_ssrc_demux_sink_event), (gst_rtp_ssrc_demux_chain), (gst_rtp_ssrc_demux_rtcp_chain), (gst_rtp_ssrc_demux_internal_links), (gst_rtp_ssrc_demux_src_query): * gst/rtpmanager/gstrtpssrcdemux.h: Implement internal links function. Calculate the diff between different streams, this might be used later to get the inter stream latency. * gst/rtpmanager/rtpsession.c: (rtp_session_send_rtp): Simple cleanup. * gst/rtpmanager/rtpsource.c: (rtp_source_init), (calculate_jitter), (rtp_source_send_rtp), (rtp_source_get_new_sr): Make the clock skew window a little bigger. Apply the clock skew to all buffers, not just one with a new timestamp. Calculate and debug sender clock drift. Use extended last timestamp to interpollate for SR reports. 2007-09-04 15:23:34 +0000 Tim-Philipp Müller gst/rtpmanager/gstrtpsession.c: Make compiler happy: fix compilation with -Wall -Werror (#473562). Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: Make compiler happy: fix compilation with -Wall -Werror (#473562). 2007-09-03 21:19:34 +0000 Wim Taymans gst/rtpmanager/: Updated example pipelines in docs. Original commit message from CVS: * gst/rtpmanager/gstrtpbin-marshal.list: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_get_client), (gst_rtp_bin_associate), (gst_rtp_bin_sync_chain), (create_stream), (gst_rtp_bin_init), (caps_changed), (new_ssrc_pad_found), (create_recv_rtp), (create_recv_rtcp), (create_send_rtp): * gst/rtpmanager/gstrtpbin.h: Updated example pipelines in docs. Handle sync_rtcp buffers from the SSRC demuxer to perform lip-sync. Set the default latency correctly. Add some more points where we can get caps. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_class_init), (gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_query), (gst_rtp_jitter_buffer_set_property), (gst_rtp_jitter_buffer_get_property): Add ts-offset property to control timestamping. * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init), (gst_rtp_session_init), (gst_rtp_session_set_property), (gst_rtp_session_get_property), (get_current_ntp_ns_time), (rtcp_thread), (stop_rtcp_thread), (gst_rtp_session_change_state), (gst_rtp_session_send_rtcp), (gst_rtp_session_sync_rtcp), (gst_rtp_session_cache_caps), (gst_rtp_session_clock_rate), (gst_rtp_session_sink_setcaps), (gst_rtp_session_chain_recv_rtp), (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_send_rtcp_src): Various cleanups. Feed rtpsession manager with NTP time based on pipeline clock when handling RTP packets and RTCP timeouts. Perform all RTCP with the system clock. Set caps on RTCP outgoing buffers. * gst/rtpmanager/gstrtpssrcdemux.c: (find_demux_pad_for_ssrc), (create_demux_pad_for_ssrc), (gst_rtp_ssrc_demux_base_init), (gst_rtp_ssrc_demux_init), (gst_rtp_ssrc_demux_sink_event), (gst_rtp_ssrc_demux_rtcp_sink_event), (gst_rtp_ssrc_demux_chain), (gst_rtp_ssrc_demux_rtcp_chain): * gst/rtpmanager/gstrtpssrcdemux.h: Also demux RTCP messages. * gst/rtpmanager/rtpsession.c: (rtp_session_set_callbacks), (update_arrival_stats), (rtp_session_process_rtp), (rtp_session_process_rb), (rtp_session_process_sr), (rtp_session_process_rr), (rtp_session_process_rtcp), (rtp_session_send_rtp), (rtp_session_send_bye), (session_start_rtcp), (session_report_blocks), (session_cleanup), (rtp_session_on_timeout): * gst/rtpmanager/rtpsession.h: Remove the get_time callback, the GStreamer part will feed us with enough timing information. Split sync timing and RTCP timing information. Factor out common RB handling for SR and RR. Send out SR RTCP packets for lip-sync. Move SR and RR packet info generation to the source. * gst/rtpmanager/rtpsource.c: (rtp_source_init), (rtp_source_update_caps), (get_clock_rate), (calculate_jitter), (rtp_source_process_rtp), (rtp_source_send_rtp), (rtp_source_process_sr), (rtp_source_process_rb), (rtp_source_get_new_sr), (rtp_source_get_new_rb), (rtp_source_get_last_sr): * gst/rtpmanager/rtpsource.h: * gst/rtpmanager/rtpstats.h: Use caps on incomming buffers to get timing information when they are there. Calculate clock scew of the receiver compared to the sender and adjust the rtp timestamps. Calculate the round trip in sources. Do SR and RR calculations in the source. 2007-08-31 15:26:14 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Use extended timestamp to release buffers from the jitterbuffer so that we can h... Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_flush_stop), (gst_rtp_jitter_buffer_change_state), (gst_rtp_jitter_buffer_loop): Use extended timestamp to release buffers from the jitterbuffer so that we can handle the rtp wraparound correctly. 2007-08-29 16:56:27 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Improve Comments. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_loop): Improve Comments. * gst/rtpmanager/gstrtpsession.c: (stop_rtcp_thread), (gst_rtp_session_change_state), (gst_rtp_session_parse_caps), (gst_rtp_session_clock_rate), (gst_rtp_session_sink_setcaps), (gst_rtp_session_event_send_rtp_sink), (create_recv_rtp_sink), (create_send_rtp_sink): Also parse the sink caps for clock-rate instead of only relying on the result of the signal. * gst/rtpmanager/rtpsource.c: (rtp_source_send_rtp): Make sure we fetch the clock rate for payloads we are sending out so that we can use it for SR reports. 2007-08-29 01:22:43 +0000 Wim Taymans gst/rtpmanager/gstrtpsession.*: Distribute synchronisation parameters to the session manager so that it can generate ... Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (stop_rtcp_thread), (gst_rtp_session_change_state), (gst_rtp_session_event_send_rtp_sink): * gst/rtpmanager/gstrtpsession.h: Distribute synchronisation parameters to the session manager so that it can generate correct SR packets for lip-sync. * gst/rtpmanager/rtpsession.c: (rtp_session_set_base_time), (rtp_session_set_timestamp_sync), (session_start_rtcp): * gst/rtpmanager/rtpsession.h: Add methods for setting sync parameters. Set correct RTP time in SR packets using the sync params. * gst/rtpmanager/rtpsource.c: (rtp_source_send_rtp): * gst/rtpmanager/rtpsource.h: Record last RTP <-> GST timestamp so that we can use them to convert NTP to RTP timestamps in SR packets. 2007-08-28 20:30:16 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Add some more advanced example pipelines. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_clear_pt_map): Add some more advanced example pipelines. * gst/rtpmanager/gstrtpsession.c: (rtcp_thread), (stop_rtcp_thread), (gst_rtp_session_send_rtcp): Add some debug and FIXME. Release LOCK when performing session cleanup. * gst/rtpmanager/rtpsession.c: (session_report_blocks): Add some debug. * gst/rtpmanager/rtpsource.c: (calculate_jitter), (rtp_source_send_rtp): Make sure we always send RTP packets with the session SSRC. 2007-08-27 21:17:21 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: When synchronizing buffers, take peer latency into account. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_change_state), (gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_query): When synchronizing buffers, take peer latency into account. Don't try to add our latency to invalid peer max latency values. 2007-08-23 21:39:58 +0000 Tim-Philipp Müller Rename all GstRTPFoo structs to GstRtpFoo so that GST_BOILERPLATE registers a GType that's different than the GstRTPF... Original commit message from CVS: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/gst-plugins-bad-plugins.interfaces: * docs/plugins/gst-plugins-bad-plugins.signals: * gst/rtpmanager/gstrtpbin.c: * gst/rtpmanager/gstrtpbin.h: * gst/rtpmanager/gstrtpclient.c: * gst/rtpmanager/gstrtpclient.h: * gst/rtpmanager/gstrtpjitterbuffer.c: * gst/rtpmanager/gstrtpjitterbuffer.h: * gst/rtpmanager/gstrtpptdemux.c: * gst/rtpmanager/gstrtpptdemux.h: * gst/rtpmanager/gstrtpsession.c: * gst/rtpmanager/gstrtpsession.h: * gst/rtpmanager/gstrtpssrcdemux.c: * gst/rtpmanager/gstrtpssrcdemux.h: Rename all GstRTPFoo structs to GstRtpFoo so that GST_BOILERPLATE registers a GType that's different than the GstRTPFoo types that farsight registers (luckily GType names are case sensitive). Should finally fix #430664. 2007-08-21 17:18:29 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: When drop-on-latency is set but we have no latency configured, just push the buf... Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_set_property): When drop-on-latency is set but we have no latency configured, just push the buffer as fast as possible. Fix typo in comment. 2007-08-21 16:04:47 +0000 Wim Taymans gst/rtpmanager/rtpjitterbuffer.*: Fix undefined overflow prone ts_diff handling. Original commit message from CVS: * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_get_ts_diff): * gst/rtpmanager/rtpjitterbuffer.h: Fix undefined overflow prone ts_diff handling. 2007-08-16 11:40:16 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Fix EOS handling. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_sink_event), (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop): Fix EOS handling. Convert some DEBUG into WARNINGs. Pause task when flushing. * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init), (rtcp_thread), (gst_rtp_session_event_recv_rtcp_sink): Use system clock for RTCP session management timeouts. * gst/rtpmanager/rtpsession.c: (on_new_ssrc), (on_ssrc_collision), (on_ssrc_validated), (on_bye_ssrc), (on_bye_timeout), (on_timeout): Release the session lock when emiting signals. 2007-08-13 06:16:40 +0000 Stefan Kost gst/rtpmanager/rtpjitterbuffer.c: Include stdlib. Original commit message from CVS: * gst/rtpmanager/rtpjitterbuffer.c: Include stdlib. 2007-08-10 17:16:53 +0000 Wim Taymans gst/rtpmanager/: Remove complicated async queue and replace with more simple jitterbuffer code while also fixing some... Original commit message from CVS: * gst/rtpmanager/Makefile.am: * gst/rtpmanager/async_jitter_queue.c: * gst/rtpmanager/async_jitter_queue.h: * gst/rtpmanager/rtpjitterbuffer.c: (rtp_jitter_buffer_class_init), (rtp_jitter_buffer_init), (rtp_jitter_buffer_finalize), (rtp_jitter_buffer_new), (compare_seqnum), (rtp_jitter_buffer_insert), (rtp_jitter_buffer_pop), (rtp_jitter_buffer_flush), (rtp_jitter_buffer_num_packets), (rtp_jitter_buffer_get_ts_diff): * gst/rtpmanager/rtpjitterbuffer.h: Remove complicated async queue and replace with more simple jitterbuffer code while also fixing some bugs. * gst/rtpmanager/gstrtpbin-marshal.list: * gst/rtpmanager/gstrtpbin.c: (on_new_ssrc), (on_ssrc_collision), (on_ssrc_validated), (on_bye_ssrc), (on_bye_timeout), (on_timeout), (create_session), (gst_rtp_bin_class_init), (create_recv_rtp), (create_send_rtp): * gst/rtpmanager/gstrtpbin.h: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_init), (gst_rtp_jitter_buffer_dispose), (gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_flush_start), (gst_rtp_jitter_buffer_flush_stop), (gst_rtp_jitter_buffer_change_state), (gst_rtp_jitter_buffer_sink_event), (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_set_property): * gst/rtpmanager/gstrtpsession.c: (on_new_ssrc), (on_ssrc_collision), (on_ssrc_validated), (on_bye_ssrc), (on_bye_timeout), (on_timeout), (gst_rtp_session_class_init), (gst_rtp_session_init): * gst/rtpmanager/gstrtpsession.h: * gst/rtpmanager/rtpsession.c: (on_bye_ssrc), (session_cleanup): Use new jitterbuffer code. Expose some new signals in preparation for handling EOS. 2007-07-18 07:35:32 +0000 Stefan Kost Add stdlib include (free, atoi, exit). Original commit message from CVS: * examples/app/appsrc_ex.c: * examples/switch/switcher.c: * ext/neon/gstneonhttpsrc.c: * ext/timidity/gstwildmidi.c: * ext/x264/gstx264enc.c: * gst/mve/mveaudioenc.c: (mve_compress_audio): * gst/rtpmanager/gstrtpclient.c: * gst/rtpmanager/gstrtpjitterbuffer.c: * gst/spectrum/demo-audiotest.c: * gst/spectrum/demo-osssrc.c: * sys/dvb/gstdvbsrc.c: Add stdlib include (free, atoi, exit). 2007-06-22 20:23:18 +0000 Jens Granseuer gst/: Build fixes for gcc-2.9x (no mid-block variable declarations etc.). Original commit message from CVS: Patch by: Jens Granseuer * gst/equalizer/gstiirequalizer.c: * gst/equalizer/gstiirequalizer10bands.c: * gst/equalizer/gstiirequalizer3bands.c: * gst/equalizer/gstiirequalizernbands.c: * gst/rtpmanager/async_jitter_queue.c: (async_jitter_queue_push_sorted): * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_chain): * gst/switch/gstswitch.c: (gst_switch_chain): Build fixes for gcc-2.9x (no mid-block variable declarations etc.). Fixes #450185. 2007-05-28 16:37:47 +0000 Wim Taymans Rename elements to avoid conflict with farsight elements with the same name. Fixes #430664. Original commit message from CVS: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * gst/rtpmanager/gstrtpbin.c: (create_session), (create_stream), (gst_rtp_bin_class_init), (create_recv_rtp), (create_recv_rtcp), (create_send_rtp), (create_rtcp), (gst_rtp_bin_request_new_pad): * gst/rtpmanager/gstrtpclient.c: (create_stream), (gst_rtp_client_request_new_pad): * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_clear_pt_map), (gst_rtp_jitter_buffer_loop): * gst/rtpmanager/gstrtpmanager.c: (plugin_init): * gst/rtpmanager/gstrtpptdemux.c: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init), (gst_rtp_session_request_new_pad): * gst/rtpmanager/gstrtpssrcdemux.c: Rename elements to avoid conflict with farsight elements with the same name. Fixes #430664. 2007-05-23 13:08:52 +0000 Wim Taymans Document stuff. Original commit message from CVS: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init): * gst/rtpmanager/gstrtpbin.h: * gst/rtpmanager/gstrtpclient.c: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_class_init), (gst_rtp_jitter_buffer_clear_pt_map), (gst_rtp_jitter_buffer_loop): * gst/rtpmanager/gstrtpjitterbuffer.h: * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_class_init), (gst_rtp_pt_demux_clear_pt_map): * gst/rtpmanager/gstrtpptdemux.h: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init), (rtcp_thread), (gst_rtp_session_clear_pt_map): * gst/rtpmanager/gstrtpsession.h: * gst/rtpmanager/gstrtpssrcdemux.c: (gst_rtp_ssrc_demux_class_init): Document stuff. Add clear-pt-map action signal where needed. 2007-05-15 13:29:53 +0000 Wim Taymans gst/rtpmanager/gstrtpptdemux.c: We always use fixed caps. Original commit message from CVS: * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_chain): We always use fixed caps. 2007-05-15 03:45:45 +0000 David Schleef gst/rtpmanager/gstrtpbin.c: g_hash_table_remove_all() only exists in 2.12. Work around. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: g_hash_table_remove_all() only exists in 2.12. Work around. 2007-05-14 15:28:36 +0000 Wim Taymans gst/rtpmanager/async_jitter_queue.c: Fix leak when flushing. Original commit message from CVS: * gst/rtpmanager/async_jitter_queue.c: (async_jitter_queue_set_flushing_unlocked): Fix leak when flushing. * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_clear_pt_map), (gst_rtp_bin_class_init): * gst/rtpmanager/gstrtpbin.h: Add clear-pt-map signal. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_flush_stop), (gst_rtp_jitter_buffer_sink_event), (gst_rtp_jitter_buffer_loop): Init clock-rate to -1 to mark unknow clock rate. Fix flushing. 2007-05-10 14:02:07 +0000 Stefan Kost gst/qtdemux/qtdemux.c (gst_qtdemux_move_stream, gst_qtdemux_loop_state_header, gst_qtdemux_activate_segment, gst_qtde... Original commit message from CVS: * gst/qtdemux/qtdemux.c (gst_qtdemux_move_stream, gst_qtdemux_loop_state_header, gst_qtdemux_activate_segment, gst_qtdemux_prepare_current_sample, gst_qtdemux_combine_flows, gst_qtdemux_loop_state_movie, gst_qtdemux_loop, qtdemux_parse_segments, qtdemux_parse_trak): * gst/rtpmanager/rtpsession.c (rtp_session_get_bandwidth, rtp_session_get_rtcp_bandwidth, rtp_session_get_cname, rtp_session_get_name, rtp_session_get_email, rtp_session_get_phone, rtp_session_get_location, rtp_session_get_tool, rtp_session_process_bye, session_report_blocks): * gst/rtpmanager/rtpsource.c (rtp_source_process_rtp, rtp_source_send_rtp, rtp_source_process_sr, rtp_source_process_rb): More format arg fixing (spotted by Ali Sabil ). * gst/switch/Makefile.am: Add require libraries(spotted by Ali Sabil ). 2007-05-10 12:38:49 +0000 Stefan Kost * gst/rtpmanager/async_jitter_queue.c: gst/rtpmanager/async_jitter_queue.c (tail_buffer_duration, async_jitter_queue_ref, async_jitter_queue_ref_unlocked, a... Original commit message from CVS: * gst/rtpmanager/async_jitter_queue.c (tail_buffer_duration, async_jitter_queue_ref, async_jitter_queue_ref_unlocked, async_jitter_queue_set_low_threshold, async_jitter_queue_length_ts_units_unlocked, async_jitter_queue_unref_and_unlock, async_jitter_queue_unref, async_jitter_queue_lock, async_jitter_queue_push, async_jitter_queue_push_unlocked, async_jitter_queue_push_sorted, async_jitter_queue_pop_intern_unlocked, async_jitter_queue_pop, async_jitter_queue_pop_unlocked, async_jitter_queue_length_unlocked, async_jitter_queue_set_flushing_unlocked, async_jitter_queue_unset_flushing_unlocked): Format arg fix (spotted by Ali Sabil ) 2007-05-09 11:24:22 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Pass queries upstream. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_query): Pass queries upstream. 2007-05-04 12:32:27 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Add some debug info. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_query): Add some debug info. * gst/rtpmanager/rtpsession.c: (rtp_session_init), (rtp_session_send_rtp): Store real user name in the session. 2007-04-30 13:41:30 +0000 Wim Taymans gst/rtpmanager/async_jitter_queue.c: Fix the case where the buffer underruns and does not block. Original commit message from CVS: * gst/rtpmanager/async_jitter_queue.c: (signal_waiting_threads), (async_jitter_queue_pop_intern_unlocked): Fix the case where the buffer underruns and does not block. * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_base_init), (create_recv_rtcp), (create_send_rtp), (create_rtcp), (gst_rtp_bin_request_new_pad): Rename RTCP send pad, like in the session manager. Allow getting an RTCP pad for receiving even if we don't receive RTP. fix handling of send_rtp_src pad. * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_chain): When no pt map could be found, fall back to the sinkpad caps. * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_process_rtp), (gst_rtp_session_send_rtp), (create_recv_rtp_sink), (create_recv_rtcp_sink), (create_send_rtp_sink), (create_send_rtcp_src): Fix pad names. * gst/rtpmanager/rtpsession.c: (source_push_rtp), (rtp_session_create_source), (rtp_session_process_sr), (rtp_session_send_rtp), (session_start_rtcp): * gst/rtpmanager/rtpsession.h: Unlock session when performing a callback. Add callbacks for the internal session object. Fix sending of RTP packets. first attempt at adding NTP times in the SR packets. Small debug and doc improvements. * gst/rtpmanager/rtpsource.c: (rtp_source_send_rtp): Update stats for SR reports. 2007-04-29 14:46:27 +0000 Wim Taymans gst/rtpmanager/gstrtpsession.c: Remove debug. Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_send_rtcp): Remove debug. * gst/rtpmanager/rtpsession.c: (rtp_session_process_sr), (rtp_session_process_sdes), (calculate_rtcp_interval), (rtp_session_next_timeout), (session_report_blocks): * gst/rtpmanager/rtpstats.c: (rtp_stats_calculate_rtcp_interval): Improve debugging Fix interval for BYE/RTCP packets. 2007-04-27 15:09:12 +0000 Wim Taymans gst/rtpmanager/gstrtpsession.c: Move reconsideration code to the rtpsession object. Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (rtcp_thread), (gst_rtp_session_send_rtcp), (gst_rtp_session_reconsider): Move reconsideration code to the rtpsession object. Simplify timout handling and add reconsideration. * gst/rtpmanager/rtpsession.c: (rtp_session_class_init), (rtp_session_init), (rtp_session_finalize), (on_bye_ssrc), (on_bye_timeout), (on_timeout), (rtp_session_set_callbacks), (obtain_source), (rtp_session_create_source), (update_arrival_stats), (rtp_session_process_rtp), (rtp_session_process_sr), (rtp_session_process_rr), (rtp_session_process_bye), (rtp_session_process_rtcp), (calculate_rtcp_interval), (rtp_session_send_bye), (rtp_session_next_timeout), (session_start_rtcp), (session_report_blocks), (session_cleanup), (session_sdes), (session_bye), (is_rtcp_time), (rtp_session_on_timeout): * gst/rtpmanager/rtpsession.h: Handle timeout of inactive sources and senders. Implement BYE scheduling. * gst/rtpmanager/rtpsource.c: (calculate_jitter), (rtp_source_process_sr), (rtp_source_get_last_sr), (rtp_source_get_last_rb): * gst/rtpmanager/rtpsource.h: Add members to check for timeouts. * gst/rtpmanager/rtpstats.c: (rtp_stats_init_defaults), (rtp_stats_calculate_rtcp_interval), (rtp_stats_add_rtcp_jitter), (rtp_stats_calculate_bye_interval): * gst/rtpmanager/rtpstats.h: Use RFC algorithm for calculating the reporting interval. 2007-04-25 16:38:03 +0000 Wim Taymans gst/rtpmanager/gstrtpsession.c: Implement forward and reverse reconsideration. Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (rtcp_thread): Implement forward and reverse reconsideration. * gst/rtpmanager/rtpsession.c: (rtp_session_get_num_sources), (rtp_session_get_num_active_sources), (rtp_session_process_sr), (session_report_blocks): * gst/rtpmanager/rtpsession.h: Small cleanups. 2007-04-25 15:48:46 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.*: Make default jitterbuffer latency configurable. Original commit message from CVS: reviewed by: * gst/rtpmanager/gstrtpbin.c: (create_stream), (gst_rtp_bin_class_init), (gst_rtp_bin_set_property), (gst_rtp_bin_get_property): * gst/rtpmanager/gstrtpbin.h: Make default jitterbuffer latency configurable. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_class_init), (gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_loop), (gst_rtp_jitter_buffer_set_property), (gst_rtp_jitter_buffer_get_property): Debuging cleanups. 2007-04-25 13:19:36 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Report NO_PREROLL when going to PAUSED. Original commit message from CVS: * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_change_state): Report NO_PREROLL when going to PAUSED. * gst/rtpmanager/gstrtpsession.c: (rtcp_thread): Don't send RTCP right before we are shutting down. * gst/rtpmanager/rtpsession.c: (rtp_session_process_rtp), (rtp_session_process_sr), (session_report_blocks), (rtp_session_perform_reporting): Improve report blocks. * gst/rtpmanager/rtpsource.c: (calculate_jitter), (init_seq), (rtp_source_process_rtp), (rtp_source_process_sr), (rtp_source_process_rb), (rtp_source_get_last_sr), (rtp_source_get_last_rb): * gst/rtpmanager/rtpsource.h: * gst/rtpmanager/rtpstats.h: Cleanups, add methods to access stats. 2007-04-25 08:30:48 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: fix for pad name change Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_rtcp): fix for pad name change * gst/rtpmanager/gstrtpsession.c: (rtcp_thread), (gst_rtp_session_send_rtcp), (gst_rtp_session_clock_rate): Fix for renamed methods. * gst/rtpmanager/rtpsession.c: (rtp_session_init), (rtp_session_finalize), (rtp_session_set_cname), (rtp_session_get_cname), (rtp_session_set_name), (rtp_session_get_name), (rtp_session_set_email), (rtp_session_get_email), (rtp_session_set_phone), (rtp_session_get_phone), (rtp_session_set_location), (rtp_session_get_location), (rtp_session_set_tool), (rtp_session_get_tool), (rtp_session_set_note), (rtp_session_get_note), (source_push_rtp), (obtain_source), (rtp_session_add_source), (rtp_session_get_source_by_ssrc), (rtp_session_create_source), (rtp_session_process_rtp), (rtp_session_process_sr), (rtp_session_process_sdes), (rtp_session_process_rtcp), (rtp_session_send_rtp), (rtp_session_get_reporting_interval), (session_report_blocks), (session_sdes), (rtp_session_perform_reporting): * gst/rtpmanager/rtpsession.h: Prepare for implementing SSRC sampling. Create SSRC for the session. Add methods to set the SDES entries. fix accounting of senders/receivers. Implement SR/RR/SDES RTCP reporting. * gst/rtpmanager/rtpsource.c: (rtp_source_init), (init_seq), (rtp_source_process_rtp), (rtp_source_process_sr): * gst/rtpmanager/rtpsource.h: Implement extended sequence number. * gst/rtpmanager/rtpstats.c: (rtp_stats_calculate_rtcp_interval): * gst/rtpmanager/rtpstats.h: Rename some fields. 2007-04-21 19:21:49 +0000 Tim-Philipp Müller gst/rtpmanager/rtpsession.c: Don't use GLib-2.10 API, we only require GLib 2.8 at the moment. Original commit message from CVS: * gst/rtpmanager/rtpsession.c: (rtp_session_finalize): Don't use GLib-2.10 API, we only require GLib 2.8 at the moment. 2007-04-18 18:58:53 +0000 Wim Taymans configure.ac: Disable rtpmanager for now because it depends on CVS -base. Original commit message from CVS: * configure.ac: Disable rtpmanager for now because it depends on CVS -base. * gst/rtpmanager/Makefile.am: Added new files for session manager. * gst/rtpmanager/gstrtpjitterbuffer.h: * gst/rtpmanager/gstrtpbin.c: (create_session), (get_pt_map), (create_stream), (pt_map_requested), (new_ssrc_pad_found): Some cleanups. the session manager can now also request a pt-map. * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_base_init), (gst_rtp_session_class_init), (gst_rtp_session_init), (gst_rtp_session_finalize), (rtcp_thread), (start_rtcp_thread), (stop_rtcp_thread), (gst_rtp_session_change_state), (gst_rtp_session_process_rtp), (gst_rtp_session_send_rtp), (gst_rtp_session_send_rtcp), (gst_rtp_session_clock_rate), (gst_rtp_session_get_time), (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_send_rtcp_src), (gst_rtp_session_request_new_pad): * gst/rtpmanager/gstrtpsession.h: We can ask for pt-map now too when the session manager needs it. Hook up to the new session manager, implement the needed callbacks for pushing data, getting clock time and requesting clock-rates. Rename rtcp_src to send_rtcp_src to make it clear that this RTCP is to be send to clients. Add code to start and stop the thread that will schedule RTCP through the session manager. * gst/rtpmanager/rtpsession.c: (rtp_session_class_init), (rtp_session_init), (rtp_session_finalize), (rtp_session_set_property), (rtp_session_get_property), (on_new_ssrc), (on_ssrc_collision), (on_ssrc_validated), (on_bye_ssrc), (rtp_session_new), (rtp_session_set_callbacks), (rtp_session_set_bandwidth), (rtp_session_get_bandwidth), (rtp_session_set_rtcp_bandwidth), (rtp_session_get_rtcp_bandwidth), (source_push_rtp), (source_clock_rate), (check_collision), (obtain_source), (rtp_session_add_source), (rtp_session_get_num_sources), (rtp_session_get_num_active_sources), (rtp_session_get_source_by_ssrc), (rtp_session_get_source_by_cname), (rtp_session_create_source), (update_arrival_stats), (rtp_session_process_rtp), (rtp_session_process_sr), (rtp_session_process_rr), (rtp_session_process_sdes), (rtp_session_process_bye), (rtp_session_process_app), (rtp_session_process_rtcp), (rtp_session_send_rtp), (rtp_session_get_rtcp_interval), (rtp_session_produce_rtcp): * gst/rtpmanager/rtpsession.h: The advanced beginnings of the main session manager that handles the participant database of RTPSources, SSRC probation, SSRC collisions, parse RTCP to update source stats. etc.. * gst/rtpmanager/rtpsource.c: (rtp_source_class_init), (rtp_source_init), (rtp_source_finalize), (rtp_source_new), (rtp_source_set_callbacks), (rtp_source_set_as_csrc), (rtp_source_set_rtp_from), (rtp_source_set_rtcp_from), (push_packet), (get_clock_rate), (calculate_jitter), (rtp_source_process_rtp), (rtp_source_process_bye), (rtp_source_send_rtp), (rtp_source_process_sr), (rtp_source_process_rb): * gst/rtpmanager/rtpsource.h: Object that encapsulates an SSRC and its state in the database. Calculates the jitter and transit times of data packets. * gst/rtpmanager/rtpstats.c: (rtp_stats_init_defaults), (rtp_stats_calculate_rtcp_interval), (rtp_stats_add_rtcp_jitter): * gst/rtpmanager/rtpstats.h: Various stats regarding the session and sources. Used to calculate the RTCP interval. 2007-04-13 09:20:55 +0000 Wim Taymans gst/rtpmanager/: Protect lists and structures with locks. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_session), (get_pt_map), (gst_rtp_bin_init), (gst_rtp_bin_finalize), (new_ssrc_pad_found), (create_recv_rtp), (gst_rtp_bin_request_new_pad): * gst/rtpmanager/gstrtpbin.h: * gst/rtpmanager/gstrtpclient.c: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init), (gst_rtp_session_init), (gst_rtp_session_finalize), (gst_rtp_session_event_recv_rtp_sink), (gst_rtp_session_event_recv_rtcp_sink), (gst_rtp_session_chain_recv_rtcp), (gst_rtp_session_request_new_pad): Protect lists and structures with locks. Return FLOW_OK from RTCP messages for now. 2007-04-12 08:18:32 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Emit pt map requests and cache results. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_session), (get_pt_map), (create_stream), (gst_rtp_bin_class_init), (pt_map_requested): Emit pt map requests and cache results. * gst/rtpmanager/gstrtpjitterbuffer.c: (gst_rtp_jitter_buffer_class_init), (gst_jitter_buffer_sink_parse_caps), (gst_jitter_buffer_sink_setcaps), (gst_rtp_jitter_buffer_get_clock_rate), (gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop): * gst/rtpmanager/gstrtpjitterbuffer.h: * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_chain): Emit request-pt-map signals. 2007-04-11 13:49:54 +0000 Wim Taymans gst/rtpmanager/gstrtpbin-marshal.list: Some more custom marshallers. 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. 2007-04-10 09:14:07 +0000 Wim Taymans gst/rtpmanager/: Added custom marshallers for signals. 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. 2007-04-06 12:28:29 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.*: Provide a clock. 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. 2007-04-06 12:07:30 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.c: Fix pad template name parsing. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (create_rtcp): Fix pad template name parsing. 2007-04-05 16:10:24 +0000 Wim Taymans gst/rtpmanager/gstrtpjitterbuffer.c: Add some debug and comments. 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. 2007-04-05 13:54:23 +0000 Wim Taymans gst/rtpmanager/gstrtpbin.*: Add debugging category. 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. 2007-04-04 10:23:15 +0000 Wim Taymans gst/rtpmanager/: Added simple SSRC demuxer. 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. 2007-04-03 11:35:39 +0000 Wim Taymans gst/rtpmanager/: Some more ghostpad magic. 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. 2007-04-03 09:51:13 +0000 Wim Taymans gst/rtpmanager/Makefile.am: Add .h file so it can be disted properly. Original commit message from CVS: * gst/rtpmanager/Makefile.am: Add .h file so it can be disted properly. 2007-04-03 09:13:17 +0000 Wim Taymans Add RTP session management elements. Still in progress. 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. 2009-08-10 13:30:23 +0200 Mark Nauwelaerts * gst/avi/gstavidemux.c: avidemux: push mode; cater for chunk padding 2009-08-04 19:45:43 +0200 Mark Nauwelaerts * gst/avi/gstavidemux.c: avidemux: only use stream's pad after having checked it exists 2009-08-04 13:38:09 +0200 Mark Nauwelaerts * gst/avi/gstavidemux.c: avidemux: sprinkle some more GST_DEBUG_FUNCPTR 2009-08-04 13:36:36 +0200 Mark Nauwelaerts * gst/avi/gstavidemux.c: avidemux: post error message if no pads to push EOS event on 2009-08-04 11:39:59 +0200 Mark Nauwelaerts * gst/avi/gstavidemux.c: avidemux: fix typo in warning message 2009-08-04 11:39:39 +0200 Mark Nauwelaerts * gst/avi/gstavidemux.c: avidemux: fix some buffer ref handling 2009-08-04 11:37:16 +0200 Mark Nauwelaerts * gst/avi/gstavidemux.c: avidemux: do not exceed maximum number of supported streams 2009-08-04 11:35:18 +0200 Mark Nauwelaerts * gst/avi/gstavidemux.c: avidemux: prevent double unref; gst_avi_demux_parse_avih already unrefs 2009-08-04 11:32:27 +0200 Mark Nauwelaerts * gst/avi/gstavidemux.c: avidemux: verify size of INFO LIST to satisfy subsequent expectations 2009-07-29 15:25:38 +0200 Mark Nauwelaerts * gst/avi/gstavidemux.c: avidemux: check video stream framerate against avi header frame duration The former might be bogus in silly cases, and the latter seems to carry more weight. 2009-08-04 12:16:13 +0200 Mark Nauwelaerts * gst/avi/gstavidemux.c: avidemux: streamline stream duration calculation 2009-07-03 14:04:13 +0200 Edward Hervey * ext/raw1394/gstdv1394src.c: dv1394src: Fix element for live usage... which has been broken for 2 years :( This is a live source, therefore: * Use GST_FORMAT_TIME as the default format * set_timestamp to True * properly implement query latency. This allows expected live usage like : playbin2 uri=dv:// 2009-08-09 09:43:41 +0200 Edward Hervey * ext/raw1394/gstdv1394src.c: raw1394: Remove unneeded variable 2009-08-09 09:43:29 +0200 Edward Hervey * gst/matroska/matroska-demux.c: matroska: remove dead assignments 2009-08-09 09:43:00 +0200 Edward Hervey * gst/rtp/gstrtpac3depay.c: * gst/rtp/gstrtpceltdepay.c: * gst/rtp/gstrtpj2kdepay.c: * gst/rtp/gstrtpj2kpay.c: rtp: Remove dead assignments and resulting unneeded variables. 2009-08-10 09:53:28 +0200 Sebastian Dröge * configure.ac: * ext/wavpack/Makefile.am: * ext/wavpack/gstwavpackenc.c: * ext/wavpack/gstwavpackenc.h: * ext/wavpack/md5.c: * ext/wavpack/md5.h: wavpack: Use GLib GChecksum instead of our own MD5 implementation This requires GLib 2.16 but that version is already required by core anyway. 2009-08-08 00:47:48 -0300 Thiago Santos * gst/matroska/matroska-demux.c: * gst/matroska/matroska-mux.c: * gst/matroska/matroska-mux.h: matroska: Adds support to muxing/demuxing WMA Adds support for muxing wma audio family and fixes demuxing of wma family in matroskademux. matroskademux was broken because it missed codec_data. 2009-08-06 20:15:17 -0300 Thiago Santos * gst/matroska/matroska-mux.c: matroskamux: adds support for wmv family 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 2009-08-09 14:19:42 +0100 Tim-Philipp Müller * sys/v4l2/gstv4l2object.c: v4l2src: if max == min width/height put an int in the probed caps, not an int range Fixes #560033. 2009-08-09 13:58:07 +0100 Tim-Philipp Müller * sys/osxaudio/gstosxaudiosrc.c: osxaudiosrc: if max_channels == min_channels, use an int instead of an int range in the caps 2009-08-09 12:52:17 +0200 LoneStar * gst/id3demux/id3v2frames.c: id3demux: Try GST_*_TAG_ENCODING and locale encoding if tags are not UTF8 Fixes bug #499242. 2009-08-09 01:29:50 +0100 Tim-Philipp Müller * configure.ac: configure: bump core/base requirements to latest release To avoid confusion. 2009-08-09 01:27:01 +0100 Tim-Philipp Müller * tests/check/elements/flvmux.c: check: fix flvmux unit test on big endian machines flvmux only accepts raw audio in little endian, but audiotestsrc produces audio in the native endianness, which makes linking between audiotestsrc and flvmux fail on big endian machines. Add an audioconvert element in between the two to fix this. 2009-02-15 18:49:44 +0000 Vincent Penquerc'h * gst/matroska/matroska-demux.c: * gst/matroska/matroska-ids.h: * gst/matroska/matroska-mux.c: matroska: add kate subtitle support to matroska muxer and demuxer See #525743. 2009-08-07 16:51:45 +0100 Tim-Philipp Müller * gst/id3demux/id3v2.3.0.html: id3demux: add ID3 v2.3 spec as well 2009-08-07 16:42:39 +0100 Tim-Philipp Müller * gst/id3demux/id3v2frames.c: id3demux: sizes in ID3 v2.3 are unlikely to be sync-safe integers 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. 2009-08-07 16:36:55 +0100 Tim-Philipp Müller * gst/id3demux/id3tags.c: id3demux: fix typo in debug message 2009-08-07 16:02:23 +0100 Tim-Philipp Müller * gst/id3demux/id3tags.c: * gst/id3demux/id3tags.h: * gst/id3demux/id3v2frames.c: * tests/check/elements/id3demux.c: * tests/files/Makefile.am: * tests/files/id3-588148-unsynced-v24.tag: id3demux: fix parsing of unsync'ed ID3 v2.4 tags and frames 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. 2009-08-06 21:24:14 +0200 Sebastian Dröge * ext/soup/gstsouphttpsrc.c: souphttpsrc: Use SOUP_METHOD_GET instead of "GET" string Fixes bug #590970. 2009-08-06 13:00:59 +0200 Wim Taymans * ext/pulse/pulsesrc.c: pulsesrc: set the default slave method to skew Set the default slave method to the much better skew algorithm. This is the default in the new base class but we override this here as well for the upcomming release. 2009-08-06 10:20:34 +0100 Tim-Philipp Müller * ext/pulse/pulsesrc.c: pulsesrc: fix compilation with --disable-gst-debug 2009-08-03 18:59:32 +0200 Wim Taymans * gst/rtp/gstrtph264pay.c: * gst/rtp/gstrtph264pay.h: rtph264pay: use array instead of queue 2009-08-03 18:55:19 +0200 Mark Nauwelaerts * gst/rtp/gstrtph264pay.c: * gst/rtp/gstrtph264pay.h: rtph264pay: push NALs only after SPS/PPS parse complete (bytestream) buffer for SPS/PPS before pushing NALs. Fixes #564501. 2009-08-04 14:44:36 +0200 Sebastian Dröge * sys/v4l2/v4l2_calls.h: v4l2: Directly use GST_PTR_FORMAT for printing caps with the LOG_CAPS macro 2009-08-04 11:17:17 +0200 Edward Hervey * gst/rtp/gstrtpqdmdepay.c: rtpqdm2depay: Fix debug statement. 2009-08-04 09:32:07 +0200 Sebastian Dröge * sys/v4l2/gstv4l2sink.c: * sys/v4l2/v4l2_calls.h: v4l2: Remove some OMAP specific hacks They require special build flags and are not useful in general. 2009-08-04 09:22:29 +0200 Rob Clark * sys/v4l2/gstv4l2bufferpool.c: * sys/v4l2/gstv4l2bufferpool.h: * sys/v4l2/gstv4l2sink.c: * sys/v4l2/v4l2src_calls.c: v4l2sink: change where buffers get dequeued It seems to cause strange occasional high latencies (almost 200ms) when dequeuing buffers from _buffer_alloc(). It is simpler and seems to work much better to dqbuf from the same thread that is queuing the next buffer. 2009-08-04 09:14:20 +0200 Rob Clark * sys/v4l2/Makefile.am: * sys/v4l2/gstv4l2.c: * sys/v4l2/gstv4l2bufferpool.c: * sys/v4l2/gstv4l2bufferpool.h: * sys/v4l2/gstv4l2object.c: * sys/v4l2/gstv4l2object.h: * sys/v4l2/gstv4l2sink.c: * sys/v4l2/gstv4l2sink.h: * sys/v4l2/gstv4l2src.c: * sys/v4l2/gstv4l2src.h: * sys/v4l2/v4l2_calls.c: * sys/v4l2/v4l2_calls.h: * sys/v4l2/v4l2src_calls.c: * sys/v4l2/v4l2src_calls.h: v4l2: Add v4l2sink element This also does the following changes: (1) pull the bufferpool code out into gstv4l2bufferpool.c, and make a bit more generic so it can be used both for v4l2src and v4l2sink (2) move some of the device probing/configuration/caps stuff into gstv4l2object.c so it does not have to be duplicated between v4l2src and v4l2sink Fixes bug #590280. 2009-08-04 07:07:45 +0200 Sebastian Dröge * tests/check/Makefile.am: flvmux: Enable unit test now that it passes 2009-08-03 21:21:39 +0200 Edward Hervey * gst/rtp/gstrtpqdmdepay.c: * gst/rtp/gstrtpsv3vdepay.c: rtpqdm2depay,rtpsv3vdepay: Add debugging category. 2009-08-03 21:22:48 +0200 Edward Hervey * gst/rtp/gstrtpqdmdepay.c: * gst/rtp/gstrtpqdmdepay.h: rtpqdm2depay: Handle gaps in incoming packets. 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 :) 2009-08-03 19:01:07 +0200 Edward Hervey * gst/rtp/gstrtpqdmdepay.c: rtpqdmdepay: Fix CRC calculation and remove commented code. 2009-08-02 13:42:12 +0200 Edward Hervey * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: * gst/rtp/gstrtpqdmdepay.c: * gst/rtp/gstrtpqdmdepay.h: rtp: New QDM2 rtp depayloader. 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). 2009-08-03 21:24:44 +0200 Edward Hervey * gst/rtp/gstrtpsv3vdepay.c: rtpsv3vdepay: Properly fill codec_data and cleanup code a bite more. 2009-08-03 19:02:17 +0200 Edward Hervey * gst/rtp/gstrtpsv3vdepay.c: * gst/rtp/gstrtpsv3vdepay.h: rtpsv3vdepay: Only output buffers once we're configured. 2009-08-03 19:02:00 +0200 Edward Hervey * gst/rtp/gstrtpsv3vdepay.c: rtpsv3vdepay: Add more encoding-name variants 2009-08-03 20:08:33 +0200 Sebastian Dröge * tests/check/elements/flvmux.c: flvmux: Fix unit test to correctly handle request pads Request pads are removed by the element instance in PAUSED->READY so we need to re-request pads for every run and link them again. Last fix for bug #590447. 2009-08-03 20:08:00 +0200 Sebastian Dröge * gst/flv/gstflvmux.c: flvmux: Fix writing of the index for < 128 buffers Partially fixes bug #590447. 2009-08-03 20:07:00 +0200 Sebastian Dröge * gst/flv/gstflvmux.c: flvmux: Fix resetting of the element Reset the have_video/have_audio flags and make sure to properly release the request pads. Partially fixes bug #590447. 2009-08-03 18:13:46 +0200 Wim Taymans * gst/rtsp/gstrtspsrc.c: rtspsrc: don't add non-utf8 chars to structures 2009-08-03 18:02:31 +0200 Luc Deschenaux * gst/rtp/gstrtpjpegdepay.c: * gst/rtp/gstrtpjpegdepay.h: jpegdepay: use attributes for extra properties 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 2009-08-03 18:01:27 +0200 Wim Taymans * gst/rtp/README: RTP docs: update with attributes in caps 2009-08-03 17:21:44 +0200 Luc Deschenaux * gst/rtsp/gstrtspsrc.c: rtspsrc: put all SDP attributes on caps Put the SDP attributes on the caps too so that they can be used by depayloaders. See #564437 2009-08-03 13:32:12 +0200 Jonathan Tellier * ext/pulse/pulsesrc.c: pulsesrc: initialize the probe with the server When creating a new probe, pass the server instead of the device string. fixes #590401 2009-08-02 11:44:03 +0100 Tim-Philipp Müller * gst/udp/gstmultiudpsink.c: multiudpsink: don't do things with side-effects inside g_return_val_if_fail() Someone might compile this code with -DG_DISABLE_ASSERT some day. 2009-08-01 21:39:30 +0100 Tim-Philipp Müller * ext/pulse/pulsesink.c: pulsesink: don't do logic within g_assert() statements Otherwise that code will just be expanded to nothing when compiled -DG_DISABLE_ASSERT (PS: why is mainloop_start() called in the init function and not when changing state to READY?) 2009-08-01 17:07:42 +0100 Tim-Philipp Müller * ext/flac/gstflacdec.c: flacdec: send newsegment event when operating push-based and unframed For some reason flac doesn't call our metadata callback when we operate in push mode with unframed input, but that's where we set up the newsegment event (since that's where we'd get the duration from the stream info header), so we didn't send a newsegment event at all in this case. Hack around this by storing a generic newsegment event for now which will be used if we don't replace it with a better one that includes the duration. 2009-08-01 16:48:36 +0100 Tim-Philipp Müller * ext/flac/gstflacdec.c: flacdec: small cleanups Remove some callback indirections which are no longer needed because there's only one decoder object type now. Also remove unused variable. 2009-08-01 15:22:49 +0100 Tim-Philipp Müller * ext/flac/gstflacdec.c: flacdec: use gst_adapter_copy() to avoid unnecessary buffer merges gst_adapter_peek() will merge buffers as needed, which we can avoid here since we're doing a memcpy anyway and then flush the copied data from the adapter right away. 2009-08-01 00:00:41 +0100 Tim-Philipp Müller * ext/flac/gstflacdec.c: flacdec: repair some broken indenting 2009-08-01 12:19:41 +0100 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/elements/flvmux.c: checks: add basic unit test for flvmux, but disable it for now Basic unit test for flvmux. Fails miserably, hence disabled for now. 2009-07-31 23:28:12 +0100 Tim-Philipp Müller * tests/check/Makefile.am: * tests/check/elements/.gitignore: * tests/check/elements/flvdemux.c: * tests/files/Makefile.am: * tests/files/pcm16sine.flv: check: add basic unit test for flvdemux In particular, test re-use of flvdemux in both pull and push mode (see #583030). 2009-07-31 20:25:17 +0100 Tim-Philipp Müller * gst/flv/gstflvmux.c: flvmux: fix invalid write caused by using sizeof("string") as length 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. 2009-07-27 18:44:45 +0200 Edward Hervey * ext/soup/gstsouphttpsrc.c: soup: Use "GET" instead of SOUP_METHOD_GET. Fixes build with libsoup-2.7.* This is due to a quality API change in libsoup 2.7. SOUP_METHOD_* are now integers and not strings... they could have changed the names. 2009-07-30 17:57:53 +0300 Stefan Kost * ext/jpeg/gstjpegdec.c: * ext/jpeg/gstjpegenc.c: jpeg: use longer macro names to not clash with some stupid windows defines libjpeg headers pull some windows system inlcudes (on windows) that contain a define for DEFAULT_QUALITY. 2009-07-29 14:31:48 +0200 Sebastian Dröge * gst/avi/gstavidemux.c: avidemux: Fix last commit and improve readability 2009-07-24 19:04:31 +0400 Руслан Ижбулатов * gst/avi/gstavidemux.c: Fixed the fix for TIME->DEFAULT conversion. Fixes bug #578052 again. 2009-07-29 13:38:03 +0200 Edward Hervey * gst/rtp/gstrtpsv3vdepay.c: rtpsv3depay: Fix width/height calculation, bring up to marginal rank. Based on documentation found on http://wiki.multimedia.cx/ 2009-07-29 12:13:20 +0200 Wim Taymans * ext/pulse/pulsesink.c: * ext/pulse/pulsesrc.c: pulse: conditionally compile newer stuff configured_sink/source_usec in the timing_info is only since 0.9.11 so conditionally compile this information. fixes #590038 2009-07-28 18:29:07 +0200 Wim Taymans * ext/pulse/pulsesrc.c: * ext/pulse/pulsesrc.h: pulsesrc: cleanups Keep track of the paused state of the source and leave the read function when paused. don't wait for a latency update when the delay is not yet known but simply return 0 instead of blocking. Keep track of the corked state of the stream. Fix the state changes. 2009-07-28 16:11:18 +0200 Wim Taymans * ext/pulse/pulsesrc.c: pulsesrc: set maxlength always to -1 2009-07-28 15:53:57 +0200 Wim Taymans * ext/pulse/pulsesrc.c: * ext/pulse/pulsesrc.h: pulsesrc; cleanups, report real latency Add some more debug info Avoid some type casts Report the real latency to the application. 2009-07-28 16:11:36 +0200 Mark Nauwelaerts * ext/jpeg/gstjpegdec.c: jpegdec: when scanning for 0xff marker ends, ensure desired result Otherwise, any non 0xff byte at end of data would be mistaken for a tag byte, and in case of a frame_len 0 tag subsequently lead to an infinite loop. 2009-07-28 00:30:43 -0300 Thiago Santos * gst/avi/gstavimux.c: avimux: adds support to wma 2009-07-28 00:07:15 -0300 Thiago Santos * gst/avi/gstavimux.c: avimux: adds support to wmv 2009-07-27 21:34:22 -0300 Thiago Santos * gst/qtdemux/qtdemux.c: qtdemux: Downgrade warning message to debug 2009-07-27 11:51:39 +0200 Wim Taymans * ext/pulse/pulsesink.c: pulsesink: avoid using ivalid stream indexes when we get an invalid stream index from pulse because we were just starting, avoid using it for getting and setting the volume. Fixes #589365 2009-07-24 19:38:07 +0200 Sebastian Dröge * gst/effectv/gstaging.c: * gst/effectv/gstdice.c: * gst/effectv/gstquark.c: * gst/effectv/gstradioac.c: * gst/effectv/gstripple.c: * gst/effectv/gstshagadelic.c: * gst/effectv/gststreak.c: * gst/effectv/gstvertigo.c: * gst/effectv/gstwarp.c: effectv: Don't allow caps changes for some effectv filters These filters use information from previous frames to generate the current frame and a caps change will make the effect start from the beginning again. 2009-07-24 19:37:09 +0200 Sebastian Dröge * gst/effectv/gstwarp.c: * gst/effectv/gstwarp.h: warptv: Make the sine table global instead of having it in every instance 2009-07-24 10:47:44 +0300 Stefan Kost * ext/jpeg/gstjpegenc.c: jpeg: make encoder work with libjpeg v7 We have to specify do_fancy_downsampling = FALSE in the encoder with did not exist before. 2009-07-24 00:42:33 +0300 Stefan Kost * common: Automatic update of common submodule From fedaaee to 94f95e3 2009-07-23 12:06:27 +0200 Sebastian Dröge * ext/flac/gstflacdec.c: flacdec: Implement SEEKING query Fixes bug #589423. 2009-07-22 11:16:06 +0100 Colin Guthrie * ext/pulse/pulsesink.c: pulsesink: Fix a couple error messages that mentioned incorrect function names. Fixes #589459. 2009-07-23 11:50:16 +0200 Sebastian Dröge * gst/flv/gstflvdemux.c: * gst/flv/gstflvparse.c: flvdemux: Implement SEEKING query Also add some more query types to the answer of the query type function. Fixes bug #589424. 2009-07-21 19:46:55 +0100 Tim-Philipp Müller * ext/flac/gstflacdec.c: * ext/flac/gstflacdec.h: flacdec: fix intermittent FLAC__STREAM_DECODER_ABORTED errors when seeking When seeking in a local flac file (ie. operating pull-based), the decoder would often just error out after the loop function sees a DECODER_ABORTED status. This, however, is the read callback's way of telling our loop function that pull_range failed and streaming should stop, in this case because of the flush-start event that the seek handler pushed upstream from the seeking thread. Handle this slightly better by storing the last flow return from pull_range, so the loop function can evaluate it properly when it encounters a DECODER_ABORTED and take the right action. Fixes #578612. 2009-07-21 10:07:00 +0300 Stefan Kost * gst/interleave/interleave.c: interleave: fix indenting and upgrade two debugs to warnings. Fix newlines in variable decls. Change two debugs to become warnings as they indicate that things will not work. 2009-07-21 10:04:36 +0300 Stefan Kost * ext/jpeg/gstjpeg.c: * ext/jpeg/gstjpegdec.c: * ext/jpeg/gstjpegenc.c: * ext/jpeg/gstjpegenc.h: jpeg: code cleanups for encoder Remove some disabled code in encoder. Try #if 0'ed code and add comments about why it is disabled. Move idct-method enum to jpeg.c and use in both encoder and decoder. Add idct-method property to encoder. 2009-07-21 07:50:46 +0200 Sebastian Dröge * gst/matroska/matroska-demux.c: matroskademux: Answer SEEKING queries in the original format 2009-07-21 01:12:44 +0200 Josep Torra * gst/udp/gstudpnetutils.c: udputils: initialize struct content with 0. Fixes some random crashes. 2009-07-20 19:09:19 +0200 Wim Taymans * ext/pulse/pulsesink.c: pulsesink: set some values to their defaults Set the minreq and maxlength buffer attributes to -1 to let puleseaudio select a sensible value. 2009-07-20 19:04:09 +0200 Wim Taymans * ext/pulse/pulsesink.c: pulsesink: don't wait for posted message We can't wait for the ENTER/LEAVE messages to be be posted because the base class sometimes calls the start method with the object lock, which would block the message posting. Instead, just assume that the message will be posted soon and continue. We'll have to fix this in the base class. 2009-07-20 18:11:33 +0200 Wim Taymans * ext/pulse/pulsesink.c: pulsesink: use relative seeks Use relative seeks because I was told that absolute seeks don't work. 2009-07-20 16:52:19 +0200 Sebastian Dröge * gst/matroska/matroska-demux.c: matroskademux: Implement SEEKING query 2009-07-20 08:07:13 +0200 Sebastian Dröge * ext/cairo/gstcairorender.c: cairorender: Add support for ARGB/BGRA input Note that videotestsrc outputs 100% transparent video which will result in white output from cairorender. 2009-07-17 13:22:57 +0100 Elaine Xiong * sys/v4l2/gstv4l2object.h: * sys/v4l2/gstv4l2src.c: * sys/v4l2/v4l2_calls.c: * sys/v4l2/v4l2src_calls.c: v4l2: Fix v4l2src on OpenSolaris The v4l2 driver for USB webcams on OpenSolaris does not support select() calls. Detect when select() fails, and skip polling the device afterward, which restores the pre 0.10.14 behaviour on OpenSolaris. Signed-off-by: Jan Schmidt 2009-07-17 11:22:06 +0100 Jan Schmidt * tests/check/elements/.gitignore: * tests/examples/v4l2/.gitignore: gitignore: Ignore some new binaries 2009-07-17 13:49:21 +0200 Sebastian Dröge * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/gst-plugins-good-plugins.hierarchy: * docs/plugins/inspect/plugin-cairo.xml: * ext/cairo/gstcairorender.c: cairorender: Add to the documentation 2009-07-17 13:42:49 +0200 Sebastian Dröge * ext/cairo/gstcairorender.c: cairorender: Return not-negotiated if we have no caps 2009-07-17 13:41:19 +0200 Sebastian Dröge * ext/cairo/gstcairorender.c: * ext/cairo/gstcairorender.h: cairorender: Fix caps and colorspace handling 2009-07-17 13:30:02 +0200 Sebastian Dröge * ext/cairo/gstcairorender.c: cairorender: Use correct mimetypes for PDF and SVG 2009-07-17 13:24:28 +0200 Sebastian Dröge * ext/cairo/gstcairorender.c: cairorender: Remove pull mode, it only adds complexity but not advantages 2009-07-16 21:55:31 +0200 Sebastian Dröge * ext/cairo/gstcairorender.c: cairorender: Fix caps negotiation and cairo surface creation 2009-07-16 21:42:21 +0200 Sebastian Dröge * ext/cairo/gstcairorender.c: cairorender: Correctly set srccaps 2009-07-16 21:31:43 +0200 Sebastian Dröge * ext/cairo/gstcairorender.c: * ext/cairo/gstcairorender.h: cairorender: Move instance/class struct definitions to the header 2009-07-16 21:30:00 +0200 Sebastian Dröge * ext/cairo/gstcairorender.c: * ext/cairo/gstcairorender.h: cairorender: Add Lutz' copyright to the file header 2009-07-16 21:27:45 +0200 Lutz Mueller * ext/cairo/Makefile.am: * ext/cairo/gstcairo.c: * ext/cairo/gstcairorender.c: * ext/cairo/gstcairorender.h: cairo: Add cairo-based PDF/PS/SVG encoder element Fixes bug #331420. 2009-07-16 20:44:40 +0200 Sebastian Dröge * ext/flac/gstflacenc.c: * ext/flac/gstflacenc.h: flacenc: Optionally write a PADDING block The size of the PADDING block is specified by a new "padding" property. Fixes bug #588483. 2009-07-16 19:35:44 +0200 Sebastian Dröge * ext/soup/gstsouphttpsrc.c: souphttpsrc: Only assume seekability if the server provides Content-Length Previously seekability way always assumed until the first seek actually failed. Now we assume that all servers are not seekable unless they provide a Content-Length header. If a seek fails after that we continue to assume no seekability. Fixes bug #585576. 2009-07-16 15:14:43 +0200 Arnout Vandecappelle * ext/soup/gstsouphttpsrc.c: souphttpsrc: don't try to authenticate if no username/password is set. 2009-07-16 17:10:21 +0200 Sebastian Dröge * gst/effectv/gstwarp.c: effectv: Chain up finalize to the parent class in warptv Fixes a memory leak. 2009-07-16 12:55:49 +0200 Sebastian Dröge * tests/check/Makefile.am: * tests/check/pipelines/effectv.c: effectv: Add unit test for all effectv elements 2009-07-16 12:17:32 +0200 Sebastian Dröge * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/gst-plugins-good-plugins.hierarchy: * docs/plugins/inspect/plugin-alaw.xml: * docs/plugins/inspect/plugin-audiofx.xml: * docs/plugins/inspect/plugin-effectv.xml: * docs/plugins/inspect/plugin-mulaw.xml: * docs/plugins/inspect/plugin-videomixer.xml: effectv: Add new effectv elements to the docs 2009-07-15 14:37:19 +0200 Sebastian Dröge * gst/effectv/Makefile.am: * gst/effectv/gsteffectv.c: * gst/effectv/gstripple.c: * gst/effectv/gstripple.h: effectv: Add rippletv element This produces a water ripple effect on the video input, based on motion or a rain drop algorithm. Kindly relicensed to LGPL2+ by Kentaro Fukuchi . Fixes bug #588695. 2009-07-12 15:42:35 +0200 Sebastian Dröge * gst/effectv/Makefile.am: * gst/effectv/gsteffectv.c: * gst/effectv/gststreak.c: * gst/effectv/gststreak.h: effectv: Add streaktv effect filter element This combines the StreakTV and BaltanTV filters from the effectv project. Kindly relicensed to LGPL2+ by Kentaro Fukuchi . Fixes bug #588368. 2009-07-12 12:31:15 +0200 Sebastian Dröge * gst/effectv/gstaging.c: * gst/effectv/gstedge.c: * gst/effectv/gstop.c: * gst/effectv/gstquark.c: * gst/effectv/gstradioac.c: * gst/effectv/gstrev.c: * gst/effectv/gstshagadelic.c: * gst/effectv/gstvertigo.c: effectv: Fix processing on big endian architectures 2009-07-12 11:52:04 +0200 Sebastian Dröge * gst/effectv/Makefile.am: * gst/effectv/gsteffectv.c: * gst/effectv/gstradioac.c: * gst/effectv/gstradioac.h: effectv: Add radioactv effect filter This filter adds a radiation-like motion blur effect to the video stream. Kindly relicensed to LGPL2+ by Kentaro Fukuchi . Fixes bug #588359. 2009-07-12 11:26:57 +0200 Sebastian Dröge * gst/effectv/gstop.c: * gst/effectv/gstop.h: effectv: Make the optv threshold property an uint 2009-07-12 10:39:02 +0200 Sebastian Dröge * gst/effectv/Makefile.am: * gst/effectv/gsteffectv.c: * gst/effectv/gstop.c: * gst/effectv/gstop.h: effect: Add optv effect filter from the effectv project This filter binarizes input frames and combines them with various optical pattern. Kindly relicensed to LGPL2+ by Kentaro Fukuchi . Fixes bug #588349. 2009-07-03 05:11:26 -0400 Olivier Crête * ext/pulse/pulsesink.c: pulsesink: Emit stream-status leave message Fixes #587695 2009-07-03 05:06:45 -0400 Olivier Crête * ext/pulse/pulsesink.c: * ext/pulse/pulsesink.h: pulsesink: Emit stream-status enter message Emit stream-status messages for the pulse thread. Don't use our own GCond for signaling but simply use the pulse mainloop mechanisms for synchronisation. See #587695 2009-07-14 18:15:59 +0200 Wim Taymans * ext/pulse/pulsesink.c: pulsesink: debug the latency update values 2009-07-14 16:12:55 +0200 Wim Taymans * configure.ac: * ext/pulse/pulsesink.c: * ext/pulse/pulseutil.c: pulsesink: add 24bit sample formats Add check for pulseaudio 0.9.15 and enable 24bits samples in that case. 2009-07-13 12:23:37 -0400 Olivier Crête * common: Automatic update of common submodule From 5845b63 to fedaaee 2009-07-13 17:53:25 +0200 Marc Leeman * gst/rtp/gstrtpmpvpay.c: mpvpay: Rework the timestamping Rework the timestamping in the mpv payloader so that the timestamps are more accurate. Fixes #587680 2009-07-03 08:47:12 +0200 Filippo Argiolas * configure.ac: * tests/examples/Makefile.am: * tests/examples/v4l2/Makefile.am: * tests/examples/v4l2/probe.c: v4l2src: add a simple test case for device probing 2009-07-03 08:38:43 +0200 Filippo Argiolas * configure.ac: * sys/v4l2/Makefile.am: * sys/v4l2/gstv4l2object.c: v4l2src: optional support for device probing with gudev Enumerate v4l2 devices using gudev if available. Fixes bug #583640. 2009-07-10 19:54:25 +0200 Sebastian Dröge * gst/videomixer/videomixer.c: videomixer: Random cleanup 2009-07-10 19:54:13 +0200 Sebastian Dröge * gst/videomixer/videomixer.c: videomixer: Send queries to the master pad by default instead of all pads 2009-07-10 19:34:41 +0200 Sebastian Dröge * gst/videomixer/Makefile.am: * gst/videomixer/blend_rgb.c: * gst/videomixer/videomixer.c: videomixer: Add RGB, BGR, xRGB, RGBx, xBGR, BGRx support 2009-07-10 17:43:07 +0200 Sebastian Dröge * gst/videomixer/videomixer.c: videomixer: Clean up debugging a bit 2009-07-10 17:25:48 +0200 Sebastian Dröge * gst/videomixer/videomixer.c: videomixer: Remove some redundant checks and error out immediately if not negotiated Also stop leaking the output buffer in some error cases. 2009-07-10 17:23:03 +0200 Sebastian Dröge * gst/videomixer/blend_ayuv.c: * gst/videomixer/blend_bgra.c: * gst/videomixer/blend_i420.c: * gst/videomixer/videomixer.c: * gst/videomixer/videomixer.h: videomixer: Remove the calculate_frame_size() function and use libgstvideo instead 2009-06-30 15:13:44 +0200 Edward Hervey * gst/videomixer/videomixer.c: videomixer: Remove unused link/unlink pad methods 2009-06-30 12:43:04 +0200 Edward Hervey * gst/videomixer/blend_i420.c: videomixer: I420 mode: Add fast path for 0.0 and 1.0 alpha If the source alpha is 0.0, we take nothing. If the source alpha is 1.0, we overwrite everything. 2009-06-30 12:40:02 +0200 Edward Hervey * gst/videomixer/blend_i420.c: videomixer: I420 blending : Fix main algorithm. When blending a source layer with an alpha of 'a' on top of another destination layer we take the sum of: * 'a' percent of the source layer * (100 - 'a') percent of the destination layer (the remainder) 2009-06-30 12:39:19 +0200 Edward Hervey * gst/videomixer/blend_i420.c: * gst/videomixer/videomixer.c: * gst/videomixer/videomixer.h: * gst/videomixer/videomixerpad.h: videomixer: Make debugging category global to all the code. 2009-06-29 19:23:41 +0200 Edward Hervey * gst/videomixer/videomixer.c: videomixer: improve readability of debugging statements. 2009-07-08 13:38:53 +0200 Mark Nauwelaerts * gst/rtsp/gstrtspsrc.c: rtspsrc: do not leak timeout message 2009-07-09 07:14:23 +0200 Sebastian Dröge * gst/avi/gstavidemux.c: avi: Don't forward NEWSEGMENT events from upstream New ones are generated later and simply forwarding them can result in NEWSEGMENT events of different format going downstream. Fixes bug #587983. 2009-07-08 18:19:45 +0200 Sebastian Dröge * gst/videomixer/blend_ayuv.c: * gst/videomixer/blend_i420.c: videomixer: Make checker pattern lookup table constant 2009-07-08 18:17:48 +0200 Sebastian Dröge * gst/videomixer/Makefile.am: * gst/videomixer/blend_bgra.c: * gst/videomixer/videomixer.c: videomixer: Add support for ARGB And clean up the caps parsing. 2009-07-08 15:17:41 +0200 Benjamin Gaignard * gst/udp/gstudpnetutils.c: udp: Initialize pointer to NULL Otherwise we're calling free() with some random memory address in error cases. Fixes bug #587982. 2009-07-07 16:35:24 +0200 Mark Nauwelaerts * gst/qtdemux/qtdemux.c: qtdemux: sprinkle some more const 2009-07-07 15:57:55 +0200 Mark Nauwelaerts * gst/qtdemux/qtdemux.c: qtdemux: perform some more (careful) data buffering Once buffering has started (with an mdat atom), continue buffering until moov atom is reached, which handles cases with multiple mdat atoms. Also keep adapter/offset better in sync with upstream and fix some debug statements. Fixes #587426. 2009-07-06 10:40:31 +0200 Philip Jgenstedt * gst/avi/gstavidemux.c: avidemux: Replace deprecated GST_DISABLE_DEBUG with correct macro. Fixes #587826 2009-07-01 13:07:48 +0100 Tim-Philipp Müller * gst/qtdemux/qtdemux.c: qtdemux: error out instead of dividing by 0 Error out if timescale is 0. 2009-07-01 09:32:42 +0100 Tim-Philipp Müller * gst/qtdemux/qtdemux.c: Revert "qtdemux: Make sure we don't blacklist streams by wrongly comparing their" This reverts commit 5503a59a5779b67451d8a271000181790ee76bc7. Reverting this since it causes regressions with a lot of sample files I have, all of which worked fine with the last -good release (#586891). 2009-06-30 15:54:47 +0100 Tim-Philipp Müller * gst/qtdemux/qtdemux.c: qtdemux: comment out unused structure 2009-06-30 13:12:09 +0100 Tim-Philipp Müller * gst/qtdemux/qtdemux.c: qtdemux: more size checks, and use g_try_new0() instead of g_new0() Whenever we alloc something based on a user-supplied size, we should really use g_try_new(), otherwise we can easily be made to abort by passing a ridiculously large number to us for allocing. Fixes problems with some fuzzed files. 2009-06-29 18:58:33 +0100 Tim-Philipp Müller * gst/qtdemux/qtdemux.c: qtdemux: guard against bogus atom sizes and short reads Check the possibly 64-bit atom size more carefully before casting it to an int and passing it to gst_pad_pull_range(), otherwise we might end up pulling 0 bytes, getting an empty buffer as requested and dereferencing not available data whilst thinking we actually asked for and got 0x1000000000000 bytes. Similar fix for push mode operation where neededbytes ends up being 0 bytes, which makes us assert. Fixes crash with broken or fuzzed file (NB #122378). 2009-06-29 16:52:41 +0100 Tim-Philipp Müller * gst/qtdemux/qtdemux.c: qtdemux: use 0x prefix when logging numbers in hex 2009-07-01 08:40:40 +0200 Edward Hervey * ext/flac/gstflacdec.c: flacdec: Don't send empty string tags 2009-06-30 21:35:37 +0400 LRN * gst/udp/gstmultiudpsink.c: Don't use sendmsg()-dependent code on Windows Fixes #585842 2009-06-30 15:59:20 +0200 Wim Taymans * gst/law/alaw-decode.c: * gst/law/alaw-encode.c: * gst/law/alaw.c: * gst/law/mulaw-decode.c: * gst/law/mulaw-encode.c: * gst/law/mulaw.c: law: fix caps and negotiation Fix the caps to include the depth (instead of width twice) in the caps of audio/x-raw-int. Fix negotiation to not only copy the rate/channels of the first structure. 2009-06-30 14:48:09 +0300 Stefan Kost * ext/pulse/pulsesink.c: pulsesink: include "1.0=100%" in volume and change upper limit Upper volume limmit was 1000. That appear unneceasrily high. It would also cause sever distortion if accidentialy used. Now its 10 (~ +15db) which is also in sync with volume and playbin2. 2009-06-29 15:39:43 +0200 Wim Taymans * ext/pulse/pulsesrc.c: pulse: some more trivial cleanups 2009-06-29 15:38:49 +0200 Wim Taymans * ext/pulse/pulsemixer.c: pulse: trivial cleanups 2009-06-29 15:20:31 +0200 Wim Taymans * ext/pulse/pulsesink.c: pulsesink: clear ringbuffer when asked to Since we map the ringbuffer to the pulseaudio internal ringbuffer, flush the pulseaudio buffer when we are asked to clear the ringbuffer. This avoids some leftover audio after a seek. 2009-06-26 15:00:14 +0100 Jan Schmidt * autogen.sh: autogen.sh: Actually do the 'echo -n' -> printf change. 2009-06-26 14:40:14 +0100 Jan Schmidt * autogen.sh: autogen.sh: Use printf instead of 'echo -n'. Check for automake-1.1[01] Check for more automake command variants. Use printf instead of 'echo -n' for portability 2009-06-26 13:42:09 +0100 Jan Schmidt * common: Automatic update of common submodule From f810030 to 5845b63 2009-06-26 13:19:04 +0100 Tim-Philipp Müller * gst/qtdemux/qtdemux.c: qtdemux: don't process track_num/track_count tags with a 0 value Number/count values of 0 mean they're not set. Don't put those in the taglist. 2009-06-25 18:51:12 +0100 Tim-Philipp Müller * sys/waveform/gstwaveformsink.c: waveformsink: use 'guint8' instead of 'byte' to fix compilation with MSVC8 We need a cast here for pointer arithmetic to work correctly, but some MSVC versions don't seem to like 'byte', so use guint8 here. Hopefully fixes #585361. 2009-06-25 19:39:37 +0300 Stefan Kost * sys/v4l2/v4l2_calls.c: v4l2src: set structs to zero before using them in ioctls This fixes valgrind warnings. 2009-06-25 13:23:40 +0200 Julien Moutte * gst/qtdemux/qtdemux.c: qtdemux: Make sure we don't blacklist streams by wrongly comparing their duration with entire clip duration. 2009-06-25 13:18:14 +0200 Krzysztof Błaszkowski * gst/rtsp/gstrtpdec.c: rtpdec: fix some buffer leaks 2009-06-25 08:11:09 +0200 Edward Hervey * gst/flv/gstflvparse.c: flvparse: Add missing break in switch/case. 2009-06-25 08:10:38 +0200 Edward Hervey * gst/flv/gstflvdemux.c: flvdemux: Remove unused variable, hint branch likeliness, add comments. 2009-06-25 08:09:57 +0200 Edward Hervey * gst/avi/gstavidemux.c: avidemux: Removed unused variable 2009-06-25 07:41:07 +0200 Edward Hervey * gst/qtdemux/qtdemux.c: qtdemux: Remove dead assignments and unused variables. Also add branch likeliness macros. 2009-06-25 07:40:26 +0200 Edward Hervey * gst/qtdemux/qtdemux.c: qtdemux: Fix uninitialized variables. Fixes build on macosx 2009-06-24 17:43:25 +0300 Stefan Kost * ext/soup/gstsouphttpsrc.c: souphttpsrc: free memory in finalize finalize is called only once. no need to clear pointers there. dispose is for unreffing. 2009-06-24 15:14:14 +0100 Jan Schmidt * common: Automatic update of common submodule From 6ab11d1 to f810030 2009-06-08 14:46:48 +0100 Tim-Philipp Müller * gst/avi/gstavidemux.c: avidemux: short-circuit gst_avi_demux_src_convert() when parsing the index Don't call gst_avi_demux_src_convert() for each single index entry. Not only do we already have the pointer to the stream context, we also know the formats we want to convert from and to already, so we may just as well use optimised conversion routines that bypass some of the checks and lookups made in gst_avi_demux_src_convert(). 2009-06-17 16:39:36 +0200 Edward Hervey * gst/qtdemux/qtdemux.c: qtdemux: Another round of G_*LIKELY micro-optimisations. 2009-06-17 16:20:25 +0200 Edward Hervey * gst/qtdemux/qtdemux.c: qtdemux: Take last sample duration for dummy segment calculation. This fixes the cases where files without EDL wouldn't output their last buffer. 2009-06-24 12:36:31 +0200 Edward Hervey * gst/avi/gstavidemux.c: avidemux: Sprinkle branch likeliness macros over the code. 2009-06-23 16:54:32 +0200 Edward Hervey * ext/raw1394/gstdv1394src.c: * ext/raw1394/gsthdv1394src.c: raw1394: sprinkle branch likeliness macros accross the code. 2009-06-14 10:36:17 +0200 Edward Hervey * gst/qtdemux/qtdemux.c: qtdemux: Add GST_MEMDUMP statements for unknown atoms. This is to help developers track down and implement unhandled atoms faster. 2009-06-23 17:51:32 +0200 Sebastian Dröge * gst/deinterlace/gstdeinterlace.c: deinterlace: Remove the interlaced field from the output caps if deinterlacing is enabled 2009-06-23 17:48:47 +0200 Sebastian Dröge * gst/deinterlace/tvtime/greedyh.c: deinterlace: Copy the correct line from correct place in the history 2009-06-23 16:35:36 +0200 Wim Taymans * gst/rtsp/gstrtspsrc.c: rtspsrc: use same protocols after redirect After a redirect we want to use the same protocols that we were using for the current url. 2009-06-23 15:35:37 +0100 Tim-Philipp Müller * gst/qtdemux/qtdemux.c: qtdemux: don't leak cover art 2009-06-23 14:10:10 +0100 Tim-Philipp Müller * gst/udp/gstudpnetutils.c: udp: fix compiler warning about EAI_ADDRFAMILY getting redefined in some cases Include the header from where we include all the system headers with the socket stuff before we try to define EAI_ADDRFAMILY ourselves, otherwise we define it ourselves and then get a compiler warning if a system header defines it as well without guarding against it being defined already. 2009-06-23 14:39:56 +0200 Wim Taymans * gst/matroska/matroska-ids.h: matroska: and the new headers too 2009-06-23 14:32:43 +0200 Wim Taymans * gst/matroska/matroska-demux.c: matroske: fix compiler error change gpointer to guint8 * for codec_state and codec_priv as some functions operate on those types and it avoids breaking strict-aliasing rules. 2009-06-23 12:42:33 +0200 Wim Taymans * gst/matroska/matroska-demux.c: matroskademux: avoid leaking buffers Don't leak buffers when resyncing to a keyframe. Avoid leaking buffers when exiting the loop on error conditions. Add some more debug info. Fixes #585911 2009-06-22 15:56:58 +0300 Stefan Kost * sys/v4l2/gstv4l2src.c: v4l2: open/close the device in READY This allows to query the device in READY. Before one need to switch it to PAUSED and that also starts streaming. 2009-06-20 15:41:44 +0100 Tim-Philipp Müller * gst/qtdemux/qtdemux.c: * gst/qtdemux/qtdemux_dump.c: qtdemux: use GST_MEMDUMP 2009-06-19 00:16:41 +0100 Tim-Philipp Müller * gst/apetag/Makefile.am: * gst/apetag/gstapedemux.c: apedemux: add container-format tag Use pbutils here because the string is translated. 2009-06-19 00:15:51 +0100 Tim-Philipp Müller * gst/id3demux/Makefile.am: * gst/id3demux/gstid3demux.c: id3demux: add container-format tag Using pbutils here because the string is translated. 2009-06-18 23:51:52 +0100 Tim-Philipp Müller * ext/dv/gstdvdemux.c: dvdemux: post container-format tag Also merge the two almost identical _add_*_pad() functions into one. 2009-06-18 23:43:49 +0100 Tim-Philipp Müller * ext/dv/gstdvdemux.c: dvdemux: don't screw up first audio buffer Query the audio format, esp. dvdemux->num_channels, before we use that variable to allocate the initial buffer. That way we don't accidentally push a zero-sized buffer as first audio buffer. 2009-06-18 23:38:30 +0100 Tim-Philipp Müller * gst/multipart/multipartdemux.c: multipartdemux: post container-format tag 2009-06-18 23:37:11 +0100 Tim-Philipp Müller * gst/matroska/matroska-demux.c: matroska-demux: post container-format tags 2009-06-18 23:36:28 +0100 Tim-Philipp Müller * gst/avi/gstavidemux.c: avidemux: post container-format tag 2009-06-18 23:35:29 +0100 Tim-Philipp Müller * gst/qtdemux/qtdemux.c: qtdemux: post container-format tags 2009-06-21 17:13:43 +0200 Sebastian Dröge * gst/audiofx/audioamplify.c: audioamplify: Fix integer overflows on 32 bit architectures 2009-06-21 09:50:54 +0200 Kipp Cannon * gst/audiofx/audioamplify.c: audioamplify: Don't declare a loop index static The previous patch to add support for additional sample formats possibly introduced a reentrancy bug: a variable used for a loop index was declared static. This patch fixes that, and also adds a "/* *INDENT-ON* */" annotation following the macro block. (I don't know what the annotation is for, but the adder, where I copied this from, has it). 2009-06-19 22:37:27 +0200 Sebastian Dröge * gst/audiofx/audioamplify.c: audioamplify: Fix off-by-one in wrap-positive mode 2009-06-19 22:20:45 +0200 Kipp Cannon * gst/audiofx/audioamplify.c: * gst/audiofx/audioamplify.h: audioamplify: Add noclip method and support for more formats Fixes bug #585828 and #585831. 2009-06-19 21:46:41 +0200 Koop Mast * gst/udp/gstudpnetutils.h: udp: Fix build on FreeBSD Fixes bug #586397. 2009-06-19 18:12:27 +0200 Ognyan Tonchev * tests/check/elements/rtp-payloading.c: tests: add unit tests for buffer-list payloaders See #585559 2009-06-19 18:00:35 +0200 Ognyan Tonchev * gst/rtp/gstrtpmp4vpay.c: * gst/rtp/gstrtpmp4vpay.h: rtpmp4vpay: add support for buffer-list See #585559 2009-06-19 17:57:12 +0200 Ognyan Tonchev * gst/rtp/gstrtpjpegpay.c: * gst/rtp/gstrtpjpegpay.h: rtpjpegpay: add support for buffer-lists See #585559 2009-06-19 17:53:32 +0200 Ognyan Tonchev * gst/rtp/gstrtph264pay.c: * gst/rtp/gstrtph264pay.h: rtph264pay: add support for buffer-lists See #585559 2009-06-18 11:54:22 +0200 Wim Taymans * gst/udp/gstudpnetutils.c: udputils: don't free invalid memory As spotted by benjiG in IRC. don't free invalid memory when getaddrinfo failed. 2009-06-17 17:48:31 +0200 Wim Taymans * ext/pulse/pulsesink.c: pulseink: don't leak device_description don't leak the device_description. some cleanups. 2009-06-19 14:44:40 +0100 Tim-Philipp Müller * po/af.po: * po/az.po: * po/bg.po: * po/ca.po: * po/cs.po: * po/da.po: * po/en_GB.po: * po/es.po: * po/eu.po: * po/fi.po: * po/fr.po: * po/hu.po: * po/id.po: * po/it.po: * po/ja.po: * po/lt.po: * po/mt.po: * po/nb.po: * po/nl.po: * po/or.po: * po/pl.po: * po/pt_BR.po: * po/ru.po: * po/sk.po: * po/sq.po: * po/sr.po: * po/sv.po: * po/uk.po: * po/vi.po: * po/zh_CN.po: * po/zh_HK.po: * po/zh_TW.po: po: update .po files for sunaudiomixer string changes 2009-06-18 16:58:26 +0200 Mark Nauwelaerts * gst/avi/gstavidemux.c: avidemux: streaming; adjust sizes to cater for padding in chunks 2009-06-17 11:54:53 +0200 Mark Nauwelaerts * gst/avi/gstavidemux.c: avidemux: streaming mode; handle data chunks grouped in rec lists. Fixes #567983. 2009-06-10 12:36:50 +0200 Mark Nauwelaerts * gst/qtdemux/qtdemux.c: qtdemux: map some tags to COMPOSER rather than ARTIST 2009-06-10 12:34:43 +0200 Mark Nauwelaerts * gst/qtdemux/qtdemux.c: qtdemux: fix some 3GP tag extraction (keywords, genre, location) 2009-06-09 15:36:50 +0200 Mark Nauwelaerts * gst/qtdemux/qtdemux.c: * gst/qtdemux/qtdemux_fourcc.h: qtdemux: extract pixel-aspect-ratio information 2009-06-17 07:14:09 +0200 Sebastian Dröge * gst/matroska/matroska-demux.c: matroskademux: Fix leaking of the Matroska TITLE element 2009-06-16 20:38:42 +0200 Sebastian Dröge * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/gst-plugins-good-plugins.hierarchy: * docs/plugins/gst-plugins-good-plugins.interfaces: * docs/plugins/gst-plugins-good-plugins.prerequisites: * docs/plugins/inspect/plugin-1394.xml: * docs/plugins/inspect/plugin-aasink.xml: * docs/plugins/inspect/plugin-alaw.xml: * docs/plugins/inspect/plugin-alpha.xml: * docs/plugins/inspect/plugin-alphacolor.xml: * docs/plugins/inspect/plugin-annodex.xml: * docs/plugins/inspect/plugin-apetag.xml: * docs/plugins/inspect/plugin-audiofx.xml: * docs/plugins/inspect/plugin-auparse.xml: * docs/plugins/inspect/plugin-autodetect.xml: * docs/plugins/inspect/plugin-avi.xml: * docs/plugins/inspect/plugin-cacasink.xml: * docs/plugins/inspect/plugin-cairo.xml: * docs/plugins/inspect/plugin-cutter.xml: * docs/plugins/inspect/plugin-debug.xml: * docs/plugins/inspect/plugin-deinterlace.xml: * docs/plugins/inspect/plugin-dv.xml: * docs/plugins/inspect/plugin-efence.xml: * docs/plugins/inspect/plugin-effectv.xml: * docs/plugins/inspect/plugin-equalizer.xml: * docs/plugins/inspect/plugin-esdsink.xml: * docs/plugins/inspect/plugin-flac.xml: * docs/plugins/inspect/plugin-flv.xml: * docs/plugins/inspect/plugin-flxdec.xml: * docs/plugins/inspect/plugin-gamma.xml: * docs/plugins/inspect/plugin-gconfelements.xml: * docs/plugins/inspect/plugin-gdkpixbuf.xml: * docs/plugins/inspect/plugin-goom.xml: * docs/plugins/inspect/plugin-goom2k1.xml: * docs/plugins/inspect/plugin-halelements.xml: * docs/plugins/inspect/plugin-icydemux.xml: * docs/plugins/inspect/plugin-id3demux.xml: * docs/plugins/inspect/plugin-interleave.xml: * docs/plugins/inspect/plugin-jpeg.xml: * docs/plugins/inspect/plugin-level.xml: * docs/plugins/inspect/plugin-matroska.xml: * docs/plugins/inspect/plugin-monoscope.xml: * docs/plugins/inspect/plugin-mulaw.xml: * docs/plugins/inspect/plugin-multifile.xml: * docs/plugins/inspect/plugin-multipart.xml: * docs/plugins/inspect/plugin-navigationtest.xml: * docs/plugins/inspect/plugin-ossaudio.xml: * docs/plugins/inspect/plugin-png.xml: * docs/plugins/inspect/plugin-pulseaudio.xml: * docs/plugins/inspect/plugin-quicktime.xml: * docs/plugins/inspect/plugin-replaygain.xml: * docs/plugins/inspect/plugin-rtp.xml: * docs/plugins/inspect/plugin-rtsp.xml: * docs/plugins/inspect/plugin-shout2send.xml: * docs/plugins/inspect/plugin-smpte.xml: * docs/plugins/inspect/plugin-soup.xml: * docs/plugins/inspect/plugin-spectrum.xml: * docs/plugins/inspect/plugin-speex.xml: * docs/plugins/inspect/plugin-taglib.xml: * docs/plugins/inspect/plugin-udp.xml: * docs/plugins/inspect/plugin-video4linux2.xml: * docs/plugins/inspect/plugin-videobalance.xml: * docs/plugins/inspect/plugin-videobox.xml: * docs/plugins/inspect/plugin-videocrop.xml: * docs/plugins/inspect/plugin-videoflip.xml: * docs/plugins/inspect/plugin-videomixer.xml: * docs/plugins/inspect/plugin-wavenc.xml: * docs/plugins/inspect/plugin-wavpack.xml: * docs/plugins/inspect/plugin-wavparse.xml: * docs/plugins/inspect/plugin-ximagesrc.xml: * docs/plugins/inspect/plugin-y4menc.xml: * gst/effectv/gstaging.c: * gst/effectv/gstaging.h: * gst/effectv/gstdice.c: * gst/effectv/gstdice.h: * gst/effectv/gstedge.c: * gst/effectv/gstedge.h: * gst/effectv/gstquark.c: * gst/effectv/gstquark.h: * gst/effectv/gstrev.c: * gst/effectv/gstrev.h: * gst/effectv/gstshagadelic.c: * gst/effectv/gstshagadelic.h: * gst/effectv/gstvertigo.c: * gst/effectv/gstvertigo.h: * gst/effectv/gstwarp.c: * gst/effectv/gstwarp.h: effectv: Add basic documentation for the effectv elements 2009-06-16 20:16:13 +0200 Sebastian Dröge * gst/effectv/gstaging.c: * gst/effectv/gstdice.c: * gst/effectv/gsteffectv.h: * gst/effectv/gstquark.c: * gst/effectv/gstshagadelic.c: effectv: Define the fast PRNG function at a central place 2009-06-16 20:13:35 +0200 Sebastian Dröge * gst/effectv/Makefile.am: * gst/effectv/gstaging.c: * gst/effectv/gstaging.h: * gst/effectv/gstdice.c: * gst/effectv/gstdice.h: * gst/effectv/gstedge.c: * gst/effectv/gstedge.h: * gst/effectv/gsteffectv.c: * gst/effectv/gsteffectv.h: * gst/effectv/gstquark.c: * gst/effectv/gstquark.h: * gst/effectv/gstrev.c: * gst/effectv/gstrev.h: * gst/effectv/gstshagadelic.c: * gst/effectv/gstshagadelic.h: * gst/effectv/gstvertigo.c: * gst/effectv/gstvertigo.h: * gst/effectv/gstwarp.c: * gst/effectv/gstwarp.h: effectv: Move type definitions into separate headers This is needed for the docs later. 2009-06-16 19:41:02 +0200 Sebastian Dröge * gst/effectv/gstaging.c: * gst/effectv/gstdice.c: * gst/effectv/gstedge.c: * gst/effectv/gstquark.c: * gst/effectv/gstrev.c: * gst/effectv/gstshagadelic.c: * gst/effectv/gstvertigo.c: * gst/effectv/gstwarp.c: effectv: Remove get_unit_size implementations The default on from GstVideoFilter handles this already. 2009-06-16 14:54:34 +0100 Tim-Philipp Müller * configure.ac: configure: bump core/base requirements to git Need git core for basesink bufferlist additions; -base requirement bumped gratuitously. 2009-06-16 15:25:54 +0200 Wim Taymans * tests/check/elements/udpsink.c: tests: add some debug, send newsegment 2009-06-16 15:06:50 +0200 Wim Taymans * gst/udp/gstudpsrc.c: udpsrc: add debug line for the socket 2009-06-16 15:06:25 +0200 Wim Taymans * tests/check/pipelines/flacdec.c: tests: turn g_print into debug 2009-06-16 15:04:15 +0200 Ognyan Tonchev * gst/udp/gstmultiudpsink.c: * tests/check/Makefile.am: * tests/check/elements/udpsink.c: multiudpsink: add support for buffer lists Add support for BufferList and add a unit test. Fixes #585842 2009-06-16 00:02:42 +0100 Tim-Philipp Müller * ext/soup/gstsouphttpsrc.c: souphttpsrc: reset session state when stopping Increases the chances that the element is actually reusable. 2009-06-15 23:49:48 +0100 Tim-Philipp Müller * ext/soup/gstsouphttpsrc.c: souphttpsrc: log response and request headers and fix some broken indenting 2009-06-15 22:40:35 +0200 Wim Taymans * gst/rtp/gstrtpmp4gdepay.c: mp4gdepay: guess constantDuration better Do a better job at guessing the constantDuration parameter when it is not present in the caps. Fixes #585205 2009-06-15 21:09:47 +0200 Sebastian Dröge * gst/effectv/gstwarp.c: warptv: Clean up warptv element and fix some minor bugs and leaks 2009-06-15 20:53:23 +0200 Sebastian Dröge * gst/effectv/gstvertigo.c: vertigotv: Clean up vertigotv element and fix some minor bugs and leaks 2009-06-15 20:38:01 +0200 Sebastian Dröge * gst/effectv/gstdice.c: dicetv: Use guint8 instead of char (which can be signed or unsigned) 2009-06-15 20:36:39 +0200 Sebastian Dröge * gst/effectv/gstshagadelic.c: shagadelictv: Use guint8/gint8 instead of char (which can be signed or unsigned) 2009-06-15 20:31:30 +0200 Sebastian Dröge * gst/effectv/gstshagadelic.c: shagadelictv: Clean up element and free all memory in finalize 2009-06-15 20:21:58 +0200 Sebastian Dröge * gst/effectv/gstrev.c: revtv: Clean up revtv element 2009-06-15 20:07:42 +0200 Sebastian Dröge * gst/effectv/gstquark.c: quarktv: Simplify some code 2009-06-15 20:07:10 +0200 Sebastian Dröge * gst/effectv/gstquark.c: quarktv: Use the input data if a NULL buffer is chosen instead of the value 0 2009-06-15 20:00:43 +0200 Sebastian Dröge * gst/effectv/gstquark.c: quarktv: Fix setting the planes property of quarktv Setting it to a value<16 would cause crashes before because current_plane was set to the old number of planes-1. Also fix calculations for non-2^n planes values. 2009-06-15 17:50:41 +0200 Sebastian Dröge * gst/effectv/gstquark.c: quarktv: Clean up the quarktv element 2009-06-15 17:39:20 +0200 Sebastian Dröge * gst/effectv/gsteffectv.c: effectv: Make elements list constant 2009-06-15 17:37:53 +0200 Sebastian Dröge * gst/effectv/gstedge.c: edgetv: Clean up edgetv element and fix memory leak 2009-06-15 17:21:58 +0200 Sebastian Dröge * gst/effectv/gstdice.c: dicetv: Clean up dicetv element and fix some smaller issues This fixes a memory leak (the dice map) and a crash when setting the square-bits property before caps are set. 2009-06-15 17:20:21 +0200 Sebastian Dröge * gst/effectv/Makefile.am: * gst/effectv/gstaging.c: agingtv: Actually use GstController for syncing the properties to timestamps 2009-06-15 17:03:38 +0200 Sebastian Dröge * gst/effectv/gstaging.c: agingtv: Export some more agingtv properties via GObject properties 2009-06-15 15:06:56 +0200 Sebastian Dröge * gst/effectv/gstaging.c: agingtv: General cleanup and updating of copyright Also make the scratch-lines property exported via a GObject property and initialize/reset the internal state correctly. 2009-06-15 15:05:58 +0200 Sebastian Dröge * gst/effectv/gstaging.c: agingtv: Store and update state inside the instance struct This makes the coloraging effect and pits effect visible. 2009-06-15 15:51:32 +0100 Tim-Philipp Müller * ext/pulse/pulsesink.c: pulsesink: ref custom ring buffer class and type in class_init Hack around thread-safety issues in GObject and our racy _get_type() functions (we could easily fix the _get_type() functions, but we still need to hack around the GObject class races until we require a newer GLib version, I think). 2009-06-14 19:19:19 +0100 Tim-Philipp Müller * ext/dv/demo-play.c: * tests/old/examples/Makefile.am: * tests/old/examples/level/Makefile.am: * tests/old/examples/level/README: * tests/old/examples/level/demo.c: * tests/old/examples/level/plot.c: * tests/old/examples/switch/.gitignore: * tests/old/examples/switch/Makefile.am: * tests/old/examples/switch/switcher.c: Remove a few old example apps from the 0.8 days Some have been replaced by newer ones, others are demoing elements that don't exist any longer (not in -good anyway), and others have not been touched in many years and it seem pointless to keep them around. Removing these files makes sure we don't have any code in our repository that uses Gtk+ symbols which are to be removed for GNOME3, and as such will make some script that greps for this kind of stuff give us a clean bill of code health. Fixes #585757. 2009-06-13 21:02:45 -0400 Olivier Crête * common: * gst/rtp/gstrtpsirenpay.c: rtpsirenpay: Remove deprecated symbol Patch by: Luis Menina 2009-06-13 10:43:55 +0200 Marvin Schmidt * tests/check/Makefile.am: tests: Don't run the flacdec test if the plugin isn't built. Fixes #585630 2009-06-12 16:06:28 +0200 Patrick Radizi * gst/rtsp/gstrtspsrc.c: * gst/rtsp/gstrtspsrc.h: rtspsrc: Add RTP blocksize functionality Add property to make the client suggest a blocksize to the server. Fixes #585549 2009-06-11 22:30:06 +0200 Wim Taymans * gst/rtp/README: rtp: update README, fix some typos, mention gstrtpbin 2009-06-11 19:10:53 +0200 Wim Taymans * ext/pulse/pulsesink.c: pulsesink: handle border cases in resampler 2009-06-11 13:32:22 +0100 Jan Schmidt * common: * docs/Makefile.am: * docs/plugins/Makefile.am: * docs/upload.mak: docs: Bump common. Use upload-doc.mak instead of upload.mak Remove the local copy of upload.mak in favour of using the shared upload-doc.make in common/ 2009-06-11 11:39:25 +0100 Jan Schmidt * gst/goom/goom_config_param.h: * gst/videomixer/videomixer.c: docs: Quieten a couple more docs warnings 2009-06-11 11:27:26 +0100 Jan Schmidt * gst/matroska/lzo.c: docs: Remove gtk-doc comment marker These comment blocks aren't gtk-doc comments and cause annoying noise in the docs build. 2009-06-11 10:05:32 +0200 Sebastian Dröge * gst/deinterlace/gstdeinterlace.c: * gst/deinterlace/gstdeinterlace.h: deinterlace: Implement upstream negotation 2009-06-10 21:47:40 +0200 Sebastian Dröge * gst/deinterlace/gstdeinterlace.c: deinterlace: Improve debugging and clean up some code 2009-06-10 14:55:18 +0200 Sebastian Dröge * gst/deinterlace/gstdeinterlace.c: deinterlace: Clip buffers to the current segment if possible 2009-06-10 14:45:06 +0200 Sebastian Dröge * gst/deinterlace/gstdeinterlace.c: * gst/deinterlace/gstdeinterlace.h: deinterlace: Clean up includes and clean up order of instance struct fields 2009-06-10 16:09:56 -0400 Olivier Crête * gst/rtp/gstrtph263pay.h: rtph263pay: Default to doing A, B and C modes, not only A 2009-06-10 09:56:11 +0200 Sebastian Dröge * gst/deinterlace/gstdeinterlace.c: deinterlace: Fix QoS calculations The diff is a signed integer, not an unsigned one of course. In modes other than GST_DEINTERLACE_ALL every frame has twice the duration of the field duration. 2009-06-09 14:13:31 -0400 Olivier Crête * gst/rtp/gstrtpsirenpay.c: rtpsirenpay: Put the bitrate in the RTP caps The MS code seems to require the bitrate to interoperate and draft-ietf-avt-rtp-g7221-00 also has it. 2009-06-09 19:55:36 +0200 Sebastian Dröge * gst/deinterlace/gstdeinterlace.c: * gst/deinterlace/gstdeinterlace.h: deinterlace: Implement basic QoS This change is based on Tim's QoS implementation for jpegdec. 2009-06-09 19:29:51 +0200 Sebastian Dröge * gst/deinterlace/gstdeinterlace.c: deinterlace: Directly proxy events/queries to the peer pads This removes some overhead introduced by the default handlers that need to iterate over the other pads. 2009-06-09 10:38:52 +0200 Edward Hervey * gst/avi/gstavidemux.c: avidemux: debug_memdump() unknown tags. Refactor junk parsing code. This makes life slightly easier when debugging avi files. 2009-06-08 08:21:43 +0200 Edward Hervey * gst/rtp/Makefile.am: rtp: Don't forget to dist the headers for the CELT (de)payloaders. 2009-06-07 20:54:06 +0200 Wim Taymans * gst/qtdemux/qtdemux.c: Revert "Revert "qtdemux: fill timestamp table completely"" This reverts commit 9f022c8a8503c2ce0fa617fdb50e41706dd412f5. Sorry, I was thinking about the wrong module. 2009-06-07 20:49:50 +0200 Wim Taymans * gst/qtdemux/qtdemux.c: Revert "qtdemux: fill timestamp table completely" This reverts commit 790b050fc5302cae89cddcd23b258093967d05a9. I forgot we were frozen. 2009-06-07 20:46:45 +0200 Wim Taymans * gst/qtdemux/qtdemux.c: qtdemux: fill timestamp table completely When there are less timestamps that there are samples, fill up the sample table with the last know timestamp. This situation can happen when the last sample does not decode and doesn't need a timestamp. We however calculate the total track length using the last sample timestamp so we need to have something sensible in there. Fixes #585056 2009-06-07 13:37:04 +0200 Wim Taymans * gst/wavparse/gstwavparse.c: wavparse: handle LIST INFO of 0 size Handle LIST INFO chunks of 0 size instead of causing errors. Fixes #584981 2009-06-07 13:24:45 +0200 Wim Taymans * gst/wavparse/gstwavparse.c: Revert "wavparse: Remove dead assignments, move variable to where it's needed." Reverts commit 44256a78f8dd79a91f3bb2ab7c3aa623c097bb8a and use the result in error reporting so that we can see what's going on. 2009-06-05 18:55:02 +0200 Wim Taymans * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: * gst/rtp/gstrtpceltdepay.c: * gst/rtp/gstrtpceltdepay.h: celtdepay: add CELT depayloader 2009-06-05 15:30:51 +0200 Wim Taymans * gst/rtp/Makefile.am: * gst/rtp/gstrtp.c: * gst/rtp/gstrtpceltpay.c: * gst/rtp/gstrtpceltpay.h: rtpceltpay: add CELT RTP payloader 2009-06-05 16:54:48 +0100 Jan Schmidt * sys/sunaudio/gstsunaudiomixerctrl.c: * sys/sunaudio/gstsunaudiomixeroptions.c: * sys/sunaudio/gstsunaudiomixertrack.c: sunaudio: Fix switch setting on some devices. Add debug. Fix a FIXME. Fix the setting of toggle switches on some broken audio drivers which report that no audio ports are settable by ignoring the mod_port field there. Add some debug statements. Fix a FIXME now that Good relies on a new enough gst-plugins-base. 2009-06-04 12:27:19 +0100 Jan Schmidt * sys/sunaudio/Makefile.am: * sys/sunaudio/gstsunaudiomixerctrl.c: * sys/sunaudio/gstsunaudiomixerctrl.h: * sys/sunaudio/gstsunaudiomixeroptions.c: * sys/sunaudio/gstsunaudiomixeroptions.h: * sys/sunaudio/gstsunaudiomixertrack.c: * sys/sunaudio/gstsunaudiomixertrack.h: sunaudio: Support new flags for options and actions Use new audio mixer flags added in Base 0.10.23 to expose flags and options on the SunAudio devices. Fixes: #583593 Patch By: Brian Cameron Patch By: Garrett D'Amore 2009-05-15 11:50:38 +0200 Sebastian Dröge * gst/deinterlace/gstdeinterlace.c: * gst/deinterlace/gstdeinterlace.h: deinterlace: First try to handle DVD still frames correctly This helps a bit with bug #582740 but still doesn't make it work. 2009-06-04 17:37:03 +0300 Stefan Kost * ext/pulse/pulsesink.c: pulsesink: only notify if all checks passed Replace goto done: with return, as those are checks when we don't want to flag a pending notify. 2009-06-04 15:19:05 +0200 Wim Taymans * gst/rtsp/gstrtspsrc.c: rtspsrc: set the right state on rtpbin We need to set the state of gstrtpbin to the same state as our source elements. This fixes fallback to TCP again. 2009-06-03 18:23:53 +0300 Stefan Kost * ext/pulse/pulsesink.c: pulsesink: check pointer before accessing Move existing check a few lines up, so that we check before accessing fields. 2009-06-03 18:21:12 +0300 Stefan Kost * ext/pulse/pulsesink.c: pulsesink: rename gst_pulse_sink_get_time to gst_pulsesink_get_time Rename internal method for consistency. 2009-06-03 18:19:22 +0300 Stefan Kost * ext/pulse/pulsesink.c: pulsesink: use values from pa_stream_get_buffer_attr() We were putting the requested values back into ringbuffer spec, instead of using the queried values. 2009-06-02 19:32:21 +0200 Wim Taymans * gst/rtp/gstrtpvrawpay.c: vrawpay: trim output buffers Remove the leftover unused bytes in the output buffer. Fixes #584613 2009-06-02 19:30:30 +0200 Wim Taymans * gst/rtp/gstrtpvrawdepay.c: vrawdepay: fix parsing of sampling field commit a12d9a80f225be97b3674b1a0506ac66544dbf49 broke the parsing of the sampling. 2009-05-27 17:06:34 +0100 Jan Schmidt * ext/libpng/gstpngdec.c: pngdec: Avoid possible overflow in calculations A malformed (or simply huge) PNG file can lead to integer overflow in calculating the size of the output buffer, leading to crashes or buffer overflows later. Fixes SA35205 security advisory. 2009-06-02 00:48:00 +0100 Tim-Philipp Müller * ext/flac/gstflacenc.c: flacenc: some more logging - dump header packets Also, the final fixing up of the headers is expected and not something we should warn about. 2009-06-02 00:37:15 +0100 Tim-Philipp Müller * ext/flac/gstflacenc.c: flacenc: never ever pass values >36bits to _set_total_samples_estimate() Let's be paranoid and make sure we never pass a number that takes up more than 36 bits to _set_total_samples_estimate(), since libFLAC expects all the other bits to be zero, and if this is not the case neighbouring fields in the global stream info header may get messed up inadvertently, so that flac -d refuses to decode the stream. See #584455. 2009-06-01 22:33:02 +0200 Thomas Vander Stichele * ext/flac/gstflacenc.c: Address bad FLAC sample length encoding of #5844455 Commit df707c666433a78d3878af6f055698d5756226c4 introduced an obvious bug in the sample length calculation, using the wrong macro for conversion. 2009-06-01 11:58:21 -0700 Brian Cameron * gst/deinterlace/tvtime/mmx.h: deinterlace: Fix spurious colons in asm code Fixes #584174. Signed-off-by: David Schleef 2009-06-01 00:40:55 +0100 Tim-Philipp Müller * gst/avi/gstavidemux.c: avidemux: skip JUNK chunks in data section in streaming mode Skip JUNK tags in streaming mode as well instead of EOSing prematurely. Fixes #564100. 2009-05-28 14:01:17 +0200 Sebastian Dröge * gst/videomixer/blend_bgra.c: * gst/videomixer/blend_i420.c: * gst/videomixer/videomixer.c: videomixer: Don't use // comments 2009-05-28 13:56:15 +0200 Sebastian Dröge * gst/videomixer/blend_bgra.c: videomixer: Fix background blitting when a color mode is selected with BGRA 2009-05-28 13:54:14 +0200 Sebastian Dröge * gst/videomixer/blend_ayuv.c: * gst/videomixer/blend_bgra.c: * gst/videomixer/blend_i420.c: * gst/videomixer/videomixer.c: * gst/videomixer/videomixer.h: videomixer: Some cleanup and fix the calculation of the frame size in bytes 2009-05-28 13:35:52 +0200 Sebastian Dröge * gst/videomixer/blend_i420.c: videomixer: Fix I420 blending to actually do something For this we a) implement the checkers filling and b) actually blend the src/dest by using the src alpha value from the pad. 2009-05-28 13:14:13 +0200 Sebastian Dröge * gst/videomixer/blend_bgra.c: videomixer: Fix ARGB blending to actually work 2009-05-28 13:04:51 +0200 Sebastian Dröge * gst/videomixer/Makefile.am: * gst/videomixer/blend_bgra.c: videomixer: Blend BGRA ourselves instead of using Cairo 2009-05-28 12:55:16 +0200 Alex Ugarte * gst/videomixer/Makefile.am: * gst/videomixer/blend_ayuv.c: * gst/videomixer/blend_bgra.c: * gst/videomixer/blend_i420.c: * gst/videomixer/videomixer.c: * gst/videomixer/videomixer.h: videomixer: Add support for blending BGRA and AYUV Fixes bug #577017. 2009-05-28 12:39:46 +0200 Ghislain 'Aus' Lacroix * gst/equalizer/gstiirequalizer.c: equalizer: Use floating point arithmetic internally for the int16 mode By using int32 arithmetic we will introduce distortions as the IIR filter is very sensitive to rounding errors. Fixes bug #580214. 2009-05-28 10:55:16 +0100 Christian Schaller * gst-plugins-good.spec.in: Update spec file with latest plugins 2009-05-26 17:19:08 +0100 Jan Schmidt * common: Automatic update of common submodule From 888e0a2 to c572721 2009-05-26 16:20:35 +0300 Stefan Kost * sys/v4l2/gstv4l2src.c: * sys/v4l2/gstv4l2src.h: v4l2: cleanup and commenting Remove newlines inserted by gst-indent once. Remove unused var from instance struct. Add comments. Add another #define for default property value. 2009-05-06 12:43:35 +0300 Stefan Kost * tests/check/Makefile.am: makefile: idea about makeing more sources/sinks testable again 2009-05-25 16:33:35 +0200 John Keeping * ext/libpng/gstpngdec.c: pngdec: match g_malloc() with g_free() Matching g_malloc() with a g_free() is important when a custom allocator is installed. Fixes #583803 2009-05-12 18:39:28 +0200 Wim Taymans * gst/rtp/gstrtpmp4vpay.c: * gst/rtp/gstrtpmp4vpay.h: rtpmp4vpay: don't look for headers in some cases In some streams (starting with 00000100) don't look for the headers but push data as it is. Fixes #582153 2009-05-13 11:50:22 +0200 Patrick Radizi * gst/rtsp/gstrtspsrc.c: rtspsrc: fix memory leak of messages Free messages correctly. Fixes #577318 2009-05-24 19:32:17 +0200 Wim Taymans * gst/rtsp/gstrtspsrc.c: rtspsrc: make fakesrc silent Make the fakesrc that is responsible for sending dummy packets silent. 2009-05-24 16:33:42 +0200 Wim Taymans * gst/rtsp/gstrtspsrc.c: rtspsrc: don't send teardown before setup Don't send a TEARDOWN request when we did not manage to successfully setup a stream. 2009-05-14 14:46:14 +0200 Sebastian Dröge * gst/matroska/matroska-demux.c: * gst/matroska/matroska-demux.h: * gst/matroska/matroska-ids.h: matroskademux: Populate a GstIndex that is set on matroskademux 2009-05-14 10:35:22 +0200 Sebastian Dröge * gst/flv/gstflvmux.c: flvmux: Get the max duration from upstream if there's no duration tag 2009-05-14 10:29:49 +0200 Sebastian Dröge * gst/flv/gstflvmux.c: * gst/flv/gstflvmux.h: flvmux: Write an index table to the end of the file 2009-05-22 01:12:35 +0100 Tim-Philipp Müller * autogen.sh: * configure.ac: autotools: move the -Wno-portability from autogen.sh to configure.ac If we're lucky it'll get used on automatic rebuilds as well that way. 2009-05-22 01:10:12 +0100 Tim-Philipp Müller * common: * configure.ac: * m4/gst-fionread.m4: m4: fix 'suspicious cache id' warnings and update common to pull in a similar fix. Also check in configure whether the compiler supports do while macros (GLib wants this defined and it is needed to avoid warnings with some c++ compilers apparently). 2009-05-22 01:39:33 +0300 Zeeshan Ali (Khattak) * configure.ac: souphttpsrc: Bump-up libsoup-2.24 dep to >= 2.26 The helper function soup_message_headers_get_content_type that we now use was added in 2.26. 2009-05-20 17:57:59 +0300 Zeeshan Ali (Khattak) * ext/soup/gstsouphttpsrc.c: souphttpsrc: Set caps for audio/L16 content-type When "Content-Type" header is "audio/L16", we need to set the caps on the outgoing buffers so that downstream elements can have means to detect the stream type and handle it appropriately. Tested with HTTP stream provided by pulse-audio's http module (git master). 2009-05-20 15:06:25 +0300 Zeeshan Ali (Khattak) * ext/soup/gstsouphttpsrc.c: * ext/soup/gstsouphttpsrc.h: souphttpsrc: Rename icy_caps to src_caps 2009-05-21 23:39:13 +0200 Philippe Normand * ext/jpeg/gstjpegdec.c: jpegdec: bump max size to 65535x65535 Remove artificial jpeg image limits. Fixes #583048. 2009-05-21 21:36:02 +0100 Jan Schmidt * win32/common/config.h: win32: Update the win32 config.h 2009-05-19 15:12:09 +0100 Jan Schmidt * gst/matroska/matroska-demux.c: * gst/matroska/matroska-ids.h: matroskademux: Recognise PGS subpicture streams - the bluray format. Recognise and apply appropriate caps to PGS (Presentation Graphic Stream) subpicture streams. 2009-05-15 10:42:19 +0100 Jan Schmidt * ext/pulse/pulsesink.c: pulsesink: Convert an erroneous assertion Occasionally, we get a change callback for an old stream, triggering the assertion unnecessarily. Just ignore such callbacks. 2009-05-20 16:14:40 -0400 Olivier Crête * ext/pulse/pulsesink.c: pulse: Print a warning on under/overflows 2009-05-20 18:45:45 +0200 Wim Taymans * gst/qtdemux/qtdemux.c: * gst/qtdemux/qtdemux_fourcc.h: qtdemux: parse in24 boxes to get endianness in24 samples are normally big-endian but an enda box can change this to little-endian. Recurse into the in24 box and find the enda box so that we get the endianness right. Fixes #582515 2009-05-20 14:14:31 +0200 Wim Taymans * gst/multipart/multipartdemux.c: multipartdemux: add proper padtemplate 2009-05-20 14:02:43 +0200 Wim Taymans * gst/multipart/multipartdemux.c: multipartdemux: add more mime types Add mime-type for Panasonic g726 and add more required caps properties for other G726 mime-types. Make mime-types case insensitive. See #582169 2009-05-20 13:47:52 +0200 Wim Taymans * gst/multipart/multipartdemux.c: * gst/multipart/multipartdemux.h: multipartdemux: add flow aggregation 2009-05-20 13:29:02 +0200 Arnout Vandecappelle * gst/multipart/multipartdemux.c: multipartdemux: allow content to be empty. gst_adapter_take_buffer doesn't allow buffer to be empty. Simply skip any part where the content is empty. Don't create a pad for it either. See #582169 2009-05-18 22:19:39 +0200 Wim Taymans * gst/rtp/gstrtpchannels.h: rtp: fix channel positions for mono 2009-05-21 21:02:11 +0100 Jan Schmidt * configure.ac: Back to hacking -> 0.10.15.1