Commit graph

2181 commits

Author SHA1 Message Date
Wim Taymans
af89b6de1c rtpsouce: the network address is in network order
Bring the network address in netowkr byte order to the host order.
2009-05-27 11:03:14 +02:00
Jan Schmidt
0716d36b13 gstspu: Convert g_warnings to GST_ERROR, and fix format specifiers
Use G_GSSIZE_FORMAT for printing pointer differences, which should work on
both 32-bit and 64-bit systems.
Use GST_ERROR instead of g_warning for printing messages about unknown
packet contents.
2009-05-27 00:51:45 +01:00
Jan Schmidt
35a66554b4 gstspu: Fix a nasty regression, with DVDs randomly crashing
Use the local wrapper function when clearing the compositing buffers to
ensure the correct portion is being cleared.
2009-05-27 00:47:05 +01:00
Jan Schmidt
b460592917 mpegdemux: Only treat streams from 0xa0 to 0xaf as LPCM, not 0xa0..0xbf
Don't treat some streams (Private Stream 2) as LPCM when they're not. Fixes
playback of files that have private streams in them now that the PES filter
emits such packets.
2009-05-26 21:05:01 +01:00
Tim-Philipp Müller
606daecf70 dvdspu: fix printf formats to avoid compiler warnings 2009-05-26 18:43:18 +01:00
Jan Schmidt
b68a05dbfa gstspu: Implement PGS rendering and alpha blending
Refactor the DVD subpicture compositing, switching it to 8-bit alpha
calculations. Reuse some of the resulting code to implement PGS
subpicture blending.

Implement parsing and collecting of composition objects properly, but
assuming a single active window and colour palette for now. I need more
PGS samples.
2009-05-26 15:58:09 +01:00
Jan Schmidt
7e20e3be45 dvdspu: Move a bunch of vobsub specific logic to a separate file.
Start separating out the vobsub logic in preparation for creating
separate renderer objects for each subpicture format.
2009-05-26 15:31:56 +01:00
Jan Schmidt
e0e5975462 dvdspu: Add copyright header and includes to the PGS handler 2009-05-26 15:31:55 +01:00
Jan Schmidt
293a976532 dvdspu: Make the PGS dumping less verbose 2009-05-26 15:31:55 +01:00
Jan Schmidt
871287ba2a dvdspu: Collect entire PGS packets and queue as events
Collect fragmented PGS packets and submit as complete events for
processing at the correct moment.
2009-05-26 15:31:55 +01:00
Jan Schmidt
4e847cb4ac dvdspu: Add simple PGS handler that dumps the packet info
Add setcaps logic on the subpicture sink pad for configuring
which subpicture format is arriving.

Add the first piece of PGS subpicture handling by dumping the stream
contents out to the terminal as the packets arrive.

Add some more debug.
Don't calculate the running time for our subpicture packets twice,
once is enough.
2009-05-26 15:31:54 +01:00
Jan Schmidt
78cd406a76 dvdspu: Add a simple default colour table.
When we're not provided with a palette in advance, draw with a grey
colour or two, instead of YUV green.
2009-05-26 15:31:54 +01:00
Jan Schmidt
f7eefea47c mpegdemux: Add sparse stream filling.
First stab at sending new-segment events to effect sparse stream
updates.
2009-05-26 15:31:54 +01:00
Jan Schmidt
e1d778e559 mpegdemux: Add support for outputting sub-picture streams found in files.
Output subpicture streams when they are found on the private stream ID.
Don't strip off the first byte of such packets when pushing.
2009-05-26 15:31:53 +01:00
Jan Schmidt
471640e3f3 mpegtsdemux: Add mapping for DVD and Bluray subpicture streams.
Add output subpicture pads for DVD (video/x-dvd-subpicture) and Bluray PGS
(subpicture/x-pgs) streams. Remove an unused variable from
the PES filter.
2009-05-26 15:31:53 +01:00
Jan Schmidt
a7cd4b03ad dvdspu: Don't accidentally lose the colour palette when flushing the SPU
Fixes racy startup on DVDs where it sometimes gets entirely the wrong set
of colours in the menus and subtitles.
2009-05-26 15:31:51 +01:00
Wim Taymans
707eaf7684 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-26 15:42:55 +02:00
Edward Hervey
023af351fb gstpesfilter: Directly use gst_adapter_take_buffer(). 2009-05-25 18:32:26 +02:00
Edward Hervey
410d8f8910 gstpesfilter: Don't peek the adapter if we don't have enough data. 2009-05-25 18:32:26 +02:00
Edward Hervey
849ea99358 gstpesfilter: Don't skip private streams PES but push them out.
The one thing we *DO* need to do for those streams is to skip all
the PTS/DTS/Scrambling/DSM/extension/... handling.
2009-05-25 18:32:26 +02:00
Edward Hervey
36cc757bda mpegtsdemux: Ignore NULL packets as early as possible.
This avoids:
* creating a MpegTSStream structure for nothing
* processing packet data for nothing
2009-05-25 18:32:26 +02:00
Edward Hervey
f92f282874 mpegtsdemux: Add mapping for HDV private streams 2009-05-25 18:32:26 +02:00
Wim Taymans
269f3ff1a2 rtpbin: remove ptdemux ghostpads 2009-05-25 13:46:29 +02:00
Michael Smith
1a98c66f4a adpcmdec: Add new plugin for ms-adpcm decoding. 2009-05-22 16:56:52 -07:00
Edward Hervey
0444aa3374 mpegvideoparse: Detect interlaced content and set it on outgoing caps.
I also added the parsing of all the other bits in the sequence extension
header in case we need it later.
2009-05-22 17:19:26 +02:00
Wim Taymans
e8423da78e rtpbin: add to new signal to remove SSRC pads 2009-05-22 16:41:19 +02:00
Ali Sabil
0d014baaa4 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 16:35:20 +02:00
Wim Taymans
9353ceb530 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:45:19 +02:00
Wim Taymans
1c85da2d2b 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 15:36:17 +02:00
Wim Taymans
a0b6202baf rtpsource: add RTP and RTCP source address
Add the RTP and RTCP sender addresses in the stats structure.
2009-05-22 13:47:30 +02:00
Wim Taymans
d48dcb0499 rtpsession: reuse source code for SDES
Reuse the RTPSource object property instead of duplicating code.
2009-05-22 13:45:15 +02:00
Wim Taymans
142840432b 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 12:20:13 +02:00
Wim Taymans
58c59d7953 rtpbin: unref requests pads after releasing 2009-05-22 11:59:17 +02:00
Wim Taymans
580b20d6cc mpegtsdemux: fix memleaks and refcounts
Use correct constants for PID_type so that we clear the right filter.
provide_clock must return a ref to a clock.
2009-05-22 11:02:07 +02:00
Tim-Philipp Müller
e5b1c976c4 id3tag: canonicalise function names 2009-05-22 09:54:57 +01:00
Tim-Philipp Müller
fdaeae57c9 id3tag: change GType to GstId3Tag so it doesn't conflict with the id3tag plugin in -ugly 2009-05-22 09:51:29 +01:00
Tim-Philipp Müller
02bff8754b id3tag: register GType of the base class with a less generic name
.. so we can easily move the base class into -base later without
causing GType name conflicts.
2009-05-22 01:30:48 +01:00
Olivier Crête
c5ab83a1cb rtpbin: Implement releasing the streams
See #561752
2009-05-22 01:46:04 +02:00
Olivier Crête
451ca5dbc0 rtpbin: Keep jb signals handler
Keep the signal handlers so they can be disconnected at release time

See #561752
2009-05-22 01:16:11 +02:00
Wim Taymans
b3aeee2bf2 rtpbin: use the right lock for the sessions
Use the right lock when iterating the sessions.
2009-05-22 01:12:57 +02:00
Olivier Crête
fb59348dbe 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 01:03:55 +02:00
Olivier Crête
4424fd3c93 rtpbin: Implement relasing of the rtp recv pad 2009-05-22 00:51:53 +02:00
Olivier Crête
65d55e6b13 rtpbin: Implement releasing of rtp send pads 2009-05-22 00:44:51 +02:00
Olivier Crête
b831c9b434 rtpbin: Implement release of the recv rtcp pad
See #561752
2009-05-22 00:34:36 +02:00
Olivier Crête
ab80a4fa41 rtpbin: Implement releasing of rtcp src pad
See #561752
2009-05-22 00:16:19 +02:00
Wim Taymans
e9eae335f1 sdpdemux: rework RTCP sending and RTP receiving
When we are dealing with multiast, create the udp src and sink elements pointing
to the multicast addresses. When we are doing unicast, receive data on the local
ports and don't send RTCP because we don't know where we have to send it.

Fixes #583188
2009-05-21 22:22:06 +02:00
Michael Smith
fe38f53572 id3tag: Add new id3 tagging plugin, supports v1, v2.3, and v2.4.
By default, does v1 and v2.3, but there are properties to select.
Will hopefully replace id3mux, id3v2mux, in the not-too-distant future.
2009-05-21 13:15:46 -07:00
Edward Hervey
0520a2a53b mxf: Fix frame_layout for non-interlaced formats. Fixes #583337 2009-05-20 17:15:51 +02:00
Jan Schmidt
90aa8eff4c fpsdisplaysink: Fix resetting of the sink in NULL
Reset the fpsdisplaysink in NULL by removing the textoverlay if we
created it.

Fixes: #582633
2009-05-16 01:26:55 +01:00
Jan Schmidt
48e32a0890 Moved 'y4menc' from -bad to -good 2009-05-16 00:17:00 +01:00
Thiago Santos
405f80dec4 [qtmux] Fixes segfault when adding a blob as first tag.
Moves tags data initialization to the function that actually appends
the tags to the list. Fixes #582702

Also fixes some style caught by the pre-commit hook.
2009-05-15 09:21:44 -03:00
Sebastian Dröge
f5ba4904f7 mxfdemux: Use a RW lock to protect metadata and add all pads at once without a lock held
This makes it possible, among other things, to do a query in the
pad-added callback.

Fixes bug #582656.
2009-05-15 11:49:20 +02:00
Jan Schmidt
29b44a5e2f dvdspu: Push update frame, if any, when entering stills.
When entering a still frame generates an updated buffer, make sure
to push it out, otherwise we may not put a frame onscreen with a
rendered button, causing raciness as to whether buttons get drawn
or not when jumping back to the menu on some discs.
2009-05-14 11:28:14 +01:00
Wim Taymans
b20a88702d y4menc: change my email
change my email to something more current
See #580783
2009-05-13 17:55:46 +02:00
Wim Taymans
60f46ec99c y4menc: don't strip timestamps
Fixes #582483
2009-05-13 17:54:47 +02:00
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