Commit graph

2691 commits

Author SHA1 Message Date
Michael Smith
29fe6205ca id3mux: glib doesn't reliably null-terminate wide-character encodings in
g_convert, so write the null-terminator separately and explicitly.
2009-10-27 14:32:30 -07:00
Thiago Santos
c3aaf2a391 asfmux: fix tag writing bug
g_convert seems to add a single null terminating byte to
the end of the string, even when the output is UTF16, we
force the second 0 byte when copying to the output buffer.
This issue was causing random crashes because it was
assumed that the string resulting from g_convert had
2 extra bytes, but it has only one.
2009-10-27 16:39:56 -03:00
Jan Schmidt
32ebb79f0b autoconvert: Support installing identity as the initial child
Add the 'initial-identity' property, which inserts identity for
at startup for event passing, and replaces it with a new child
when the first buffer (and caps) actually arrives.

https://bugzilla.gnome.org/show_bug.cgi?id=599469
2009-10-27 12:23:24 +00:00
Jan Schmidt
55a3f6a08c autoconvert: Cache incoming new segment events and push to children.
Cache incoming new-segment info.

When installing a child element, inform it of the current segment info.

https://bugzilla.gnome.org/show_bug.cgi?id=599469
2009-10-27 12:23:24 +00:00
Jan Schmidt
ee8b143e95 autoconvert: Add some debug in factory caps intersection 2009-10-27 12:23:23 +00:00
Jan Schmidt
77e017143e autoconvert: Simple fixes.
Free the plugin feature list on dispose.
Output a debug message when downstream returns a fatal flow result
Fix awkward wording in a debug warning.
2009-10-27 12:23:23 +00:00
Jan Schmidt
de829eb7d0 autoconvert: Gratuitously move GST_OBJECT_LOCK into a macro
Create GST_AUTOCONVERT_LOCK/UNLOCK macros that (for now) just call
GST_OBJECT_LOCK.
2009-10-27 12:23:22 +00:00
Thiago Santos
1069712438 mpegvideoparse: check width/height range
Checks if the width/height that are to be set on src pad caps
are within valid range of [16,4096]
2009-10-26 09:04:49 -03:00
Thiago Santos
8db2821791 gppmux: Add support for 3gr6
Keep track of the chunk durations to be able to add 3gr6
brand if it is a faststart file and the longest chunk is
smaller than a sec. Implemented according to 3gpp
TS 26.244 v6.4.0 (2005-09)

Fixes #584361
2009-10-26 08:59:46 -03:00
Thiago Santos
2e9e240285 qtmux: Only push ftyp later (in faststart mode)
In faststart mode, there is no need to send the ftyp
right at the beginning of the stream. Waiting and sending it
only later (when the moov atom is ready to be sent) provides
us with more information about the stream and we can better
select the compatible brands.
2009-10-26 08:59:45 -03:00
Thiago Santos
5d63c26b08 qtmux: Improve error message
Improve error message when we can't get or estimate the
timestamp/duration of a buffer
2009-10-26 08:59:45 -03:00
Wim Taymans
ca6e2f1fa3 camerabin: fix build 2009-10-24 16:31:26 -04:00
Stefan Kost
8c0203ec36 camerabin: remove abbreviations from the property names. Fixes #573370 (partialy)
Also rename their use in tests and examples.
2009-10-24 15:14:26 +03:00
Stefan Kost
e1dccb6fd7 build: use gst-glib-gen.mak to fix the glib build rules.
The build rules in glib-gen.mak were using pattern rules in a non save way.
2009-10-24 15:14:26 +03:00
Stefan Kost
b890ecd83c camerabin: code cleanups
Align element initialisation. This should be re-thought, g_object_new zeros things already.
Harmonize the element getters for the src/sinks to return what we actualy use.
2009-10-24 15:14:26 +03:00
Tommi Myöhänen
fe70981023 camerabin: implement video preview creation
Completes preview creation mechanism to be able to provide a preview
image for video clips too.
2009-10-24 15:14:25 +03:00
Stefan Kost
52e314ef81 camerabin: set camerabin default sources/sinks like in playbin2. Fixes #574434
This uses same approach like in playbin, namely checking for user defined
element, auto{audio,video}{sink,src} and finally DEFAULT_{AUDIO,VIDEO}{SRC,SINK}
defines from config.h.
2009-10-24 15:14:25 +03:00
Tim-Philipp Müller
79fe732785 mpegpsmux: some minor build fixes
CLFAGS -> CFLAGS, and fix order of variables while we're at it.
2009-10-22 11:55:41 +01:00
Jan Schmidt
251afdee91 autoconvert: Take the object lock fewer times
When starting up and creating the list of element factories, only
take the object lock twice instead of 3 times.
2009-10-22 11:41:08 +01:00
Jan Schmidt
997f180b85 autoconvert: Don't hold the object lock when pushing
When pushing out cached events, don't hold the object lock. Avoids
deadlocks starting up DVD playback.
2009-10-22 11:41:07 +01:00
Michael Smith
2caac8d175 id3tag: actually write image to APIC tag. 2009-10-16 14:37:02 -07:00
Jan Schmidt
0fcf8001b1 autoconvert: Use gst_pad_peer_accept_caps instead of gst_pad_set_caps.
gst_pad_set_caps on the internal source pad always succeeds, because
caps propagate to the peer with buffers, not immediately. Using
gst_pad_peer_accept_caps properly checks whether the actual
sub-element can accept caps when they change.

https://bugzilla.gnome.org/show_bug.cgi?id=575568
2009-10-16 11:09:15 +01:00
Josep Torra
66b1cc9346 speed: fix warnings in macosx snow leopard 2009-10-11 13:13:56 +02:00
Josep Torra
fc0677a5a1 mpegvideoparse: fix warning in macosx snow leopard 2009-10-11 13:07:19 +02:00
Josep Torra
3fedf9e9a5 mpegdemux: fix warnings in macosx snow leopard 2009-10-11 12:56:29 +02:00
Josep Torra
093006d432 dtmf: fix warnings in macosx snow leopard 2009-10-11 11:35:23 +02:00
Josep Torra
dac26cb18f amrparse: fix warnings in macosx snow leopard 2009-10-11 11:27:08 +02:00
Josep Torra
e1a98f3454 aacparse: fix warnings in macosx snow leopard 2009-10-11 11:22:11 +02:00
Sebastian Dröge
3b32d37dd4 assrender/dvdspu: Increase ranks to PRIMARY 2009-10-09 13:18:31 +02:00
Sebastian Dröge
f50de89720 dvdspu: Include SubPicture in the classification 2009-10-09 09:21:06 +02:00
Stefan Kost
b7b8b7f407 build: fprintf, sprintf, sscanf need stdio.h 2009-10-07 15:26:12 +03:00
Sebastian Pölsterl
bf3cf014ab mpegtsparse: Ignore emphasis on/off bytes, and do fallback string encoding.
For fallback, try ISO 8859-9 encoding if ISO 6637 failed.
Add more debug calls.
2009-10-06 17:46:36 +01:00
Michael Smith
196acecc04 id3mux: Write UTF-16 byte order marker correctly. 2009-10-05 11:15:41 -07:00
Stefan Kost
2390d3a31c build: add missing stdlib include to fix the build 2009-10-02 19:12:32 +03:00
Alessandro Decina
8917a706da Fix a compiler warning. 2009-10-02 12:07:32 +02:00
Lasse Laukkanen
a0a4032ce8 camerabin: fix deadlock when error occurs at video recording startup 2009-10-01 18:06:55 +03:00
Tommi Myöhänen
0d48f73532 camerabin: handle preview-caps only in image mode and only when they change
This prevents camerabin to create preview pipeline every time when
application re-sets the same caps again.
2009-10-01 18:06:55 +03:00
Tommi Myöhänen
99f1f4510a camerabin: don't send multiple EOS events to video pipeline 2009-10-01 18:06:54 +03:00
Tommi Myöhänen
eb648817a4 camerabin: fix scene mode setting
Camerabin caches photography settings, but it didn't take into account
that scene mode setting may change other settings as well. So, config
needs to be read back from device after scene mode is set.
2009-10-01 18:06:54 +03:00
Tommi Myöhänen
dc267be4f7 camerabin: allow mode parameter setting in NULL state 2009-10-01 18:06:54 +03:00
Tommi Myöhänen
dacdd5d6c9 camerabin: allow capture resolution to be set in NULL state 2009-10-01 18:06:54 +03:00
Tommi Myöhänen
0f2be803b4 camerabin: fix image queue parameter setting
Camerabin incorrectly used G_GUINT64_CONSTANT macro for setting
"max-size-buffers" and "max-size-bytes" properties in image queue,
even when they aren't 64bit integers.
2009-10-01 18:06:53 +03:00
Tommi Myöhänen
3f90a4acfa camerabin: fix warning with g_object_get and join separate g_object_sets into one 2009-10-01 18:06:53 +03:00
Tommi Myöhänen
b2fc088c84 camerabin: reset active-pad in output-selector after READY state
Camerabin sets itself to READY state during resolution change. This
operation makes output-selector to forget its currently active pad,
so it must be set again after state change.
2009-10-01 18:06:53 +03:00
Lasse Laukkanen
7b62e11412 camerabin: don't reset capsfilters or zoom if error occurs
If an error occurs, application should set pipeline to NULL, and updating
zoom can actually block message handling if video device driver has failed
and video src element supports zooming using photography interface and S_CROP.
2009-10-01 18:06:53 +03:00
René Stadler
350a805b67 videomeasure: link with libm 2009-10-01 17:40:28 +03:00
Руслан Ижбулатов
05e059c624 Take offset gaps into account.
Prevents measurecollector from crashing when frame numbers are not consecutive.

Fixes bug #596285.
2009-09-30 18:51:55 +02:00
Marc-André Lureau
1adfafbe2c qtmux: fix flags_as_uint to flags[] 2009-09-30 16:53:20 +02:00
Jan Schmidt
25837289c4 dvdspu: Improve PGS parsing
Improve (slightly) the interpretation of PGS set-window blocks
to avoid printing warnings about unused bytes when there are multiple
window definitions.
2009-09-28 10:32:02 +01:00
Jan Schmidt
f248986ba4 dvdspu: Fix rendering and add guards
Fix the rendering when we hit the right hand side of the display
area, by resetting to the correct X coordinate, and add some more
guards against bad PGS data.
2009-09-28 10:32:02 +01:00
René Stadler
c45cc31c7d videosignal: change pattern data type to uint64, add property and message field
Keeps the old uint typed value support for compatibility.
2009-09-26 19:11:09 +03:00
René Stadler
b24d581c78 videosignal: allow pattern-count property to be 0 2009-09-26 19:11:09 +03:00
René Stadler
36ae3ad844 videosignal: add support for packed YUV formats 2009-09-26 19:11:09 +03:00
René Stadler
d171d713f3 videosignal: add support for all planar YUV formats, using gstvideo 2009-09-26 19:11:09 +03:00
René Stadler
5b87b537be videosignal: add bound checks 2009-09-26 19:11:09 +03:00
René Stadler
53defab4b2 videosignal: remove unused macros 2009-09-26 19:11:09 +03:00
Mark Nauwelaerts
c36e5950ba baseparse: sync baseparse change 2009-09-25 17:04:02 +02:00
Mark Nauwelaerts
6c9a9d3304 aacparse: forego (bogus) parsing of already parsed (raw) input 2009-09-25 17:04:00 +02:00
Sebastian Dröge
338f58e573 inputselector: Use new single iterator for the internally linked pads
This fixes a deadlock and removes some useless code.
2009-09-25 11:08:02 +02:00
Alessandro Decina
a17393fd34 Fix warnings with gcc 4.0.1. 2009-09-23 12:34:47 +02:00
Lutz Mueller
a744f8136b pnm: Handle ASCII encoded PNM data that is split over multiple buffers
Also:
- unref buffers after gst_buffer_span
- fix scanning of header if header data is split over several buffers

Fixes bug #595700.
2009-09-22 08:13:08 +02:00
Edward Hervey
4ceb3c5678 mpegtsparse: Specify that psi table is static const.
This avoids re-allocating it every single time we go into it.
Roughly 10% performance boost in overall tsparse processing time.
2009-09-21 12:13:03 +02:00
Zaheer Abbas Merali
bf34bdd3ab Revert "mpegtsparse: use fixed size array rather than dynamically allocating"
This reverts commit ae75b6f366.
2009-09-20 17:53:24 +01:00
Zaheer Abbas Merali
ae75b6f366 mpegtsparse: use fixed size array rather than dynamically allocating 2009-09-20 15:32:14 +01:00
Zaheer Abbas Merali
f9c4b3cce9 mpegtsparse: replace streams hashtable with an array of streams 2009-09-20 15:23:44 +01:00
Zaheer Abbas Merali
309eaafb04 mpegtsparse: unref caps on dispose, reset packet size on _reset 2009-09-20 14:12:59 +01:00
Zaheer Abbas Merali
ec100c87c7 mpegtsparse: make sure packetsize is set on caps of buffers 2009-09-20 13:25:53 +01:00
Zaheer Abbas Merali
bdf11016fa mpegtsparse: detect packetsize and don't just assume 188 bytes. 2009-09-20 13:25:34 +01:00
Edward Hervey
314e2dabd5 mpegtsparse: Don't use GstIterator, do change detection ourselves.
Using a GstIterator is slow because we have to create/destroy that
iterator every single time.
We just do the threadsafe cookie check and list iteration ourselves.
2009-09-19 12:49:47 +02:00
Edward Hervey
c224da54e4 mpegtsparse: Avoid type-checking casts in tight loops 2009-09-19 12:45:39 +02:00
Edward Hervey
8b981fba5c mpegtspacketizer: Make next_packet() return an enum.
This avoids calling an extra gst_adapter_available() in a tight loop.
2009-09-19 12:45:39 +02:00
Edward Hervey
bdc513b31e mpegtsparse: More branch prediction macros 2009-09-19 12:45:39 +02:00
Edward Hervey
879e00b969 mpegtspacketizer: Spread branch prediction macros 2009-09-19 12:45:39 +02:00
Edward Hervey
fcc4f8388c mpegtsparse/mpegtspacketizer: Register and use GQuark for structures. 2009-09-19 12:41:34 +02:00
Edward Hervey
d88af539f9 mpegtspacketizer: Initialize debugging in _get_type
There's no need for an extra function since all debuggin will require
a MpegTSPacketizer which means that the GType will be created, therefore
move the debug category initialization there.
2009-09-19 12:41:27 +02:00
Edward Hervey
56b71d6a48 mpegtspacketizer: memset structure instead of individually setting fields to 0 2009-09-19 12:32:21 +02:00
Edward Hervey
69aab98702 mpegtspacketizer: Remove g_return_if_fail
It's overkill for code only used by one element.
2009-09-19 12:32:17 +02:00
Edward Hervey
0ac7e16066 mpegtspacketizer/parse: Don't use gst_structure_to_string() for debugging.
There's GST_PTR_FORMAT for that, and too bad for the systems that don't have
support for that. It just costs too much cpu.
2009-09-19 12:32:10 +02:00
Edward Hervey
0daedae52f gst: Remove dead mpegtsparse directory.
This was seriously confusing. Also, the code is in gst/mpegdemux/
2009-09-19 12:31:52 +02:00
David Schleef
8c856cfb5a videomeasure: fix line endings 2009-09-18 19:11:19 -07:00
David Schleef
923a7e5256 videomeasure: fix distcheck 2009-09-18 19:11:19 -07:00
David Schleef
2506c3567c mpegtsdemux: Set DISCONT on buffers 2009-09-17 17:03:40 -07:00
Lutz Mueller
a4e438d193 pnm: Add ASCII decoding support
...and make the ASCII output of the encoder a bit more pretty.

Fixes bug #595409.
2009-09-17 09:39:10 +02:00
Lutz Mueller
f270259cc8 pnm: Support ASCII format for encoding and handle unsupported formats better in the decoder
Fixes bug #595215.
2009-09-16 08:23:37 +02:00
Jan Schmidt
50d08ce732 mpegdemux: Handle base_time when sending segment updates.
Don't send bogus new segment update events when the stream doesn't
start at 0. Fixes broken seeking in some files.

Fixes: #594812
2009-09-15 23:36:24 +01:00
Zaheer Abbas Merali
cb9ff89929 mpegtsdemux, mpegtsparse: max section length is 4093 not 1021. 2009-09-15 14:35:15 +01:00
Zaheer Abbas Merali
712ee57190 mpegtsdemux: add pad for DVB Subtitling pads 2009-09-15 14:35:15 +01:00
Sebastian Dröge
5b5ff07c28 pnm: Use correct rowstride for 8 bit grayscale too 2009-09-13 19:39:59 +02:00
Sebastian Dröge
f09b1adf70 pnm: Correctly convert from/to GStreamer rowstride 2009-09-13 19:33:57 +02:00
Sebastian Dröge
751843ff86 pnm: Fix caps
8 bit grayscale caps have no endianness field and the caps name
of GST_VIDEO_CAPS_RGB is still "video/x-raw-rgb" and not GST_VIDEO_CAPS_RGB.
2009-09-13 19:17:15 +02:00
Lutz Mueller
7f3e6f4965 pnm: Lots of bugfixes
(1) Fix examples.
(2) Add support for gray images.
(3) Remove "use_fixed_caps" which doesn't seem to be useful.
(4) Do proper negotiation in the encoder.
(5) Fix memleak in the setcaps function in the encoder.
(6) Keep a link to the src pad in the encoder now that we need it more often.

Partially fixes bug #164870.
2009-09-13 19:14:49 +02:00
Christian Schaller
1a54ae8ce7 Fix factory information for h264parse, add missing Video 2009-09-12 18:57:05 +01:00
Michael Smith
4066a87156 aiffparse: Fix an off-by-8 bug in parsing the AIFF data size.
This led to overreading by 8 bytes, giving an audible glitch at the end of
a file (except when the file didn't have a trailing chunk of some sort).
2009-09-11 14:40:20 -07:00
Edward Hervey
92ec711733 mpegtsdemux: Use GST_TIME_FORMAT in debug statement. 2009-09-11 15:19:17 +02:00
Edward Hervey
ddcd0e60b1 mpegtsdemux: Reset stream->last_time when flushing.
This fixes naive seeking a tiny bit (by basically hinting at _data_cb
that it shouldn't expect the incoming buffers to be the ones just after
the previous ones).

Without this, seeking by more than 10mins forward would just end up in an
endless loop.
2009-09-11 15:18:58 +02:00
Edward Hervey
7057f285cc mpegtsdemux: Sprinkle branch prediction macros. 2009-09-11 15:16:17 +02:00
Michael Smith
af6ea56cce id3tag: When writing id3v2.3, do not use UTF-8.
UTF-8 is only permitted in v2.4. So instead use ISO-8859-1 for ascii-only
strings, and UTF16 otherwise. Also, do not null terminate strings in text
frames, except where required. These two allow windows media player to play
(and correctly read tags) files created by id3mux.
2009-09-10 12:14:28 -07:00
Michael Smith
29c3542dd5 adpcmdec: complete ima adpcm support. 2009-09-10 12:14:28 -07:00
Michael Smith
e90934dab3 adpcmdec: checkpoint for incomplete IMA ADPCM support. 2009-09-10 12:14:28 -07:00
Sebastian Dröge
2a7ee0716f videomeasure: Fix format strings and include correct i18n header 2009-09-10 12:03:49 +02:00
Sebastian Dröge
bdbd944c52 videomeasure: Fix indention, line endings and use LRN's real name 2009-09-10 12:03:48 +02:00
Руслан Ижбулатов
e9297ba3eb videomeasure: Initial version of videomeasure plugin
This plugin contains elements for calculating metrics of video streams, intended for objective video codec comparison.
At the moment only SSIM metric is implemented (why would you need anything else anyway?).
Also contains a helper videomeasure_collector element that collects measurement events and outputs them into a file (to be used with gst-launch).
Other metrics may be implemented in the future along with a base class for all measurers.

Fixes bug #594321.
2009-09-10 12:03:32 +02:00
Sebastian Dröge
58a5e422b6 pnmdec: Partially fix negotiation issues and refcount leaks 2009-09-10 08:53:46 +02:00
Sebastian Dröge
cfb04acde5 pnmenc: Fix negotiation issues and refcount leaks 2009-09-10 08:48:12 +02:00
Sebastian Dröge
77e989f498 pnm: Fix typefinder caps 2009-09-10 08:29:06 +02:00
Lutz Mueller
59b6d933da pnm: Add PNM encoder and decoder elements
Fixes bug #164870.
2009-09-10 08:23:22 +02:00
Havard Graff
f0f80f81d9 outputselector: make GST_FORMAT_TIME the default segment format 2009-09-08 17:53:34 +02:00
Sebastian Dröge
15796d66bb mpegtsdemux: Fix usage of __always_inline__ attribute
This attribute can't be used for function declarations because
it needs the function body. Instead of a forward declaration of
functions, move the function itself above it's first use.

Fixes bug #594489 and compilation with gcc 4.3 and earlier.
2009-09-08 15:20:14 +02:00
Mark Nauwelaerts
5658b2912b mpeg4videoparse: fix aspect-ratio parsing in VO 2009-09-07 19:10:18 +02:00
Mark Nauwelaerts
5b1ed7d42c mpeg4videoparse: also consider user_data pieces when parsing VO(S) 2009-09-07 19:10:02 +02:00
Wim Taymans
6e9904fa8a siren: fix setting caps on the output pad
Also set the caps on the output pad when the input buffers don't have caps.
2009-09-04 17:32:34 +02:00
Josep Torra
7fa795a725 mpegpsdemux: in seeking use a factor for SCR interpolation
Fixes seeking on clips where PTS are unalignded with SCR.
2009-09-04 12:56:03 +02:00
Wim Taymans
d557572e66 sirendec: rewrite sirendec
Add setcaps and event functions.
Add state change functions to clean variables.
Use adapter.
Add timestamps and duration on outgoing buffers.
Add DISCONT handling.
2009-09-04 12:43:49 +02:00
Wim Taymans
ef999c5df7 sirenenc: cleanups 2009-09-04 12:43:48 +02:00
Josep Torra
b60d71482f mpegtsdemux: set specific caps for lpcm in private stream
In the clips that I've found those streams, the lpcm header is
different than the DVD case.
Then the decoder need to know this in order to be able parse it.
2009-09-04 12:35:31 +02:00
Josep Torra
659e90f8f6 mpegtsdemux: added autodetect of packet size and removed m2ts mode property 2009-09-04 12:30:18 +02:00
Josep Torra
c67dc212bf mpegtsdemux: some more handling of VC1 and EAC3
If the PMT have the register descriptor HDMV assume EAC3
For VC1 make the code more aligned to RP227.
2009-09-04 12:02:18 +02:00
Vincent Penquerc'h
bf4c1f3541 Try to fit subtitles within the video frame when they're too large 2009-09-04 09:13:34 +02:00
Olivier Crête
a333fef08c pcapparse: Set the GStreamer timestamp according to the pcap timestamps 2009-09-03 13:39:36 -04:00
Wim Taymans
00f395e82f sirenenc: fix events and caps
Add an event function that clears the adapter.
Add a setcaps function to configure caps on the srcpad. Remove the instance
variable for the caps.
2009-09-03 19:04:33 +02:00
Wim Taymans
823f06f039 sirenenc: fix timestamping
Handle DISCONT and reset adapter.
code cleanups.
Put timestamps and discont flags on output buffers.
Fix error handling.
Remove bogus object locks, it's all protected by the STREAM_LOCK.
2009-09-03 18:45:31 +02:00
Sebastian Dröge
77fa16cf44 mpegtsdemux: If stream type is AC3 and no EAC3 descriptor is found assume AC3 2009-09-03 15:46:27 +02:00
Josep Torra
1e865242a7 mpegtsdemux: Implement EAC3 handling according some ATSC specs.
Fixes bug #594030.
2009-09-03 15:46:27 +02:00
Tim-Philipp Müller
3bb2efeea0 xdgmime: move xdg typefinder to the other typefinders in -base
Remove the xdgmime plugin which now barely contains any code at all
and move the functionality into gst-plugins-base next to the other
typefinders.
2009-09-03 00:28:16 +01:00
Tim-Philipp Müller
95d894fd96 mpegsmux, mpegpsmux: fix unused variable warning with the debugging system in core disabled 2009-09-02 13:37:47 +01:00
Sebastian Dröge
3f35ef4584 mpegtsdemux: Stream type 0x81 is normal AC3, not EAC3
Not sure what the stream type for EAC3 is though.

Fixes bug #593059.
2009-09-01 12:56:12 +02:00
Tim-Philipp Müller
10d67eda7a GstAdapter is not a GstObject and should be freed with g_object_unref() 2009-08-31 13:14:02 +01:00
Tim-Philipp Müller
d94d572e16 mpegtsmux: use an old-fashioned array instead of GPtrArray for mux->programs
Using GPtrArray for a fixed-sized array is a bit pointless and makes
for ugly code.
2009-08-31 13:00:04 +01:00
Sebastian Dröge
f3e2864f4c mpegpsmux: Add missing files to fix compilation
Fixes bug #593625.
2009-08-31 10:48:35 +02:00
Lin YANG
e453e599af mpegtsmux: Minor fixes 2009-08-31 09:19:23 +02:00
Lin YANG
3ca8288c5b mpegtsmux: mux->programs: use GPrtArray instead of GArray 2009-08-31 09:19:17 +02:00
Lin YANG
5b0b69a858 mpegtsmux: mpegtsmux_collected(): calculate PCR for programs 2009-08-31 09:19:12 +02:00
Lin YANG
b67ed24676 mpegtsmux: mpegtsmux_create_streams(): create multi streams 2009-08-31 09:19:00 +02:00
Lin YANG
451275714c mpegtsmux: MpetTsPadData: add prog_id and ref to its program 2009-08-31 09:18:53 +02:00
Lin YANG
ee31988c7a mpegtsmux: Extend mux->program to a GArray programs 2009-08-31 09:18:48 +02:00
Lin YANG
9f90dfee3e mpegtsmux: Add new property prog-map to the muxer 2009-08-31 09:18:40 +02:00
Sebastian Dröge
baced65049 h264parse: Free the PPS buffers too 2009-08-31 09:15:09 +02:00
Lin YANG
d520e426b0 h264parse: compute timestamp 2009-08-31 09:15:09 +02:00
Lin YANG
9c08ece157 h264parse: recognize more types of NAL
Also recognizes NALs carrying VCL (i.e. visible pictures). We
typically only compute timestamps for such NALs
2009-08-31 09:15:09 +02:00
Lin YANG
550f60111c h264parse: parser init & finalize 2009-08-31 09:15:08 +02:00
Lin YANG
d0273eec2c h264parse: decode slice header 2009-08-31 09:15:08 +02:00
Lin YANG
62ac493c5c h264parse: decode SEI 2009-08-31 09:15:08 +02:00
Lin YANG
dc696c4ffb h264parse: decode SEI: picture timing info 2009-08-31 09:15:08 +02:00
Lin YANG
d061c0a0d1 h264parse: decode SEI: buffering period 2009-08-31 09:15:07 +02:00
Lin YANG
ba5a75d551 h264parse: decode PPS 2009-08-31 09:15:07 +02:00
Lin YANG
2531e5f584 h264parse: decode SPS 2009-08-31 09:15:07 +02:00
Lin YANG
90dfda0f46 h264parse: SPS: decode vui params 2009-08-31 09:15:07 +02:00
Lin YANG
2d50657635 h264parse: SPS: decode hrd params 2009-08-31 09:15:06 +02:00
Lin YANG
e55fb077e6 h264parse: Start slice header parsing work 2009-08-31 09:15:06 +02:00
Lin YANG
e1cfd384d6 h264parse: Start SEI parsing work 2009-08-31 09:15:06 +02:00
Lin YANG
397abd5741 h264parse: Start PPS parsing work 2009-08-31 09:15:05 +02:00
Lin YANG
196b8240e2 h264parse: Start SPS parsing work 2009-08-31 09:15:05 +02:00
Lin Yang
adb4130e65 mpegpsmux: Add MPEG PS muxer 2009-08-31 09:14:32 +02:00
Sebastian Dröge
53128c5b4f mxf: Unconditionally use GLib 2.16 API 2009-08-31 08:14:11 +02:00
Sebastian Dröge
182e751b5d xdgmime: Always use GLib instead of xdgmime
Now that we depend on GLib 2.16 we can as well use it's
internal copy of the xdgmime instead of our own.
2009-08-31 08:14:10 +02:00
Sebastian Dröge
b7534074e2 id3tag: Unconditionally use GLib 2.16 API 2009-08-31 08:14:10 +02:00
Sebastian Dröge
ca55cda9b9 inputselector: Use iterate internal links instead of deprecated get internal links 2009-08-31 08:14:10 +02:00
Руслан Ижбулатов
09b2abf87b resindvd, rawparse: fix LDFLAGS for gst-plugins-base libs
Fixes #593063.
2009-08-25 23:55:41 +01:00
Thiago Santos
c83615fca9 asfmux: Do not mess up GstCollectData list
asfmux was messing up with the GstCollectData list of its
GstCollectPads when sorting the list inplace. This patch makes
it copy the list before sorting it, leaving the GstCollectPads
list as is. Fixes #591610
2009-08-12 19:17:37 -03:00
Olivier Crête
402aad7e87 dtmfsrc: Empty event queue on finalize 2009-08-12 17:08:01 -04:00
Olivier Crête
329b7b9849 dtmf: Use GSlice for internal event structures 2009-08-12 17:08:01 -04:00
Tim-Philipp Müller
a2ea288a02 rtpdtmfsrc: Cleanup events on finalize
Problem found by Laurent Glayal

Fixes bug #591440
2009-08-12 17:08:01 -04:00
Tim-Philipp Müller
0d697e8b58 rtpdtmfsrc: Cleanup events on finalize
Problem found by Laurent Glayal

Fixes bug #591440
2009-08-12 17:08:01 -04:00
Tim-Philipp Müller
a6912096cd Move rtpmanager from -bad to -good. 2009-08-11 09:30:31 +01:00
Tim-Philipp Müller
1691621faf Remove execute flags from source files 2009-08-10 22:16:37 +01:00
Sebastian Dröge
cb1f2f2294 autoconvert: Cache events and send them downstream once an element was selected 2009-08-09 15:20:48 +02:00
Sebastian Dröge
abe33a5526 autoconvert: Small cleanups 2009-08-09 14:55:26 +02:00
Sebastian Dröge
6115e0cb0e mpegtsdemux: Don't answer the SEEKING query if we don't know the answer yet
A bitrate!=-1 is required for seeking but the bitrate is only calculated
after the second PCR was read.

Fixes bug #590446.
2009-08-08 22:14:53 +02:00
Sebastian Dröge
282479b443 videoparse: Only provide very fundamental caps in the pad template
We can't easily know which caps will can be used because we rely on
libgstvideo's support for video formats.
2009-08-08 10:30:11 +02:00
Sebastian Dröge
5c11f80c04 rawparse: Small cleanups and implement SEEKING query 2009-08-08 10:27:52 +02:00
Sebastian Dröge
60a5d37683 audioparse: Small cleanups 2009-08-08 09:08:16 +02:00
Sebastian Dröge
8433f7a9c6 videoparse: Use libgstvideo for everything instead of our own calculations
Also make RGB usage easier by providing xRGB, RGBx, etc. formats
instead of requiring to set red_mask and friends.
2009-08-08 09:08:16 +02:00
Josep Torra
9861908926 mpegtsdemux: fix a memory leak 2009-08-07 19:12:26 +02:00
Josep Torra
1a9b54b781 mpegtsdemux: added VC1, EAC3 and LPCM related to blueray/hdmv 2009-08-07 19:00:23 +02:00
Josep Torra
da95f4a873 mpegpsdemux: added caps for AAC and fixed playback of a clip with LPCM 2009-08-07 18:35:42 +02:00
Josep Torra
3c22fb611b mpegpsdemux: improved demuxer performance
Increased performance doing pull_range in blocks of 32Kb instead of 4Kb.
Caching the value of gst_adapter_available instead of calling it 3 times.
Added some comments with the header descriptions.
Peek enough data to avoid a corner case where could be readed data outside
the buffer.
Speed up some more inlining some functions and keeping another stream pointer
list to be used as iterator.
Sprinkle branch prediction macros accross the code.
Handling the seeking with flush in pull mode in the proper way.
2009-08-07 18:17:28 +02:00
Mark Nauwelaerts
222322e7f3 baseparse: prevent infinite loop when draining 2009-08-07 13:09:24 +02:00
Mark Nauwelaerts
1f2a0d3b3d baseparse: fix minor memory leak 2009-08-07 13:09:20 +02:00
Mark Nauwelaerts
1f9525d821 flacparse: sync baseparse (some more) 2009-08-07 13:09:15 +02:00
ric
15b29bb834 rtpsource: avoid buffer leak on bad seqnum
Fixes #590797
2009-08-06 19:27:20 +02:00
Sebastian Dröge
3f6e84ec61 mpeg[pt]sdemux: Fix SEEKING query
Send the BYTES based query downstream, not the orignal one.
2009-08-05 09:36:00 +02:00
Jan Urbanski
5a596e67da qtmux: Don't require endianness field for 8 bit raw audio
Fixes bug #590360.
2009-08-04 12:58:35 +02:00
Tim-Philipp Müller
2e7b6e44db flacparse: remove internal bitreader and bytereader now that these are in libgstbase 2009-07-31 16:36:54 +01:00
Tommi Myöhänen
b658293925 outputselector: check for pending srcpad in _get_property()
If there is a pending srcpad, return it instead of active srcpad
in gst_output_selector_get_property() function.
2009-07-31 14:07:31 +03:00
Tommi Myöhänen
89788ddc1f camerabin: Set camerasrc to READY state instead of PAUSED when acquiring allowed caps 2009-07-31 14:07:24 +03:00
Thiago Santos
88e399aac2 rtpasfpay: set padding field to 0 on rtp asf packets
The ASF RTP spec demands that packets have their padding removed
and the padding size field set to 0 for packets when puting them
inside the RTP packets
2009-07-31 00:19:19 -03:00
Thiago Santos
7583bf6813 asfmux: Set video stream seekable property to true
Video stream always have indexes, so they are all seekable
2009-07-30 10:33:05 -03:00
Thiago Santos
c271548aab asfmux: Removing useless TODOs
After testing in windows and linux, this audio correction field
made no difference so far. All example files I got only had
zeroes in this field
2009-07-30 10:33:05 -03:00
Thiago Santos
80196e1bb8 asfmux: Fixes video stream properties object
Fixes stream properties object creation for video content
2009-07-30 10:33:04 -03:00
Thiago Santos
d86de48fa1 asfmux: accept pad requests a little longer
asfmux now start rejecting pad requests after it pushes the first
buffer, before this, it was rejecting after going to paused
2009-07-30 10:33:04 -03:00
Thiago Santos
7dd441f8f5 asfmux: adds support to vc-1 streams 2009-07-30 10:33:03 -03:00
Olivier Crête
0672f2d9b2 rtpmux: Remove empty finalize 2009-07-29 17:24:59 -04:00
Thiago Santos
fb624bd416 asfmux: Forcing pad names to be video_%02d and audio_%02d like 2009-07-28 21:37:04 -03:00
Wim Taymans
9232e2278c rtpsource: allow for NULL caps on buffers
Add the NULL caps check where it matters and also cover another case of
potential NULL caps.

Fixes #590030
2009-07-28 18:18:20 +02:00
Olivier Crête
03348629ce rtpsource: Incoming buffers do not always have caps 2009-07-28 18:16:12 +02:00
Tommi Myöhänen
2d9bdb933d camerabin: photo iface setter functions return TRUE when used in NULL state
We cache the values and apply then when possible.
2009-07-28 09:53:22 +03:00
Tommi Myöhänen
01a7532900 camerabin: do not put video pipeline into READY when start recording camerabin: remember probe IDs and disconnect them when destroying pipelines 2009-07-28 09:53:22 +03:00
Wim Taymans
ffe90f81a4 rtpsession: avoid doing lip-sync in BYE
When we get a BYE packet, don't do lip-sync with the SR inside because some
senders have trouble constructing valid SR packets after BYE.
2009-07-27 15:49:54 +02:00
Wim Taymans
9b1bdac9cc rtpbin: don't do lip-sync after a BYE
After a BYE packet from a source, stop forwarding the SR packets for lip-sync
to rtpbin. Some senders don't update their SR packets correctly after sending a
BYE and then we break lip-sync. We prefer to let the jitterbuffers drain with
the current lip-sync instead.
2009-07-27 13:17:20 +02:00
Wim Taymans
7bd35cb8c7 rtpbin: only reconsider once for BYE
When iterating the sources of a BYE packet, don't signal a reconsideration for
each of them but signal after we handled all sources.
2009-07-27 12:43:02 +02:00
Thiago Santos
2641cd9d94 asfmux: Adds new plugin asfmux
Adds the brand new asfmux plugin, containing 3 elements:
asfmux, rtpasfpay and asfparse. This plugin was developed
as a GSoC 2009 project, with David Schleef as the mentor and
Thiago Santos as the student.
2009-07-24 14:52:28 -03:00
Sebastian Dröge
da7263b51f mpegdemux: Remove some backward compatibility code
Also we always require liboil so use it unconditionally.
2009-07-23 09:58:38 +02:00
Sebastian Dröge
d8b285d7fd mpegdemux: Implement query type function for the src pads 2009-07-23 09:53:29 +02:00
Olivier Crête
2abe07f963 rtpsession: Free conflicting addresses on finalize 2009-07-22 14:19:57 -04:00
Olivier Crête
d555d570e6 rtpmux: Free the pad private data on pad release
Free the pad private data on pad release instead of using a weak ref,
which is not thread safe. Also, lock the content of the pad private using the element's
object lock.
2009-07-22 14:19:57 -04:00
Tim-Philipp Müller
277327e4e5 docs: add pcapparse to docs 2009-07-22 11:45:56 +01:00
Stefan Kost
5e6edd7e7b mpegdemux: don't add a base_time==-1 to segment positions
Fixes assertion about newsegment with start=-1.
2009-07-22 00:33:22 +03:00
Stefan Kost
43657ef1f3 camerabin: small speedup in software zoom
Force crop on even pixel position to avoid slowpath in crop & scale.
2009-07-21 17:52:33 +03:00
Sebastian Dröge
86af4924cc mxfdemux: Implement SEEKING query 2009-07-21 13:51:20 +02:00
Sebastian Dröge
95e50d3598 mpegpsdemux: Implement SEEKING query
Fixes bug #588944.
2009-07-21 13:39:21 +02:00
Sebastian Dröge
1f88ceeba8 mpegtsdemux: Implement SEEKING query
Partially fixes bug #588944.
2009-07-21 13:33:58 +02:00
Sebastian Dröge
e3f08983aa mpegtsparse: Free the PMT before setting a new one 2009-07-21 13:18:10 +02:00
Mikael Magnusson
6233d1c950 mpegtsparse: Remove old PES PIDs when receiving PAT tables
Fixes bug #583470.
2009-07-21 13:18:09 +02:00
Stefan Kost
a80921e334 camerabin: log formats in preview image conversion 2009-07-20 16:42:44 +03:00
Stefan Kost
64457575e7 camerabin: remove unused variable assignment
Result is not needed here, but variable is used later on. Also remove double new
lines in function.
2009-07-20 16:42:43 +03:00
Stefan Kost
ebc417f769 fpsdisplaysink: check query return result before using it 2009-07-20 16:42:43 +03:00
Tim-Philipp Müller
114425d7ee real: differentiate between 'module does not exist' and genuine module opening errors
Don't log a GST_ERROR if one of the codec modules we were looking for
doesn't exist. That's not a genuine error, but somewhat expected.
2009-07-19 15:42:10 +01:00
Matijs van Zuijlen
01200712ea mpegdemux: Fix integer overflow
This breaks playback of files >4 GB as the offset was
a guint before. Changing it to a guint64 fixes this.
2009-07-18 08:44:58 +02:00
Stefan Kost
4ef918df28 camerabin: use gst_caps_replace instead of separate calls
This fixes setting snapshot caps back to NULL also.
2009-07-17 15:50:19 +03:00
Zaheer Merali
3d44d92630 mpegtsparse: add component tag to the video component structure in eit 2009-07-17 09:40:12 +01:00
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