Commit graph

2421 commits

Author SHA1 Message Date
Aleksey Yulin
2db8d6ea0b mpegtsdemux: Don't use PIDs > MPEGTS_MAX_PID
The mpegtsdemux streams array only has MPEGTS_MAX_PID entries
and accessing one afterwards will result in crashes.

Fixes bug #575672.
2009-07-16 19:52:22 +02:00
Josep Torra
6303b0e80d pesfilter: Permit unbounded packets for 0xfd (extended stream id).
Added parsing of PES extension related data.
Fixes some VC1 related issues.
2009-07-16 16:05:41 +02:00
Zaheer Merali
1a6cd35c50 mpegtsparse: add component tag to structure for component message 2009-07-15 18:27:39 +01:00
Stefan Kost
aace8e130f camerabin: use nonbuffered io to save memcopies
We write large blocks anyway, so no extra buffering please. Also use one
g_object_set to set multiple properties on same object.
2009-07-15 17:44:10 +03:00
Stefan Kost
c73bf8e4b6 camerabin: track todo items 2009-07-15 12:20:17 +03:00
Stefan Kost
ff3ef9a92a camerabin: leave image/video bin in ready when changing mode 2009-07-15 11:20:30 +03:00
Sebastian Dröge
27d6b25695 amrparse: Sync baseparse changes 2009-07-14 14:10:55 +02:00
Sebastian Dröge
8e1c21f309 aacparse: Add function for the baseparse subclass to push buffers downstream
Also handle the case gracefully where the subclass decides to drop
the first buffers and has no caps set yet. It's still required to
have valid caps set when the first buffer should be passed downstream.
2009-07-14 14:10:03 +02:00
Sebastian Dröge
493535dd89 baseparse: Fix seek event leaking 2009-07-14 14:10:03 +02:00
Sebastian Dröge
b870322686 shapewipe: Add BGRA support for video in/output 2009-07-08 17:59:29 +02:00
Sebastian Pölsterl
fc80a08e44 mpegtsdemux: Fix double free
The hash table already makes sure that the stream is correctly
free'd when elements are removed.

Fixes bug #587819.
2009-07-08 15:27:48 +02:00
Miguel Àngel Farré
4266fd443a mpegtsparse: parse component tag 2009-07-08 10:34:02 +01:00
Miguel Àngel Farré
c90fccd986 mpegtsparse: parse carousel identifier descriptor 2009-07-08 10:33:44 +01:00
Zaheer Abbas Merali
66a5549094 mpegtsparse: add parsing of data broadcast descriptors 2009-07-08 10:33:29 +01:00
Zaheer Abbas Merali
2e6de387ac mpegtsparse: fix sdt parsing.
fix parsing of everything for each service from eit schedule flag on and also
add a running-status parameter to the bus message structure.
2009-07-02 15:58:00 +01:00
Sebastian Dröge
8fade13db1 shapewipe: Add support for ARGB video input/output 2009-07-02 11:27:31 +02:00
Wim Taymans
80856964b5 rtpbin: use new method for netaddress to string 2009-07-01 12:55:03 +02:00
Wim Taymans
4bc5e2f61e rtpbin: do better cleanup of the src ghostpads
Connect to the pad-removed signal of the ptdemux elements so that we remove the
ghostpads for them. Fixes cleanup when going to NULL as well as when releasing
the sinkpads.

Fixes #561752
2009-06-29 18:48:33 +02:00
Wim Taymans
6eb961e510 rtpsession: add a comment 2009-06-29 16:38:39 +02:00
Wim Taymans
f9cc6b7b1c rtpbin: add SDES property
Remove all individual SDES properties and use one sdes property that takes a
GstStructure instead. This will allow us to add more custom stuff to the SDES
messages later.
2009-06-29 16:37:54 +02:00
Wim Taymans
ed6002ada8 rtpbin: add SDES property that takes GstStructure
Remove all individual SDES properties and use one sdes property that takes a
GstStructure instead. This will allow us to add more custom stuff to the SDES
messages later.
2009-06-29 16:21:05 +02:00
Wim Taymans
5a50a4138e rtpbin: removed old gstrtpclient 2009-06-29 16:02:09 +02:00
Sebastian Dröge
0647d963ef frei0r: Correctly clean up elements to be reusable and not leak memory 2009-06-29 12:02:19 +02:00
Sebastian Dröge
72fca8a828 frei0r: In the filter plugins create the frei0r instances in create() before playback starts 2009-06-29 11:59:13 +02:00
Sebastian Dröge
0de4e9df00 frei0r: In the mixer plugins create the frei0r instances in create() before playback starts 2009-06-29 11:56:59 +02:00
Sebastian Dröge
166ee21b5b frei0r: In the src plugins create the frei0r instances in create() before playback starts 2009-06-29 11:54:26 +02:00
Sebastian Dröge
867d51fb31 frei0r: Use fixed caps on the filter pads
This is required because we have to create a new frei0r
instance for any caps changes and the instances can have history.
Just creating a new instance during playback can result in bad output
right after the caps change.
2009-06-29 11:50:44 +02:00
Sebastian Dröge
cd6422a372 frei0r: Set the default property values correctly 2009-06-27 09:52:22 +02:00
Stefan Kost
3d6d1c2ed2 camerabin: code cleanups
Downgrade a WARNING to INFO. Use a bit more compact code. Add a fixme comment.
2009-06-26 18:36:26 +03:00
Stefan Kost
59bfe55110 camerabin: just ref caps, we don't need a writable copy 2009-06-26 18:36:25 +03:00
Stefan Kost
df14237dba camerabin: no need to ref and unref this temporarily 2009-06-26 18:36:25 +03:00
Stefan Kost
c9208657b1 camerabin: don't leak sink_caps if they would be any-caps 2009-06-26 18:36:25 +03:00
Stefan Kost
a5e9a5eebc camerabin: don't leak preview images 2009-06-26 18:36:25 +03:00
Stefan Kost
9a692cf602 camerabin: don't leak viewfinder-caps 2009-06-26 18:36:25 +03:00
Stefan Kost
2f93fb8c73 camerabin: insert a few blank lines for readability 2009-06-26 18:36:24 +03:00
Stefan Kost
4ab9f800a8 camerabin: don't leak messages and element refs in preview 2009-06-26 18:36:24 +03:00
Changwoo Ryu
1ab8c008f3 freeze: don't build plugin static lib
Pass --tag=disable-static to libtool like we do for other plugins.
Fixes #587023.
2009-06-26 09:34:11 +01:00
Stefan Kost
e673b099d4 camerabin: don't leak requestpads
Requestpads need to be released and unreffed. Add a comment in one case where
we intentionaly don't unref.
2009-06-25 19:34:28 +03:00
Mark Nauwelaerts
8241b05038 capssetter: import element into -bad 2009-06-25 18:10:42 +02:00
Edward Hervey
1bb23517fe qtmux: Remove unused variable. 2009-06-25 08:38:21 +02:00
Edward Hervey
d6ff39bb35 qtmux: Fix debug statement. 2009-06-25 08:38:10 +02:00
Lasse Laukkanen
c3abf1b267 camerabin: buffer-alloc support fixes to image and video bin handling
Keep image bin in PAUSED state in image mode except when processing/saving (PLAYING/READY).
Change output-selector to view finder before setting video bin to READY.
Fix filename sent with img-done signal.
2009-06-24 19:01:01 +03:00
Lasse Laukkanen
18e7091238 camerabin: fix setting mute when video bin elements haven't been created 2009-06-24 18:58:17 +03:00
Lasse Laukkanen
8a39d28002 camerabin: set image bin to PAUSED when starting capture
Set image bin to PAUSED also when starting capture using photography
interface.
2009-06-24 18:58:16 +03:00
Lasse Laukkanen
a265e4d2b3 camerabin: leave v4l2camsrc "capture-mode" as video mode when pausing 2009-06-24 18:58:16 +03:00
Sebastian Dröge
6ba122834a shapewipe: Correctly handle 0/1 fps 2009-06-23 18:24:00 +02:00
Stefan Kost
74f065ee75 camerabin: add local include dir to CFLAGS 2009-06-22 23:49:03 +03:00
Stefan Kost
a971391906 camerabin: code cruft removal and debug logs
Remove unused code. Add lots of debug loging. Change comments for local
functions to not use /** gtk-doc start style.
2009-06-22 13:41:16 +03:00
Wim Taymans
1cf9f2d497 h264parse: detect and fix for bad NALU sizes
when in AVC mode a nalu size seems invalid, assume the NALU has the size of the
available data instead of looping forever.

Fixes #586354
2009-06-22 11:19:07 +02:00
Carl-Anton Ingmarsson
426a6eaba9 vdpau: change element rank for testing purposes
set mpegvideoparse rank to primary and vdpaumpegdec to primary - 1 to get vdpaumpegdec
correctly plugged into playbin
2009-06-20 15:21:40 +01:00
Branko Subasic
c70dbe94b5 rtpbin: add support for buffer-list
Add support for sending buffer-lists.
Add unit test for testing that the buffer-list passed through rtpbin.

fixes #585839
2009-06-19 19:10:35 +02:00
Mark Nauwelaerts
11dc33bea0 aacparse: ADIF: do not send bogus timestamps, leave to downstream (decoder) 2009-06-19 18:13:09 +02:00
Mark Nauwelaerts
e29be2546f qtmux: only use (64-bit) extended (mdat) atom size if needed. Fixes #585319. 2009-06-19 18:13:06 +02:00
Mark Nauwelaerts
5b672ed441 qtmux: set default movie timescale to microsecond units 2009-06-19 18:13:03 +02:00
Mark Nauwelaerts
d4b5c6ae5b qtmux: compress/optimize stsc writing 2009-06-19 18:13:00 +02:00
Mark Nauwelaerts
1aeb7d9b54 qtmux: add 3GP style tagging (and refactor appropriately) 2009-06-19 18:12:58 +02:00
Mark Nauwelaerts
b0c0651d7c qtmux (and variants): handle pixel-aspect-ratio. Fixes #584358. 2009-06-19 18:12:54 +02:00
Tim-Philipp Müller
98292e9efd Fix previous commit so that things still work with debug logs enabled 2009-06-19 17:04:48 +01:00
Tim-Philipp Müller
6eb167a176 Make build without warnings with debugging disabled 2009-06-19 16:21:28 +01:00
Sebastian Dröge
29aa30d9a0 frei0r: Make plugin scanning more robust 2009-06-19 11:03:16 +02:00
Sebastian Dröge
b30ebf0108 frei0r: Make sure to only register plugins that have valid propert types 2009-06-19 11:03:16 +02:00
Sebastian Dröge
abffe58d43 frei0r: Remove custom get_unit_size implementation
This is already handled by the default one from GstVideoFilter
2009-06-19 11:03:15 +02:00
Sebastian Dröge
ab0a9e3694 frei0r: Fix the klass of the filter elements 2009-06-19 11:03:15 +02:00
Sebastian Dröge
3aabf06c86 frei0r: Free type names 2009-06-19 11:03:15 +02:00
Sebastian Dröge
32a0af3e54 frei0r: Unref the GstCollectPads instance on finalize 2009-06-19 11:03:15 +02:00
Sebastian Dröge
15f1ccaef8 frei0r: Don't allow caps changes in PLAYING/PAUSED
Most frei0r source plugins generate output based on
previous output and creating a new instance on caps
changes will let the output start at 0 again.
2009-06-19 11:03:14 +02:00
Sebastian Dröge
d459b814f1 freir0: Add support for frei0r mixer plugins 2009-06-19 11:03:14 +02:00
Sebastian Dröge
6fc47a92df frei0r: Destroy the f0r_instance_t in stop() 2009-06-19 11:03:14 +02:00
Sebastian Dröge
455981d336 frei0r: Add the frei0r plugin type to the element name
This makes it easier to distinguish generators from filters, etc
2009-06-19 11:03:14 +02:00
Sebastian Dröge
e3afdb0bd5 frei0r: Add support for frei0r source/generator plugins 2009-06-19 11:03:14 +02:00
Sebastian Dröge
41869062c6 frei0r: Allow the complete double range for double properties
The spec restricts it to [0,1] but some plugins are using the
complete double range.
2009-06-19 11:03:13 +02:00
Sebastian Dröge
6ed5ac184b frei0r: Use better property nicks 2009-06-19 11:03:13 +02:00
Sebastian Dröge
0a684a3d04 frei0r: First version of a frei0r wrapper plugin
Currently this only supports frei0r filters.
2009-06-19 11:03:13 +02:00
Maximilian Högner
d45e804d5a scaletempo: Explicitely cast to signed integers to fix a segfault
Fixes bug #585660.
2009-06-19 11:02:00 +02:00
Sebastian Dröge
e4730e205f shapewipe: Implement basic QoS
This change is based on Tim's QoS implementation
for jpegdec.
2009-06-19 11:02:00 +02:00
Sebastian Dröge
02b9686463 shapewipe: Proxy queries on the video pads to the correct peers 2009-06-19 11:02:00 +02:00
Sebastian Dröge
09094f2f3d shapewipe: Proxy bufferalloc on the video sinkpad 2009-06-19 11:02:00 +02:00
Sebastian Dröge
80d5bd7168 shapewipe: Try to work inplace if possible
This saves one new, large allocation per frame for the
most cases.
2009-06-19 11:01:59 +02:00
Tim-Philipp Müller
3b99292629 mxfdemux: fix stray semicolons that mess up if statement 2009-06-18 21:17:24 +01:00
Stefan Kost
2bb31a8d4a camerabin: reset filename after capture to avoid racy when capturing again
If we don't reset the filename we cannot check if we still expect the filename
for a subsequent capture pass. The imagebin would good to paused and we set the
filename in that state. This trigers an error-message and would capture to the
old filename.
2009-06-16 19:14:25 +01:00
Stefan Kost
80408b1de2 camerabin: set imagebin to PAUSED on capture and delayed filename setting
We need to set imagebin to PAUSED to not fail the bufferalloc. We also need to
keep the filesinks state locked until we have the filename for the run.
2009-06-14 10:56:30 +03:00
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
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