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
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