Commit graph

2240 commits

Author SHA1 Message Date
Stefan Kost
1187b88acd outputselector: do the pad_alloc for the pad that is pending and have a fallback
We should do the pad_alloc for the pending pad if any, as we will switch to that
pad on next _chain() call. Also do a fallback alloc, if there is no output yet to
not fail state transitions in dynamic pipelines.
2009-06-14 10:56:23 +03:00
LRN
7b28f931bb Added base libs to debug utils makefile
Fixes #585015
2009-06-07 23:01:30 +02:00
Edward Hervey
4f0b03d357 hdvparse: Link against libm because we use pow(). 2009-06-06 19:28:07 +02:00
Tim-Philipp Müller
e2ef7a2a8a id3mux: init genre field in ID3v1 tag to an invalid number
So that it is not interpreted as 'Blues' if no genre is to be written.
2009-06-06 02:35:35 +01:00
Tim-Philipp Müller
75cc0245fa id3mux: don't write ID3v1 tag until specifically instructed to do so
ID3v1 tags are one of the most broken and ill-designed things that
exist on this planet. Let's not write them by default.
2009-06-06 02:13:13 +01:00
Tim-Philipp Müller
73f231fac9 id3mux: don't write empty ID3v1 tag 2009-06-06 02:13:13 +01:00
Tim-Philipp Müller
09a304b39a id3tag: rename new id3tag element to id3mux replacing the one removed from -ugly 2009-06-06 02:13:07 +01:00
Jan Schmidt
def9b999d9 nsf: Fix compiler warning on Solaris.
A SEC() macro already exists on Solaris, causing warnings about
redefining it.
2009-06-05 23:52:49 +01:00
Edward Hervey
0aa62012c6 hdvparse: Fix the build on Commander Thaytan's S10SP 2009-06-05 22:20:46 +02:00
Stefan Kost
4d9a0e832c camerabin: fix link order
Move local version up in the link order.
2009-06-05 21:29:46 +03:00
Edward Hervey
0e1ee9031a hdvparse: Emit a GST_MESSAGE_ELEMENT with some goodness in it. 2009-06-05 20:23:44 +02:00
Edward Hervey
37254a21f4 mpegvideoparse: Add methods to get names of various values. 2009-06-05 20:23:44 +02:00
Edward Hervey
22496517e0 mpegtsdemux: Fix HDV private stream definition/caps. 2009-06-05 20:23:44 +02:00
Edward Hervey
c4ef659ebd hdvparse: Rewrite from scratch. Handle both hdv-a and hdv-v
This time we analyze a lot more information.

Still need to re-add the message emission.
2009-06-05 20:23:44 +02:00
Lasse Laukkanen
6a47f6f594 camerabin: preview image sending optimization
* decouple image capturing from image post-processing and encoding
 * post image-captured message after image is captured
 * post preview-image message with snapshot of captured image
2009-06-05 15:51:31 +03:00
Lasse Laukkanen
bbf48697fb camerabin: don't lose post processing element in first reset 2009-06-05 15:51:31 +03:00
Lasse Laukkanen
683b72a5fe camerabin: add debug including dot graph writing 2009-06-05 15:51:31 +03:00
Lasse Laukkanen
430f343522 camerabin: unblock if error occurs during capture 2009-06-05 15:51:31 +03:00
Lasse Laukkanen
ca4bfb2e47 camerabin: ignore night mode handling if already in night mode 2009-06-05 15:51:31 +03:00
Lasse Laukkanen
cbcd4e3330 camerabin: stop ongoing capture if changing resolution 2009-06-05 15:51:30 +03:00
Lasse Laukkanen
cad76384b3 camerabin: limit the size of video bin queue leading to view finder
We don't want to show old buffers in view finder.
2009-06-05 15:51:30 +03:00
Lasse Laukkanen
3ff7128293 camerabin: don't proxy gst xoverlay interface
Default view finder sink in camerabin is autovideosink which doesn't
support xoverlay iface. If application decides to use another sink
that supports xoverlay, then it can use the interface directly.
2009-06-05 15:51:30 +03:00
Lasse Laukkanen
710faaef68 camerabin: allow configuring photography settings when in NULL state
Cache the photography settings if set in NULL state and apply them later
2009-06-05 15:51:30 +03:00
Lasse Laukkanen
53e6e4b0d5 camerabin: crop still image capture frame if necessary
If incoming still image capture frame aspect ratio differs from aspect
ratio that application requested, then apply crop to the frame.
2009-06-05 15:51:30 +03:00
Lasse Laukkanen
d8013c1b76 output-selector: serialize setting and actual changing of new active pad 2009-06-05 10:00:38 +03:00
Lasse Laukkanen
97ccdf9460 output-selector: unref latest buffer also when resending has been disabled 2009-06-05 10:00:29 +03:00
Lasse Laukkanen
ab169897b3 output-selector: keep ref to buffer for resending only if explicitly requested 2009-06-05 10:00:14 +03:00
Wim Taymans
eff6395328 inputselector: don't leak pads in iterator 2009-06-04 19:09:34 +02:00
Jan Schmidt
8eac0482fd mpegdemux: Add a GST_MEMDUMP line in the descriptor parsing
Make it possible to see descriptor contents in the debug output
(GST_DEBUG=mpegtsdesc:9), and remove a stray semi-colon.
2009-06-04 16:29:31 +01:00
Jan Schmidt
b8eb0d5dbb mpegtsdemux: Avoid passing the custom GST_FLOW_NEED_MORE_DATA upstream
Don't return GST_FLOW_NEED_MORE_DATA from the chain function at the end
of files.
2009-06-04 16:11:16 +01:00
Sebastian Dröge
a0ad632320 inputselector: Notify when the tags property of the selector sinkpads changes
First part of bug #584686.
2009-06-04 08:57:25 +02:00
Christian Schaller
b14110f1be dvdspu: add missing header to Makefile.am: gstspu-common.h 2009-06-02 11:23:37 +01:00
Tim-Philipp Müller
bb95218b73 aacparse: fix sample rate extraction from codec data
In one case we extracted the sample rate index from the codec data
and saved it as sample rate rather than getting the real sample
rate from the table. Fix that, and also make sure we don't access
non-existant table entries by adding a small helper function that
guards against out-of-bounds access in case of invalid input data.
2009-06-02 00:56:53 +01:00
Tim-Philipp Müller
52904d7175 aacparse, amrparse: remove bogus gst_pad_fixate_caps() calls 2009-06-02 00:56:53 +01:00
Tim-Philipp Müller
44cee1789c baseparse: propagate return value of GstBaseParse::set_sink_caps()
gst_base_parse_sink_setcaps() presumably should fail if the subclass
returns FALSE from its ::set_sink_caps() function.
2009-06-02 00:56:53 +01:00
Tim-Philipp Müller
279727d777 baseparse: don't try to GST_LOG an already-freed caps string
The proper way to log caps is via GST_PTR_FORMAT anyway.
2009-06-02 00:56:53 +01:00
Tim-Philipp Müller
f5a03ec2a6 aacparse: set channels and rate on output caps, and keep codec_data
Create output caps from input caps, so we maintain any fields we
might get on the input caps, such as codec_data or rate and channels.
Set channels and rate on the output caps if we don't have input caps
or they don't contain such fields. We do this partly because we can,
but also because some muxers need this information. Tagreadbin will
also be happy about this.
2009-06-02 00:56:52 +01:00
Mark Nauwelaerts
7f82fe3b46 gppmux: enhance ftyp brand heuristic. Fixes #584360. 2009-06-01 22:42:44 +02:00
Sebastian Dröge
7709bf5f2a shapewipe: Fix some issues that were exposed by the new unit test 2009-06-01 21:25:13 +02:00
Sebastian Dröge
6e9d79e08c shapewipe: Add documentation and integrate into the build system 2009-06-01 21:25:12 +02:00
Tim-Philipp Müller
7c5ff224fc sdpdemux: include glib.h before checking if G_OS_WIN32 is defined 2009-05-31 20:24:44 +01:00
Edward Hervey
c80da130d5 hdvparse: Setting rank to NONE so it doesn't get picked up by playbin2. 2009-05-31 18:23:50 +02:00
Edward Hervey
5df5059d56 hdvparse: Emit application message with the parsed information. 2009-05-31 18:23:08 +02:00
Edward Hervey
c6cd4d09e2 hdvparse: New element for parsing private/hdv-a1 streams. 2009-05-31 14:15:43 +02:00
Sebastian Dröge
01b8bacd1b shapewipe: Adjust border to still have everything transparent at 1.0 and the other way around 2009-05-29 21:07:26 +02:00
Sebastian Dröge
332dae7198 shapewipe: Divide the border value by two, otherwise we use a twice a wide border 2009-05-29 16:55:25 +02:00
Sebastian Dröge
19b4c4f335 shapewipe: Add border property to allow smooth borders
...and use a border of 0.01 in the example application.
2009-05-29 16:52:21 +02:00
Jan Schmidt
db7d1a7eeb mpegtsdemux: Fix bogus uninitialised variable access
Typo in the previous commit
2009-05-29 15:44:51 +01:00
Jan Schmidt
f3a9f52536 mpegtsdemux: Use the ISO 639 language code descriptor to send tags.
If there is an ISO 639 language descriptor for a stream, send a language
code tag so that players can show a meaningful language for the audio and
subtitle streams.
2009-05-29 15:07:11 +01:00
Sebastian Dröge
febef56cf2 shapewipe: Add a simple shapewipe transition filter & example application 2009-05-29 15:34:03 +02:00
Olivier Crête
f6be4da21d rtpbin: Transform the right session sdes message
Fixes #584165
2009-05-29 10:39:09 +02:00
Olivier Crête
71fe0d7bd3 Add ssrc to application/x-rtp-source-sdes structure 2009-05-29 10:39:09 +02:00
Tim-Philipp Müller
53eeb90c21 audioparse: add support for A-Law and µ-Law 2009-05-28 23:14:46 +01:00
Tristan Matthews
530377c40f gstspu: Fix compiler warnings on OS/X
Fix some warnings for format string args and uninitialized vars on OS/X
Fixes: #584164
Signed-off-by: Jan Schmidt <thaytan@noraisin.net>
2009-05-28 23:11:38 +01:00
Mark Nauwelaerts
f7f056c6b2 qtmux: use different stsd atom type for H263 for ISO and QT variants
Fixes #584114.
2009-05-28 13:56:38 +02:00
Mark Nauwelaerts
840955c226 amrparse: consider header size in byte <-> time conversions 2009-05-28 13:09:24 +02:00
Mark Nauwelaerts
c07be49896 baseparse: fix debug category 2009-05-28 13:08:42 +02:00
Stefan Kost
ff6bea9231 selector: remove not needed instance var (previous commit). 2009-05-28 10:38:50 +03:00
Stefan Kost
addb247436 outputselector: implement pad_alloc on active pad. 2009-05-28 10:15:50 +03:00
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