Edward Hervey
188725811f
matroska: Fix unitialized variable.
...
Yes, it's stupid, but macosx compilers are even more stupid.
2009-12-18 12:46:06 +01:00
Mark Nauwelaerts
c9a0d2339e
matroskademux: also consider BlockNumber indicated in index when seeking
2009-12-16 12:48:02 +01:00
Mark Nauwelaerts
900ff7247e
matroskademux: support push based mode
...
Fixes #598610 .
2009-12-16 12:46:40 +01:00
Tim-Philipp Müller
b66f914586
matroska: fix language code writing and extraction
...
Matroska uses three-letter ISO 639-2B codes, but GST_TAG_LANGUAGE is
supposed to contain two-letter ISO 639-1 codes, so use new language
code mapping functions in -base to convert between those two as
needed.
Fixes #505823 .
2009-12-13 12:51:13 +00:00
Sebastian Dröge
cd888c0531
matroskademux: Clean up position/duration handling
...
Also use the last end time for closing the segment, not the
start time of the last buffer.
2009-12-09 20:42:44 +01:00
Sebastian Dröge
0766a54138
matroskademux: Close the segment on EOS if the real duration is known
2009-12-09 16:50:02 +01:00
Sebastian Dröge
5ca96043ff
matroskademux: Update duration if current buffer is already after the old duration
2009-12-09 16:46:18 +01:00
Sebastian Dröge
c9b1ab53fe
matroskademux: Drop buffers that are after segment stop
...
...and if this happened for all streams go EOS.
2009-12-09 16:43:41 +01:00
Sebastian Dröge
276a61ab2a
matroskademux: Fix position tracking and sending of filler segments
2009-12-09 16:41:04 +01:00
Sebastian Dröge
3ddb75e3c5
matroskademux: Keep the segment stop position for update newsegment events
2009-12-08 17:34:15 +01:00
Tim-Philipp Müller
d0b25845ec
matroskademux: only send pending tags with newsegment events
...
Send pending tags only from the streaming thread, just after we've sent
the newsegment event, not with e.g. flush-start. This not only does the
right thing, but also makes sure we're not trampling over variables set
up in the streaming thread from the seeking thread in case someone tries
to issue a seek just as the demuxer is parsing the headers.
Fixes #601617 . Spotted by Ognyan Tonchev.
2009-12-04 11:13:31 +00:00
Thiago Santos
959a3f9c95
matroskademux: Fix late tags finding
...
Use the correct taglist variable when notifying of late tags.
2009-10-14 11:33:24 -03:00
René Stadler
c40cb18762
matroskademux: fix strstr() usage on possibly unterminated string
2009-10-08 23:31:07 +03:00
Sebastian Dröge
650292706d
matroskademux: Change one GST_WARNING to a GST_DEBUG
2009-10-03 12:21:34 +02:00
Mark Nauwelaerts
02581dd2a5
matroskademux: use proper order for no-more-pads and newsegment and tag sending
2009-09-23 17:24:22 +02:00
Mark Nauwelaerts
702df566c3
matroskademux: sprinkle a few branch prediction macros
2009-09-23 17:24:22 +02:00
David Schleef
55d2754098
Remove Ronald Bultje from Authors field
...
Replaced with "GStreamer maintainers
<gstreamer-devel@lists.sourceforge.net>" or just removed,
depending on the number of other authors.
2009-09-05 20:53:10 -07:00
Sebastian Dröge
b35b752c41
matroskademux: Correctly handle NULL GstIndex
2009-09-04 07:10:03 +02:00
Edward Hervey
d29ba8d48f
matroska: remove dead assignments
2009-08-10 09:58:33 +02:00
Thiago Santos
08862850a7
matroska: Adds support to muxing/demuxing WMA
...
Adds support for muxing wma audio family and fixes
demuxing of wma family in matroskademux. matroskademux
was broken because it missed codec_data.
2009-08-09 20:34:05 -03:00
Vincent Penquerc'h
19b7001bf9
matroska: add kate subtitle support to matroska muxer and demuxer
...
See #525743 .
2009-08-08 12:54:48 +01:00
Sebastian Dröge
b7bf2f6820
matroskademux: Answer SEEKING queries in the original format
2009-07-21 07:52:00 +02:00
Sebastian Dröge
bb03d8ff18
matroskademux: Implement SEEKING query
2009-07-20 16:52:19 +02:00
Wim Taymans
8a4dc37544
matroske: fix compiler error
...
change gpointer to guint8 * for codec_state and codec_priv as some
functions operate on those types and it avoids breaking strict-aliasing
rules.
2009-06-23 14:32:43 +02:00
Wim Taymans
9600c54938
matroskademux: avoid leaking buffers
...
Don't leak buffers when resyncing to a keyframe.
Avoid leaking buffers when exiting the loop on error conditions.
Add some more debug info.
Fixes #585911
2009-06-23 12:42:33 +02:00
Tim-Philipp Müller
323517f527
matroska-demux: post container-format tags
2009-06-22 10:49:01 +01:00
Sebastian Dröge
fc9779bd86
matroskademux: Fix leaking of the Matroska TITLE element
2009-06-17 07:14:09 +02:00
Sebastian Dröge
afbe123e33
matroskademux: Populate a GstIndex that is set on matroskademux
2009-05-22 19:41:59 +02:00
Jan Schmidt
66149475bd
matroskademux: Recognise PGS subpicture streams - the bluray format.
...
Recognise and apply appropriate caps to PGS (Presentation Graphic Stream)
subpicture streams.
2009-05-21 21:23:49 +01:00
Sebastian Dröge
a1fe742e80
matroskademux: Only search for the index entry once
2009-05-11 18:21:13 +02:00
Sebastian Dröge
4cb39bc723
matroskademux: Use the first index entry if it's after the seek position
2009-05-11 18:18:36 +02:00
Sebastian Dröge
e4909b37eb
matroskademux: Improve/optimize seeking
...
First of all a keyframe seek should be done to the
keyframe right before the requested position and not
to the keyframe that is nearest to the requested position.
Use per track index arrays and use our new binary search function
from core to speed up the search.
2009-05-11 15:36:46 +02:00
David Schleef
f01adcbc0f
matroska: fix printf format to agree with argument
2009-05-09 10:50:45 -07:00
Wim Taymans
bdbdb41e93
matroskademux: add some debugging
2009-05-07 17:10:43 +02:00
Wim Taymans
e4b59136fa
matroskademux: parse xiph headers length correctly
...
See #580980
2009-05-07 17:10:43 +02:00
Edward Hervey
b28c6ca0fb
matroskademux: Remove useless variable.
...
iret was never read outside of that loop, and is always being exited if
iret was != GST_FLOW_OK anyway.
2009-04-18 18:51:28 +02:00
Sebastian Dröge
108774781d
Add initial support for muxing/demuxing Speex audio
...
Note: This is not in the Matroska spec yet
Fixes bug #578310 .
2009-04-13 14:03:03 +02:00
Stefan Kost
5ac6b84475
matroska: don't alter passed data and especialy don't leak.
...
If we need different size, Make a copy, work with that and free it.
2009-03-31 17:06:50 +03:00
Stefan Kost
9b8f1cbaa2
matroska: don't leak read data in demuxer
2009-03-31 11:57:36 +03:00
Edward Hervey
1846e0af0f
matroskademux: Remove gst_util_dump_mem() calls.
2009-02-27 11:04:08 +01:00
Sebastian Dröge
a7c2b13543
matroskademux: Unref the buffer and not the memory address of the buffer
2009-02-22 19:25:39 +01:00
Robin Stocker
7353cdc029
Read Matroska Title element for the TITLE tag
...
Not all Matroska files have a Tags element which contains
information about the title among other things. Most video
Matroska files only contain the Title element so we
should parse this too. Fixes bug #570435 .
2009-02-04 09:20:28 +01:00
Jan Schmidt
367f9123de
Fix Forte compiler warnings.
...
Don't do void pointer arithmetic. Don't have an unreachable statement.
2009-01-30 17:26:19 +00:00
Mark Nauwelaerts
7958cf82ab
gst/matroska/: Some cleanups, refactoring and minor enhancements in caps handling.
...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_video_caps):
* gst/matroska/matroska-mux.c: (gst_matroska_mux_video_pad_setcaps):
Some cleanups, refactoring and minor enhancements in caps handling.
* gst/matroska/matroska-mux.c: (gst_matroska_mux_class_init),
(gst_matroska_mux_init), (gst_matroska_pad_reset),
(gst_matroska_pad_free), (gst_matroska_mux_reset),
(gst_matroska_mux_video_pad_setcaps),
(gst_matroska_mux_request_new_pad):
* tests/check/elements/matroskamux.c: (teardown_src_pad):
Only remove, release or reset what is appropriate upon state change.
2009-01-08 15:56:46 +00:00
Sebastian Dröge
c54c9e2bac
Add documentation for matroskamux and matroskademux and update the inspection xml files.
...
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* docs/plugins/gst-plugins-good-plugins.args:
* docs/plugins/gst-plugins-good-plugins.hierarchy:
* docs/plugins/gst-plugins-good-plugins.interfaces:
* docs/plugins/inspect/plugin-1394.xml:
* docs/plugins/inspect/plugin-aasink.xml:
* docs/plugins/inspect/plugin-alaw.xml:
* docs/plugins/inspect/plugin-alpha.xml:
* docs/plugins/inspect/plugin-alphacolor.xml:
* docs/plugins/inspect/plugin-annodex.xml:
* docs/plugins/inspect/plugin-apetag.xml:
* docs/plugins/inspect/plugin-audiofx.xml:
* docs/plugins/inspect/plugin-auparse.xml:
* docs/plugins/inspect/plugin-autodetect.xml:
* docs/plugins/inspect/plugin-avi.xml:
* docs/plugins/inspect/plugin-cacasink.xml:
* docs/plugins/inspect/plugin-cairo.xml:
* docs/plugins/inspect/plugin-cutter.xml:
* docs/plugins/inspect/plugin-debug.xml:
* docs/plugins/inspect/plugin-dv.xml:
* docs/plugins/inspect/plugin-efence.xml:
* docs/plugins/inspect/plugin-effectv.xml:
* docs/plugins/inspect/plugin-equalizer.xml:
* docs/plugins/inspect/plugin-esdsink.xml:
* docs/plugins/inspect/plugin-flac.xml:
* docs/plugins/inspect/plugin-flxdec.xml:
* docs/plugins/inspect/plugin-gamma.xml:
* docs/plugins/inspect/plugin-gconfelements.xml:
* docs/plugins/inspect/plugin-gdkpixbuf.xml:
* docs/plugins/inspect/plugin-goom.xml:
* docs/plugins/inspect/plugin-goom2k1.xml:
* docs/plugins/inspect/plugin-halelements.xml:
* docs/plugins/inspect/plugin-icydemux.xml:
* docs/plugins/inspect/plugin-id3demux.xml:
* docs/plugins/inspect/plugin-interleave.xml:
* docs/plugins/inspect/plugin-jpeg.xml:
* docs/plugins/inspect/plugin-level.xml:
* docs/plugins/inspect/plugin-matroska.xml:
* docs/plugins/inspect/plugin-monoscope.xml:
* docs/plugins/inspect/plugin-mulaw.xml:
* docs/plugins/inspect/plugin-multifile.xml:
* docs/plugins/inspect/plugin-multipart.xml:
* docs/plugins/inspect/plugin-navigationtest.xml:
* docs/plugins/inspect/plugin-ossaudio.xml:
* docs/plugins/inspect/plugin-png.xml:
* docs/plugins/inspect/plugin-pulseaudio.xml:
* docs/plugins/inspect/plugin-quicktime.xml:
* docs/plugins/inspect/plugin-replaygain.xml:
* docs/plugins/inspect/plugin-rtp.xml:
* docs/plugins/inspect/plugin-rtsp.xml:
* docs/plugins/inspect/plugin-shout2send.xml:
* docs/plugins/inspect/plugin-smpte.xml:
* docs/plugins/inspect/plugin-soup.xml:
* docs/plugins/inspect/plugin-spectrum.xml:
* docs/plugins/inspect/plugin-speex.xml:
* docs/plugins/inspect/plugin-taglib.xml:
* docs/plugins/inspect/plugin-udp.xml:
* docs/plugins/inspect/plugin-video4linux2.xml:
* docs/plugins/inspect/plugin-videobalance.xml:
* docs/plugins/inspect/plugin-videobox.xml:
* docs/plugins/inspect/plugin-videocrop.xml:
* docs/plugins/inspect/plugin-videoflip.xml:
* docs/plugins/inspect/plugin-videomixer.xml:
* docs/plugins/inspect/plugin-wavenc.xml:
* docs/plugins/inspect/plugin-wavpack.xml:
* docs/plugins/inspect/plugin-wavparse.xml:
* docs/plugins/inspect/plugin-ximagesrc.xml:
* gst/matroska/matroska-demux.c:
* gst/matroska/matroska-demux.h:
* gst/matroska/matroska-mux.c:
* gst/matroska/matroska-mux.h:
Add documentation for matroskamux and matroskademux and
update the inspection xml files.
2008-12-05 09:24:18 +00:00
Edward Hervey
481d98b710
gst/matroska/: Make mkvdemux aware of E-AC3.
...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_audio_caps):
* gst/matroska/matroska-ids.h:
Make mkvdemux aware of E-AC3.
2008-11-16 14:41:32 +00:00
Wim Taymans
99eb36eac0
gst/matroska/matroska-demux.c: Forward unknown events upstream.
...
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_src_event):
Forward unknown events upstream.
2008-10-27 10:35:07 +00:00
Tim-Philipp Müller
5c4b6ce079
Make stuff compile with GST_DISABLE_GST_DEBUG.
...
Original commit message from CVS:
* ext/raw1394/gsthdv1394src.c: (gst_hdv1394src_create):
* gst/alpha/gstalpha.c: (gst_alpha_get_unit_size):
* gst/audiofx/audiocheblimit.c: (generate_coefficients):
* gst/avi/gstavidemux.c: (gst_avi_demux_src_convert):
* gst/matroska/ebml-read.c: (gst_ebml_read_element_id),
(gst_ebml_read_element_length):
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_check_subtitle_buffer):
Make stuff compile with GST_DISABLE_GST_DEBUG.
2008-08-30 14:15:03 +00:00
Edward Hervey
dbea08db34
gst/matroska/: Add Real[Audio|Video] support to Matroska containers.
...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_send_event),
(gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps):
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps),
(gst_matroska_mux_audio_pad_setcaps), (gst_matroska_mux_finish):
Add Real[Audio|Video] support to Matroska containers.
It works fine for:
* decoding real audio/video streams contained in mkv
* 'transmuxing' real (.rm) files into .mkv files
It will not work though for encoding real[audio/video] streams that
don't contain the 'mdpr_data' extra data on the caps.
The reason why this will not work is because I never intended to
duplicate virtually all the 'mdpr' block creation into mkvmux.
Fixes #536067
2008-08-25 14:15:43 +00:00
Sebastian Dröge
42998c9438
gst/matroska/ebml-read.c: Change some GST_ELEMENT_ERRORs to GST_ERROR_OBJECT to make it possible to ignore errors and...
...
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_element_id),
(gst_ebml_read_element_length), (gst_ebml_read_uint),
(gst_ebml_read_sint), (gst_ebml_read_float),
(gst_ebml_read_header):
Change some GST_ELEMENT_ERRORs to GST_ERROR_OBJECT to make it
possible to ignore errors and not post any ERROR messages on
the bus.
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_contents):
Ignore any errors and not just EOS when parsing the contents of
a SeekHead. Errors here are usually caused by truncated files
and playback of the file works fine. Fixes playback of the
audio_only_chapter_seekbroken.mka file from the MPlayer samples
archive.
2008-08-22 12:24:23 +00:00