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