Commit graph

5311 commits

Author SHA1 Message Date
Sebastian Dröge 4ca886c53b mpegtsbase: Call ::program_stopped after removing all streams
Subclasses want to access the program while removing the streams
and will currently crash because of dereferencing NULL in some cases.
2013-04-10 16:19:00 +02:00
Alexander Schrab 3320f29a88 watchdog: race between g_main_loop_run/_quit fixed
https://bugzilla.gnome.org/show_bug.cgi?id=697694
2013-04-10 10:36:19 +01:00
David Schleef 329c250a41 watchdog: fix event handling 2013-04-09 15:43:35 -07:00
David Schleef 63a2fac9a9 yadif: remove extra template code 2013-04-09 15:43:35 -07:00
David Schleef 45cb1195a6 ivtc: remove transform_size, it's not needed 2013-04-09 15:43:35 -07:00
David Schleef 9fd00c01a3 interaudiosink: fix leak when not connected 2013-04-09 15:36:17 -07:00
Edward Hervey 98265d0b28 tsdemux: Add support for TrueHD audio 2013-04-07 18:41:38 +02:00
Tim-Philipp Müller a84e2ccbb8 audiovisualizer: shaders assume 32bpp
Backport fix for crashes and invalid writes in totem from libvisual
in -base, to minimise differences to version in -base and to make
sure the bug doesn't sneak back in later when the base class is
made public.

The shader code looks like it makes assumptions that are not
necessarily always true, even if they're true for now for the
existing elements, namly that pixel stride is 4, for example.

See https://bugzilla.gnome.org/show_bug.cgi?id=683527
2013-04-05 00:53:54 +01:00
Matthew Waters bf502f5502 audiovisualizer: handle non-existant pool in the default allocation query
gst_query_set_nth_allocation_pool() requires there to be a pool in the
query already. This is not always the case when we get the query from
upstream.  Use gst_query_add_allocation_pool() instead in such case.

https://bugzilla.gnome.org/show_bug.cgi?id=681719
2013-04-05 00:38:36 +01:00
Wim Taymans 5d72759fec audiovisualizer: improve allocation
Based on patch by Matthew Waters

Add private data
Add decide_allocation vmethod
Refactor bufferpool negotiation

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681719
2013-04-05 00:37:08 +01:00
Edward Hervey 2296296a51 mpegvideoparse: Only add meta if downstream needs it
It's not perfect, because in the cases where upstream doesn't
initiate an allocation query, we won't know.
2013-03-31 19:04:12 +02:00
Edward Hervey 14e7e78b7a mpegvideoparse: Store information in GstMpegVideo12Meta
FIXME : Only do so if we know downstream will need it
2013-03-31 18:55:33 +02:00
Edward Hervey ca3146a2cd tsparse: Ensure segment events are forwarded
We skip them for tsdemux though (recreated later)

Fixes #690949
2013-03-30 13:54:37 +01:00
Wim Taymans d7bcf7206f mpegpsdemux: push stream start event 2013-03-30 11:15:48 +01:00
Josep Torra b6719fe0e3 midiparser: ensure variable is initialized and fix debug message access 2013-03-30 10:57:08 +01:00
Josep Torra 030cf658e6 mpeg4videoparser: Fix a compiler warning about uninitialised variable use 2013-03-30 09:52:45 +01:00
David Schleef a1bb437ece watchdog: new element 2013-03-27 15:31:21 -07:00
David Schleef 65cb59912b mxfdemux: Use %03u for format in gst_pad_create_stream_id_printf() 2013-03-25 18:57:32 -07:00
Wim Taymans f468979dea interlaced: set both DTS and PTS
Handle both dts and pts on output buffers.
2013-03-25 10:10:28 +01:00
Douglas Bagnall 0c9db072ce tsdemux: remove unused current_program_number field
https://bugzilla.gnome.org/show_bug.cgi?id=690934
2013-03-24 20:58:28 +00:00
Tim-Philipp Müller 0002f7638b rawparse: send segment event in time format also in push mode
When converting the incoming segment from byte to time format,
don't just convert the start/stop/time values, but also change
the segment format to TIME.

https://bugzilla.gnome.org/show_bug.cgi?id=696361
2013-03-22 19:40:58 +00:00
Sebastian Dröge dfa6c17de5 y4mdec: Use the correct strides as used by y4m and convert to GStreamer strides if necessary
https://bugzilla.gnome.org/show_bug.cgi?id=696361
2013-03-22 15:53:08 +01:00
Sebastian Dröge 58bfdb2798 y4mdec: Use the default event/query handlers for the default handling
Especially don't forward caps events from the sinkpad to the srcpad.

https://bugzilla.gnome.org/show_bug.cgi?id=696282
2013-03-22 14:52:54 +01:00
Sebastian Dröge 5dba06113d y4mdec: Properly handle segment and time values of -1 2013-03-22 14:50:28 +01:00
Wim Taymans 5981ad182e midi: set midi parser rank primary
Now that it supports seeking and all, mark it primary
2013-03-22 14:48:52 +01:00
Wim Taymans 5474532f57 midiparse: always seek back to beginning
We always need to seek back to the beginning because when we do a flushing seek,
we might have lost events downstream.
2013-03-22 13:49:49 +01:00
Wim Taymans 803f564013 midiparse: implement seeking
Seek back to 0 for backward seeking and let things run and clip for forwards
seeking.
2013-03-22 12:25:16 +01:00
Wim Taymans 661989bcb7 midiparse: simplify the callbacks
We only need one callback to send bytes out.
2013-03-21 18:18:29 +01:00
Wim Taymans 06e06b6159 midiparse: clean up tracks 2013-03-21 17:25:32 +01:00
Wim Taymans 7a14606b51 midiparse: don't leak midi data 2013-03-21 17:16:24 +01:00
Wim Taymans 15f07e7f12 midiparse: small cleanups in error paths 2013-03-21 16:06:46 +01:00
Wim Taymans adae7f1859 midiparse: duration is max of all track durations 2013-03-21 16:06:46 +01:00
Wim Taymans 7498d104a7 midiparse: fix klass 2013-03-21 16:06:46 +01:00
Wim Taymans 5492631d84 midiparse: Update duration
Rework things a bit so that we can run over the midi events and fire callbacks
for each of them. We can then use that for calculating the duration and also for
doing playback.
Only parse as many tracks as specified in the header.
Fix default tempo;
Send MIDI tick events every 10ms
2013-03-21 15:00:16 +01:00
Wim Taymans 76cd090503 midiparse: handle midi in RIFF 2013-03-21 09:30:41 +01:00
Wim Taymans a093d65310 midiparse: small fixes 2013-03-21 07:21:41 +01:00
Wim Taymans 10cb1a7a3a midi: set rank as marginal
Set the mark to marginal until we implement more features.
2013-03-21 07:21:41 +01:00
Wim Taymans 235f2a962e midiparse: add basic midi parser
Parses midi files and outputs buffers with midi events.
2013-03-21 07:21:40 +01:00
Tim-Philipp Müller 3af6effcf2 ivtc: fix make dist 2013-03-20 15:29:51 +00:00
David Schleef 160f996c2f combdetect,ivtc: code cleanup 2013-03-19 18:08:53 -07:00
David Schleef db40edff17 combdetect: output progressive video 2013-03-19 16:26:45 -07:00
David Schleef 16091ef422 combdetect: code cleanup 2013-03-19 16:26:45 -07:00
David Schleef f1993545cf combdetect: switch to zebra striping 2013-03-19 16:26:45 -07:00
David Schleef cac6b94922 ivtc: drop early fields 2013-03-19 16:26:45 -07:00
David Schleef 91310bd4c5 ivtc: new inverse telecine filter
This filter converts interlaced content that was originally
telecine'd from 24 fps (or similar) progressive content.  It works
approximately like videorate, but with awareness of interlacing.
It merges neighboring fields in the input interlaced stream with
the goal of minimizing combing artifacts, while keeping the output
framerate constant.  If it cannot avoid combing artifacts, it will
reconstruct the image from a single field.  Note that this filter
does not autodetect the framerate, but will automatically fixate
at 24 fps.
2013-03-19 16:26:45 -07:00
Alessandro Decina d2d6798087 Make the hls plugin depend on gnutls and move to ext/hls/
gnutls is used to implement AES decryption
2013-03-19 10:54:18 +01:00
Alessandro Decina 5c77ef61ed hlsdemux: use gnutls instead of openssl 2013-03-19 10:26:54 +01:00
Alessandro Decina 7d982d3418 hlsdemux: support encrypted streams 2013-03-19 10:26:54 +01:00
Alessandro Decina 1f177beb33 hlsdemux: fix invalid free() introduced by last commit 2013-03-18 21:03:50 +01:00
Kevin Thornberry 72c5c70b90 mpegtsmux: fix creation of ADTS header for AAC audio in MPEG-TS
https://bugzilla.gnome.org/show_bug.cgi?id=695412
2013-03-18 10:31:51 +00:00