Commit graph

2090 commits

Author SHA1 Message Date
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
Mark Nauwelaerts
ad2c7bffe7 baseparse: Delay newsegment as long as possible.
If newsegment is sent (too) early, caps may not yet be fixed/set,
and downstream may not have been linked.
2009-03-31 16:18:00 +02:00
Wim Taymans
d6550696d4 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-27 17:44:57 +01:00
Wim Taymans
9605150830 outputselector: reset state when going to READY
Reset the last-buffer, the pending pad and the segment when going to the READY
state.
Fixes #576712.
2009-03-27 11:21:21 +01:00
Mark Nauwelaerts
654ca28f1b qtmux: fix reusing element
State change to READY and then back to PAUSED should still provide
the proper structures as are otherwise freshly available following
a request_new_pad.

Pointed out by Thiago Santos.
2009-03-26 21:56:28 +01:00
Sebastian Dröge
f510be57cd mxf: Fix compilation and compiler errors with GLib < 2.16.0 2009-03-26 20:28:30 +01:00
Sebastian Dröge
2c51bbdfad mxf: Fix "cast to pointer type of different size" compiler warning 2009-03-26 14:26:34 +01:00
Sebastian Dröge
9b6d6fd0dd mxf: Rename forgotten function to fix unresolved symbols error 2009-03-26 13:24:49 +01:00
Sebastian Dröge
f22494b6fe mxf: Use mxf_u{l,uid}_is_equal() and friends instead of memcmp() 2009-03-26 13:20:18 +01:00
Sebastian Dröge
c1c8b40d42 mxf: Differentiate between UL and UUID 2009-03-26 13:11:07 +01:00
Sebastian Dröge
ce01236e32 mxf: Source files and #include cleanup 2009-03-26 12:46:22 +01:00
Sebastian Dröge
eaea85ed4a xdgmime: Use GIOs g_content_type_guess() if possible 2009-03-26 12:10:05 +01:00
Sebastian Dröge
81af2259c2 mxf: Use the UL database for some more ULs 2009-03-26 11:51:43 +01:00
Sebastian Dröge
a9f931c467 mxf: Remove some GLib < 2.14 compatibility stuff 2009-03-26 11:42:45 +01:00
Руслан Ижбулатов
f5b298e3d7 xdgmime: Link with winsock library to fix build with MinGW
Partially fixes bug #573595.
2009-03-26 11:33:50 +01:00
Руслан Ижбулатов
dafa530773 dccp: Port DCCP plugin to MinGW
Partially fixes bug #573595.
2009-03-26 11:32:08 +01:00
Sebastian Dröge
6f62242c5f Merge branch 'mxfmux' 2009-03-26 08:13:10 +01:00
Sebastian Dröge
e5caf2edda mxfmux: Cleanup 2009-03-26 08:12:02 +01:00
Sebastian Dröge
3b88dce4d1 mxfmux: Fix handling of buffers with more than one edit unit and EOS handling 2009-03-26 08:11:20 +01:00
Wim Taymans
6b2c55e254 selector: merge the tags
Merge the tags received on the input-selector sinkpads instead of only keeping
the last one we saw.
2009-03-24 15:23:03 +01:00
René Stadler
83016fa9dc aacparse: Fix busyloop when seeking. Fixes #575388
The problem is that after a discont, set_min_frame_size(1024) is called when
detect_stream returns FALSE. However, detect_stream calls check_adts_frame
which sets the frame size on its own to something larger than 1024. This is the
same situation as in the beginning, so the base class ends up calling
check_valid_frame in an endless loop.
2009-03-23 20:57:15 +02:00
René Stadler
3f90e6ff13 aacparse: Refactor check_valid_frame to expose broken code
Just moving code around and removing an unhelpful/misleading comment.
2009-03-23 20:57:15 +02:00
Wim Taymans
fcfc22f6f6 qtmux: fix includes for lseek
--
2009-03-23 17:07:16 +01:00
LRN
df124a0b28 win32: fix seeking in large files
Use _lseeki64() on Windows to seek in large files.
Fixes #576021.
2009-03-23 17:07:16 +01:00
Sebastian Dröge
da27eb2380 mxf: Move some static const variables into functions 2009-03-23 15:06:11 +01:00
Stefan Kost
a7a97b9139 Makefile.am: no static libs for plugins 2009-03-22 21:02:45 +02:00
Sebastian Dröge
2224a990a8 mxfmux: Fix error handling 2009-03-22 15:58:50 +01:00
Sebastian Dröge
effb5786da mxfmux: Fix some memory leaks, improve debugging and handle errors better 2009-03-22 15:51:37 +01:00
Sebastian Dröge
ddced37a8b mxfmux: Add an error state from which we return immediately
Also improve debugging a bit.
2009-03-22 15:35:42 +01:00
Sebastian Dröge
226f23edde mxf: Optimize mxf_ul_is_subclass() a bit 2009-03-21 10:19:49 +01:00
Sebastian Dröge
b409f71f49 mxf: Start implementing a central UL database and add some helper functions and use them 2009-03-21 10:19:49 +01:00
Sebastian Dröge
a19f0375ec mxfmux: Make sure to include a picture in the edit units when muxing MPEG2/MPEG4 2009-03-21 10:19:49 +01:00
Sebastian Dröge
992caf48ba mxfdemux: Remove accidentially committed g_assert_not_reached() 2009-03-21 10:19:49 +01:00
Sebastian Dröge
c6730cd223 mxf: Add support for muxing/demuxing subsampled YUV formats 2009-03-21 10:19:49 +01:00
Sebastian Dröge
c95ba980b2 mxfdemux: Use correct width/height for stride conversions 2009-03-21 10:19:49 +01:00
Sebastian Dröge
a31498d8d4 mxf: Implement stride transformations for raw video content for muxing and demuxing 2009-03-21 10:19:49 +01:00
Sebastian Dröge
b6bac882f9 mxfdemux: Simplify caps selection by using a lookup table 2009-03-21 10:19:49 +01:00