Commit graph

2126 commits

Author SHA1 Message Date
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