Commit graph

2126 commits

Author SHA1 Message Date
Sebastian Dröge
453794d383 Moved 'deinterlace2' from -bad to -good
And remove old deinterlace plugin as deinterlace2 will
be called deinterlace in -good.
2009-05-13 10:47:54 +02:00
Sebastian Dröge
8c13566624 Moved 'flv' from -bad to -good 2009-05-12 21:50:12 +02:00
Jan Schmidt
ad1f7e6ed3 dvdspu: Make the debugging output a bit clearer.
Display more info about custom DVD events in the debug messages.
2009-05-11 17:04:09 +01:00
Jan Schmidt
513367a88c dvdspu: Always push a frame at the start of a still frame, and fix a leak.
Make sure to push the frame for a still frame, with discont = true and
timestamp=none, so that it gets displayed by the sink. Also, don't leak
each rendered video frame during still menus.
2009-05-11 17:04:09 +01:00
Jan Schmidt
571a7746fc dvdspu: Add a guard when we don't have any subpicture buffer to render 2009-05-11 17:04:08 +01:00
Edward Hervey
f9dfc44a67 mpegtsdemux: Protect bitrate estimation against bogus values.
If the estimated bitrate is lower than 188 bytes, there's most likely
something completely wrong with the two samples. If that happens,
force recalculation.

Use guint64 for observation PCR, I saw cases where it would overflow.
2009-05-11 16:59:20 +02:00
Edward Hervey
bc062b9acf mpegtsdemux: Only take PCR from the active stream for bitrate estimation. 2009-05-11 16:58:58 +02:00
Edward Hervey
432dd98321 mpegtsdemux: Change debugging levels for very frequent messages.
This allows debugging with mpegtsdemux:4 while being able to track what's
going on (and avoid taking up as much cpu for debugging as for the actual
demuxing process).
2009-05-11 16:53:18 +02:00
Edward Hervey
5aa3358f3b mpegtsdemux: Revert indentation and comment header file.
One shouldn't run gst-indent on .h files, in this case it was un-beautifying
the indentation :)
2009-05-11 16:53:12 +02:00
Mark Nauwelaerts
29d53b22f9 gppmux: Add MPEG-4 part 2 to supported formats. Fixes #581593. 2009-05-10 21:21:36 +02:00
Tristan Matthews
6451febd14 mxfmux: Fix uninitialized variable compiler warning
This will always be set to something but gcc didn't detect
this. Fixes bug #582013.
2009-05-10 10:41:41 +02:00
Sebastian Dröge
d09515b49f mxfmux: Write metadata items in reference order
This ensures that the metadata items are always written
in the same order and that first comes the preface,
then the identification linked from the preface, ...

Some demuxers can't handle files where the metadata
items are in random order.
2009-05-09 15:50:51 +02:00
Sebastian Dröge
18f8c9b0b4 mxfmux: Fix EOS logic again 2009-05-09 15:50:51 +02:00
Sebastian Dröge
8692ae2a9d mxfmux: Don't unref NULL buffers if pushing a buffer after the first failed 2009-05-09 15:50:51 +02:00
Zaheer Merali
ff7b54e7da mpegtsdemux: Add initial naive seeking support and fix duration query.
Sync from gst-fluendo-mpegdemux and have seeking/duration query
improvements in. No support however for wrapped around pcrs etc. but a
start nonetheless.
Also fix indentation issues.
2009-05-08 18:26:43 +01:00
Sebastian Dröge
8c57211bd2 deinterlace2: Add a disabled mode for passthrough operation
Also allow to change the mode in PAUSED and PLAYING by updating
the caps if necessary.
2009-05-08 15:42:43 +02:00
Christian Schaller
67dd3c11f4 Add ranks to various muxers and encoders in -bad 2009-05-07 17:53:42 +01:00
Arnout Vandecappelle
9542d9e251 mpeg4videoparse: don't leak the config data
Clear the config data when going to READY or when disposed.
Fixes #581427
2009-05-05 16:54:39 +02:00
Wim Taymans
46139253bc 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-05-05 16:50:14 +02:00
Zaheer Abbas Merali
179f5bb850 mpegtsparse: Remember pids that are meant to be stream pids.
Fixes #569781
2009-05-04 22:09:05 +01:00
Vincent Genieux
e41401e317 mpegtsparse: Ignore subtable extension when parsing PAT
Fixes #569673.
2009-05-03 17:42:44 +01:00
Vincent Genieux
8ef8daf4db mpegtsparse: make safe changing the program-numbers property dynamically
Fixes #569437.
2009-05-03 17:21:22 +01:00
Mark Nauwelaerts
9bbacae78f baseparse: fix (regression in) newsegment handling
(aacparse, amrparse, flacparse).  Fixes #580133.
2009-05-03 14:46:58 +02:00
Tim-Philipp Müller
76535b0e1f docs: make fpsdisplaysink show up in the docs 2009-05-01 14:28:43 +01:00
Tim-Philipp Müller
9b1c7c94b4 fpsdisplaysink: move private struct into plugin struct and use Gst namespace 2009-05-01 14:28:43 +01:00
Tim-Philipp Müller
e101037589 fpsdisplaysink: rename plugin (not element) to debugutilsbad
Makes it easier to add further utils here without creating yet another plugin.
2009-05-01 14:28:42 +01:00
Thiago Santos
76aa98549a qtmux: changes caps of src pads to video/quicktime, variant=something
Take a look at bug #580005 for further info.
2009-04-30 14:43:36 -03:00
Tristan Matthews
8d4315ee5c fpsdisplaysink: init variable to NULL to avoid compiler warning
Fixes #580901.
2009-04-30 17:09:28 +01:00
Wim Taymans
5704bc8f89 dvdspu: do some basic clipping
Add some basic clipping of the subtitle region when the subtitle is bigger than
the image we should put it on.
2009-04-30 14:20:16 +02:00
Wim Taymans
f38cb76b5f dvdspu: don't EOS when the subtitle got EOS
Don't forward the EOS on the subtitle pad as the video might still be running.
2009-04-30 14:18:58 +02:00
Stefan Kost
1ae52725d9 fpsdisplay: code cleanup and plug overlay as needed
Pluggin the text-ovelay causes some slowdowns and might need a colorspace
converter. We now only check the text-overlay property whne goint to ready and
plug or unplug the text-overlay at that time. If the property changes during
playing, its not switched immediately.
2009-04-30 13:48:07 +03:00
Tristan Matthews
62db462298 flvmux: init variable to NULL to fix compiler warning
Fixes #580786.
2009-04-29 18:53:58 +01:00
Sebastian Dröge
87e9e529e7 flv: Set/require the framed/parsed fields of the audio/mpeg caps to TRUE 2009-04-29 13:56:07 +02:00
Sebastian Dröge
c741c2cd59 flv: Always write at least the minimal tags and write the PAR as tags 2009-04-29 13:16:25 +02:00
Sebastian Dröge
d780d5f095 flv: Add support for muxing some tags 2009-04-29 13:03:46 +02:00
Sebastian Dröge
51e01d6bb5 flv: Add support for title tag 2009-04-29 13:03:27 +02:00
Sebastian Dröge
bf4d7d233d flv: Fix parsing of tags and add new mappings
We shouldn't register a new GstTag for every unknown tag
we find as this might lead to conflicts and also those
tags are essentially unknown.

Add mappings for some known tags and also convert string
dates to GDate, as found in many FLV files.
2009-04-29 09:42:32 +02:00
Olivier Crête
3a4c9c990a rtpmux: Reject wrong caps 2009-04-28 16:28:40 -04:00
Olivier Crête
6c4eeff781 rtpmux: Fix leak
Fixed a leak discovered by Laurent Glayal <spegle@yahoo.fr>
2009-04-28 16:03:49 -04:00
Olivier Crête
905aad3572 rtpmux: Fix leak
Fixed a leak discovered by Laurent Glayal <spegle@yahoo.fr>
2009-04-28 15:59:37 -04:00
Olivier Crete
cc51f90c1a 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:11:11 +02:00
Olivier Crete
bf3ea86c2f rtpsession: notify when SSRC changes
Emit a g_object_notify when the SSRc changes because of a collision.
Fixes #580144
2009-04-27 11:11:11 +02:00
Christian Schaller
b627bb5f2d Add new plugin to spec file and add missing header to gst/dccp/Makefile.am 2009-04-27 10:04:51 +01:00
Thiago Santos
bb86b8ca7e mp4mux: Changes src caps to application/x-iso-mp4
Fixes #580005
2009-04-24 18:53:36 -03:00
Stefan Kost
95520973d0 fpsdisplay: more cleanups
Use normal gst-defines in PLUGIN_DEFINE. Shorten _start/stop method names.
More ideas. Move debug category-init down to plugin-init.
2009-04-23 14:38:20 +03:00
Stefan Kost
314f2e26c5 fpsdisplay: use a nicer font family 2009-04-23 14:38:19 +03:00
Stefan Kost
193f638b0a fpsdisplay: various cleanups, docs and comments
Remove unused base_init. Add basic doc blob. Reuse query object. Rename
variables for clarity. Add comments and ToDos.
2009-04-23 14:38:19 +03:00
Stefan Kost
790235e29f fpsdisplay: remove iface proxy
When we get bus messages for setting the xid, we have the real sink element
instance as message_src. No need to proxy the xoverlay iface therefore
(autovideosink does not do it either). Also we don't need to rewrite the
message src of all messages from that sink.
2009-04-23 14:38:19 +03:00
Jan Schmidt
5307933825 input-selector: Forward segment events for the active pad immediately.
When a segment event is received on the active pad, forward it downstream
immediately instead of deferring it until the next data buffer arrives. This
fixes problems with segment updates never being sent downstream, like those
needed for sparse streams, or for closing previously opened segments.

This fixes playback of DVD menus with a still video frame and an audio track,
for example.

Fixes: #577843
2009-04-23 11:09:13 +01:00
Olivier Crête
962f9173f2 rtpmux: Fix warning 2009-04-22 18:01:07 -04:00
Olivier Crête
74e0724acf rtpmux: Set different caps depending on the input 2009-04-22 16:29:44 -04:00
Olivier Crête
098b75c2f2 rtpmux: Only free pad private when pad is disposed 2009-04-22 16:26:08 -04:00
Sebastian Dröge
6734a9980e flv: Add documentation to flvmux and flvdemux
Partially fixes bug #573737.
2009-04-22 19:52:05 +02:00
Sebastian Dröge
8e84633120 mxf: Mark most fields of the instance struct as private 2009-04-22 19:45:07 +02:00
Sebastian Dröge
4efa891f6f deinterlace2: Add documentation and integrate into the build system 2009-04-22 19:43:22 +02:00
Sebastian Dröge
e3664d57ad mxf: Add documentation to mxfmux and update the docs 2009-04-22 19:24:43 +02:00
David Schleef
ef5e486fcd Add interlaced support to videoparse
Add a virtual method in rawparse to set buffer flags.  This doesn't
use API from unreleased -base, since it defines GST_VIDEO_BUFFER_TFF
if it's not defined yet.
2009-04-21 18:55:05 -07:00
Olivier Crête
b68fa5111a Merge branch 'rtpmux-fixes' 2009-04-21 13:27:29 -04:00
Edward Hervey
c717af5c0a mpegdemux: Only error out at EOS push failure if we don't have any streams.
This should remove the bogus error messages while still keeping the original
intent of this, which is to inform the pipeline/application/user that we
could not find any valid streams.

There are many reasons why pushing an event can fail, and not all of them are
because there's no link downstream (it could be because it was blocked, or
flushing).
2009-04-21 16:12:08 +02:00
Zaheer Abbas Merali
51fdc78786 mpegtsdemux: add hack specific for itvhd
itvhd masks its h264 video stream as a private stream making it harder for
other set top boxes to decode. this checks for specific program number, video
pid and stream type combination before declaring it as h264.
2009-04-21 12:09:31 +01:00
Zaheer Abbas Merali
c5825f9e1d mpegtsparse: detect AC3 streams in PMT table
add 'has-ac3' boolean to pmt bus message
2009-04-21 12:09:31 +01:00
Zaheer Abbas Merali
39d6074539 itv hd hack 2009-04-21 12:09:31 +01:00
Zaheer Abbas Merali
e8ca380063 hack for itvhd sid to detect mpeg1 as h264 2009-04-21 12:09:31 +01:00
Olivier Crête
9c014d0013 rtpmux: Remove useless caps mangling 2009-04-20 20:24:17 -04:00
Olivier Crête
edd3717150 rtpmux: Rename variable for more clarity 2009-04-20 20:23:39 -04:00
Olivier Crête
655a3d125a rtpmux: Use GST_BOILERPLATE 2009-04-20 20:23:37 -04:00
Olivier Crête
5af0efd1d3 rtpmux: Do the includes locally 2009-04-20 20:23:02 -04:00
Sebastian Dröge
0ad5dec019 deinterlace2: Make it possible to select interlacing autodetection or to enfore deinterlacing
For this add a "mode" property that defaults to "interlaced" for now as
most decoders/demuxers don't properly set the "interlaced" field on the
caps yet.

If this property is set to "auto" the element will work in passthrough
mode unless the caps contain the "interlaced" field.
2009-04-19 17:21:16 +02:00
Zaheer Merali
71be79f668 mpegtsparse: fix leak of GST_TYPE_LIST gvalue 2009-04-18 23:42:57 +01:00
Zaheer Merali
c9ae67fac9 mpegtsparse: fix leak in src_pad_query 2009-04-18 13:09:23 +01:00
Wim Taymans
71076cad54 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-17 16:16:29 +02:00
Sebastian Dröge
63044be8e5 deinterlace2: Use GST_(DEBUG|WARNING|ERROR)_OBJECT instead of the non-OBJECT ones 2009-04-17 15:39:59 +02:00
Sebastian Dröge
9017f1903a deinterlace2: Reset history if DISCONT is set on the incoming buffer 2009-04-17 15:39:36 +02:00
Sebastian Dröge
6c8f4a36e3 deinterlace2: Fix timestamps for buffers with RFF flag set 2009-04-17 15:39:10 +02:00
Sebastian Dröge
7a30947913 mxf: Properly handle the new interlaced support from libgstvideo for (de)muxing 2009-04-16 22:14:15 +02:00
Sebastian Dröge
a32e180155 deinterlace2: Rename line_length to row_stride and remove output_stride 2009-04-16 17:42:27 +02:00
Sebastian Dröge
ffaef58b59 deinterlace2: Implement support for RFF and ONEFIELD buffer flags 2009-04-16 17:42:27 +02:00
Stefan Kost
e01373662a fpsdisplaysink: add a initial port of a sink with fps display
This now works with a event probe. Needs some extra work.
2009-04-16 18:39:29 +03:00
Lasse Laukkanen
78b208125a camerabin: clean up and fix assertion fail when setting zoom in NULL state 2009-04-16 16:08:42 +03:00
Lasse Laukkanen
9b0fa11a5d camerabin: fix format matching when detecting allowed frame rate 2009-04-16 16:08:41 +03:00
Lasse Laukkanen
0847a84f41 camerabin: don't lose pending state when changing resolution 2009-04-16 16:08:40 +03:00
Lasse Laukkanen
65ddcd6d5d camerabin: change img-done signal parameter from GString* to const gchar*
Don't allow setting filename via img-done signal parameter but force app
use filename property. Don't stop capture when setting filename property.
Update check unit test based on the change.
2009-04-16 15:19:20 +03:00
Olivier Crête
d8ba5624ce rtpmux: Add GST_DEBUG_FUNCPTRs 2009-04-15 13:23:01 -04:00
Olivier Crête
66fca81e23 rtpdtmfmux: Release locked pad on release_pad
Release the special pad if the pad is removed from the muxer.
2009-04-15 13:15:55 -04:00
Laurent Glayal
65cb85316b rtpdtmfmux: Release special on pad dispose
Fixes #577690
2009-04-15 13:11:32 -04:00
Wim Taymans
a2fdf5648f 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 18:14:48 +02:00
Wim Taymans
ba6b41dad4 rtpbin: we should not provide a clock
There is no need to provide a clock.
2009-04-15 17:44:17 +02:00
Wim Taymans
f7af854c28 jitterbuffer: more estimated EOS fixes
Do more accurate EOS estimate and guard against backward timestamps.
2009-04-15 17:28:56 +02:00
Wim Taymans
87da61f965 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-04-15 17:25:02 +02:00
Sebastian Dröge
e539615c79 deinterlace2: Move output buffer from the instance struct to a function parameter 2009-04-15 15:46:44 +02:00
Sebastian Dröge
b66a6f90be deinterlace2: Add initial support for automatic detection of the field order 2009-04-15 15:33:17 +02:00
Sebastian Dröge
5a95bac390 deinterlace2: Add support for YVYU colorspace
This is the same as YUY2 with just Cr and Cb swapped. As
we don't make a difference between them when deinterlacing
this works.
2009-04-15 14:47:49 +02:00
Sebastian Dröge
50424e44ad mxfmux: Small cleanup 2009-04-13 13:33:00 +02:00
Sebastian Dröge
0fa50e9d77 mxfdemux: Don't use invalid buffer offsets, instead assume offset == 0 2009-04-07 15:49:00 +02:00
Sebastian Dröge
acc912599d mxf: Fix comparison 2009-04-07 15:45:50 +02:00
Sebastian Dröge
83324d6788 Use UL database for all metadata ULs 2009-04-07 15:20:10 +02:00
René Stadler
d5216a1a66 baseparse: Fix slightly broken buffer-in-segment check (aacparse, amrparse, flacparse) 2009-04-07 05:41:46 +03:00
René Stadler
0293f54d06 baseparse: Fix push mode seeking (aacparse, amrparse)
Sending the flush-start event forward before taking the stream lock actually
works, in contrast to deadlocking in downstream preroll_wait (hunk 1).

After that we get the chain function being stuck in a busy loop. This is fixed
by updating the minimum frame size inside the synchronization loop because the
subclass asks for more data in this way (hunk 2).

Finally, this leads to a very probable crash because the subclass can find a
valid frame with a size greater than the currently available data in the
adapter. This makes the subsequent gst_adapter_take_buffer call return NULL,
which is not expected (hunk 3).
2009-04-05 05:26:09 +03:00
Jan Schmidt
0b73fd2870 dvdspu: Add some debug
Add a little bit of extra debug. Wrap a hardcoded #if 0 into a define instead.
2009-04-02 14:46:22 +01:00
Tim-Philipp Müller
fffc3ba770 legacyresample: fix negotiation so that upstream can actually fixate to downstream's rate
If one side has a preference for a particular sample rate or set of sample rates, we
should honour this in the caps we advertise and transform to and from, so that elements
actually know about the other side's sample rate preference and can negotiate to it
if supported. Also add unit test for this.
2009-04-01 15:45:22 +01:00