Commit graph

2448 commits

Author SHA1 Message Date
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