Commit graph

530 commits

Author SHA1 Message Date
Stefan Kost
f4f6d9799c qtdemux: don't leak atom data in case of a wrong fourcc 2009-03-31 12:01:21 +03:00
Mark Nauwelaerts
3360f449c0 qtdemux: some stream synchronization to aid seeking in unbalanced clips
Some clips (trailers) may have (length-wise) unbalanced streams,
which stalls the pipeline if seeking into that region.
Additional stream synchronization can handle this, as well as
sparse (subtitle) streams (at some later time ?)
2009-03-26 14:39:06 +01:00
Mark Nauwelaerts
a5502c9b37 qtdemux: additional safety and sanity checks (push based mode) 2009-03-26 14:38:02 +01:00
Tim-Philipp Müller
2199592039 i18n: make sure gettext gives us UTF-8 at all times 2009-03-25 15:42:15 +00:00
Mark Nauwelaerts
cfb39dbb1b qtdemux: handle FLUSH_STOP event
Clean up some state (most notably pad flow returns) to resume
proper streaming following flushing seek.
2009-03-24 15:48:26 +01:00
Mark Nauwelaerts
cc1a869a2c qtdemux: support seeking in push based mode 2009-03-20 17:59:38 +01:00
Mark Nauwelaerts
d5120cda4b qtdemux: align push based behaviour more with pull based
Cater for DELTA_UNIT flag on buffers, keep track of current
position, remove and warn about edit lists if any (as those
as are de facto discarded anyway), add some debug statements
and indent fixes.
2009-03-20 17:59:35 +01:00
Mark Nauwelaerts
21fc435c71 qtdemux: fix mem leaks and prevent excessive buffering in push based mode 2009-03-20 17:59:32 +01:00
Wim Taymans
af7aaef37a qtdemux: sanitize tag names
Sanitize the tag names before turning them into a structure name. We can only
add alphanumeric values as the structure name.
2009-03-09 15:20:05 +01:00
Edward Hervey
6512b3eb81 qtdemux: Also use "(c)inf" to fill the comment tag 2009-02-24 14:41:26 +01:00
David Schleef
40bd377230 qtdemux: Add handling for stps atoms
stps atoms contain "partial sync" information, which means that it's
a sync point where pts != dts.  This is needed to properly handle
MPEG2, H.264, Dirac, etc., in quicktime.
2009-02-06 16:21:58 -08:00
Jan Schmidt
fea851d100 Don't do void pointer arithmetic 2009-01-30 17:34:45 +00:00
Edward Hervey
b2f17781ac Add support for the 'Requirement' and 'Encoder' tags 2009-01-30 15:34:31 +01:00
Edward Hervey
1af5a5d001 Modify private-tag name formatter so that it doesn't go mad at fourcc starting with '(c)'. 2009-01-30 15:33:19 +01:00
Stefan Kost
a99d3f8769 Update and add documentation for plugins with no deps (gst).
Link to properties. Correct titles for examples. Document a few trivial cases. Keep lists in section file and docs/plugins/Makefile.am alphabetically ordered.
2009-01-28 12:32:59 +02:00
David Schleef
66de4c1bba Add a few more video fourcc's 2009-01-25 19:26:46 -08:00
David Schleef
bdc20b9baf Fix for security advisory TKADV2009-0xx
Fix potential buffer overflows while reading quicktime headers.
Security issue noticed by Tobias Klein.
2009-01-22 14:33:05 +00:00
Wim Taymans
293671170e gst/qtdemux/qtdemux.c: Catch invalid and commonly wrong playback rates in the elst atoms.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_segments):
Catch invalid and commonly wrong playback rates in the elst atoms.
Fixes #567800.
2009-01-15 14:53:18 +00:00
Thiago Sousa Santos
5f5ae768b8 gst/qtdemux/qtdemux.c: Fix format string for guint64.
Original commit message from CVS:
Patch by: Thiago Sousa Santos <thiagoss@embedded.ufcg.edu.br>
* gst/qtdemux/qtdemux.c:
Fix format string for guint64.
2009-01-13 19:09:19 +00:00
Michael Smith
1d32ad886e gst/qtdemux/qtdemux.c: In push mode, error out if we get EOS before we've created any srcpads.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c:
In push mode, error out if we get EOS before we've created any srcpads.
Handle (in pull mode) some files that have a truncated moov atom where
the final sub-atom is a 'free' atom and the contents of that are not
present in the file.
2009-01-08 18:17:13 +00:00
Mark Nauwelaerts
455e24c0a3 gst/qtdemux/: Streamline tag handling and pass unparsed tags as binary blob in private tag.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_tag_add_str),
(qtdemux_tag_add_tmpo), (qtdemux_tag_add_covr),
(qtdemux_tag_add_date), (qtdemux_tag_add_gnre),
(qtdemux_tag_add_blob), (qtdemux_parse_udta):
* gst/qtdemux/qtdemux.h:
* gst/qtdemux/quicktime.c: (plugin_init):
Streamline tag handling and pass unparsed tags as binary blob
in private tag.
2009-01-05 11:42:09 +00:00
j^
dc4240de34 gst/qtdemux/qtdemux.c: Add codec mapping for xvid, fmp4 and ac3 tracks.
Original commit message from CVS:
Patch by: j^ <j at oil21.org>
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps),
(qtdemux_audio_caps):
Add codec mapping for xvid, fmp4 and ac3 tracks.
Fixes #565850
2008-12-28 09:50:31 +00:00
Julien Moutte
de3590f545 gst/qtdemux/qtdemux.c: Add MPG1 and MPG2 fourcc to supported qtdemux video codecs as I found some video clips using t...
Original commit message from CVS:
2008-11-25  Julien Moutte  <julien@fluendo.com>

* gst/qtdemux/qtdemux.c: (qtdemux_video_caps): Add MPG1 and MPG2
fourcc
to supported qtdemux video codecs as I found some video clips
using
those.
2008-11-25 17:47:24 +00:00
Tal Shalif
7b60afd805 gst/qtdemux/qtdemux.c: Use G_{BIG,LITTLE}_ENDIAN instead of the non-GLib variants as the latter don't exist on some s...
Original commit message from CVS:
Patch by: Tal Shalif <tshalif at nargila dot org>
* gst/qtdemux/qtdemux.c: (qtdemux_audio_caps):
Use G_{BIG,LITTLE}_ENDIAN instead of the non-GLib variants as
the latter don't exist on some systems (mingw). Fixes bug #561992.
2008-11-23 11:14:42 +00:00
Andy Wingo
c71fe3f75d gst/qtdemux/qtdemux.*: Queue up new segment events instead of sending them from the seeking thread.
Original commit message from CVS:
* gst/qtdemux/qtdemux.h (struct _GstQTDemux):
* gst/qtdemux/qtdemux.c (gst_qtdemux_do_seek): Queue up new
segment events instead of sending them from the seeking thread.
Fixes #559288.
(gst_qtdemux_push_pending_newsegment): New helper, sends out
queued newsegment events.
(gst_qtdemux_loop_state_movie): Voilà, call it here. Only need to
call it here, as we only seek when looping, and only push in the
movie state.
2008-11-12 11:55:14 +00:00
Mark Nauwelaerts
03ab3610c7 gst/qtdemux/: Add cover and alternative copyright tag, and enhance some existing ones by marking them as container at...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_tag_add_tmpo),
(qtdemux_tag_add_covr), (qtdemux_parse_udta):
* gst/qtdemux/qtdemux_fourcc.h:
* gst/qtdemux/qtdemux_types.c:
Add cover and alternative copyright tag, and enhance some existing
ones by marking them as container atoms.
2008-11-11 19:52:05 +00:00
Mark Nauwelaerts
9aecda0d08 gst/qtdemux/qtdemux.c: Refactor some raw audio caps building, and handle >16-bit cases.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak),
(qtdemux_video_caps), (qtdemux_audio_caps):
Refactor some raw audio caps building, and handle >16-bit cases.
Fix/replace building caps from a string description.
2008-11-10 16:36:09 +00:00
Stefan Kost
084812bffd Don't install static libs for plugins. Fixes #550851 for -good.
Original commit message from CVS:
* ext/aalib/Makefile.am:
* ext/annodex/Makefile.am:
* ext/cairo/Makefile.am:
* ext/dv/Makefile.am:
* ext/esd/Makefile.am:
* ext/flac/Makefile.am:
* ext/gconf/Makefile.am:
* ext/gdk_pixbuf/Makefile.am:
* ext/hal/Makefile.am:
* ext/jpeg/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/libcaca/Makefile.am:
* ext/libmng/Makefile.am:
* ext/libpng/Makefile.am:
* ext/mikmod/Makefile.am:
* ext/pulse/Makefile.am:
* ext/raw1394/Makefile.am:
* ext/shout2/Makefile.am:
* ext/soup/Makefile.am:
* ext/speex/Makefile.am:
* ext/taglib/Makefile.am:
* ext/wavpack/Makefile.am:
* gst/alpha/Makefile.am:
* gst/apetag/Makefile.am:
* gst/audiofx/Makefile.am:
* gst/auparse/Makefile.am:
* gst/autodetect/Makefile.am:
* gst/avi/Makefile.am:
* gst/cutter/Makefile.am:
* gst/debug/Makefile.am:
* gst/effectv/Makefile.am:
* gst/equalizer/Makefile.am:
* gst/flx/Makefile.am:
* gst/goom/Makefile.am:
* gst/goom2k1/Makefile.am:
* gst/icydemux/Makefile.am:
* gst/id3demux/Makefile.am:
* gst/interleave/Makefile.am:
* gst/law/Makefile.am:
* gst/level/Makefile.am:
* gst/matroska/Makefile.am:
* gst/median/Makefile.am:
* gst/monoscope/Makefile.am:
* gst/multifile/Makefile.am:
* gst/multipart/Makefile.am:
* gst/oldcore/Makefile.am:
* gst/qtdemux/Makefile.am:
* gst/replaygain/Makefile.am:
* gst/rtp/Makefile.am:
* gst/rtsp/Makefile.am:
* gst/smpte/Makefile.am:
* gst/spectrum/Makefile.am:
* gst/udp/Makefile.am:
* gst/videobox/Makefile.am:
* gst/videocrop/Makefile.am:
* gst/videofilter/Makefile.am:
* gst/videomixer/Makefile.am:
* gst/wavenc/Makefile.am:
* gst/wavparse/Makefile.am:
* sys/directdraw/Makefile.am:
* sys/directsound/Makefile.am:
* sys/oss/Makefile.am:
* sys/osxaudio/Makefile.am:
* sys/osxvideo/Makefile.am:
* sys/sunaudio/Makefile.am:
* sys/v4l2/Makefile.am:
* sys/waveform/Makefile.am:
* sys/ximage/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for -good.
2008-11-04 12:28:34 +00:00
Edward Hervey
8e8e2bf451 gst/qtdemux/qtdemux.c: Remove previous wrong commit
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: Remove previous wrong commit
* tests/check/elements/icydemux.c: (icydemux_found_pad):
Remove problematic and useless refcount check.
Fixes #556381
2008-10-15 09:39:27 +00:00
Edward Hervey
0af48261b4 gst/qtdemux/qtdemux.c: Remove problematic and useless refcount check.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_node):
Remove problematic and useless refcount check.
Fixes #556381
2008-10-15 09:27:27 +00:00
Edward Hervey
53a576bb6f gst/qtdemux/qtdemux.c: Some 'broken' files out there have atom lengths of zero... which basically results in qtdemux ...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_state_header),
(gst_qtdemux_chain):
Some 'broken' files out there have atom lengths of zero...
which basically results in qtdemux consuming that atom again and again
until the *end of night* !
Detect that and emits an adequate element error message.
2008-09-17 14:50:42 +00:00
Jonathan Matthew
50eed1907b gst/qtdemux/qtdemux.c: Add mapping for 'tiff' => image/tiff
Original commit message from CVS:
Patch by: Jonathan Matthew <notverysmart@gmail.com>
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add mapping for 'tiff' => image/tiff
Fixes #552213
2008-09-14 11:32:15 +00:00
Mark Nauwelaerts
bf5ffabf4c gst/qtdemux/: Add support for video/mj2 mime-type and its additional atoms/boxes.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_state_header), (qtdemux_parse_node),
(qtdemux_parse_trak), (qtdemux_video_caps):
* gst/qtdemux/qtdemux.h:
* gst/qtdemux/qtdemux_fourcc.h:
* gst/qtdemux/qtdemux_types.c:
Add support for video/mj2 mime-type and its additional atoms/boxes.
Fixes #550646.
2008-09-03 12:39:35 +00:00
Wim Taymans
105e002337 gst/qtdemux/qtdemux.c: Add mapping for IMA Loki SDL MJPEG ADPCM codec.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_audio_caps):
Add mapping for IMA Loki SDL MJPEG ADPCM codec.
Add some alternative byteswapped mappings that seem to pop up sometimes.
Fixes #550288.
2008-09-02 15:27:49 +00:00
David Schleef
62491dcb74 gst/qtdemux/qtdemux.c: Add 'hdv6' as a HDV format for 1080i/60 with 3:2 pulldown, i.e., 24p.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: Add 'hdv6' as a HDV format for 1080i/60
with 3:2 pulldown, i.e., 24p.
2008-08-14 22:07:02 +00:00
Stefan Kost
dfd580b207 gst/qtdemux/qtdemux.c: Use audio/x-qdm for caps. Collect some info - mplayer has a decoder for it but ffmpeg does not.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c:
Use audio/x-qdm for caps. Collect some info - mplayer has a decoder
for it but ffmpeg does not.
2008-08-06 13:12:07 +00:00
Stefan Kost
815eb01af1 gst/qtdemux/qtdemux.c: Return the result of gst_pad_{start,stop}_task instead of hard-coded
Original commit message from CVS:
* gst/qtdemux/qtdemux.c:
Return the result of gst_pad_{start,stop}_task instead of hard-coded
TRUE.
2008-08-04 07:23:07 +00:00
Stefan Kost
115636d6d6 gst/qtdemux/: Add keyword tag support. Fixes #520694 for qtdemux.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c:
* gst/qtdemux/qtdemux_fourcc.h:
Add keyword tag support. Fixes #520694 for qtdemux.
2008-08-04 07:17:38 +00:00
Stefan Kost
aa7a44190e gst/qtdemux/qtdemux.c: Add support for tmpo tag (BPM).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c:
Add support for tmpo tag (BPM).
2008-08-04 07:05:33 +00:00
Edward Hervey
637854d725 gst/qtdemux/qtdemux.c: Fix segment-stop regression.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_activate_segment):
Fix segment-stop regression.
Add documentation regarding segments in quicktime files by Wim Taymans.
Fixes #544509
2008-07-25 14:50:03 +00:00
Mark Nauwelaerts
964f855f8b gst/qtdemux/qtdemux.c: Revert ISO base media spec based pixel-aspect-ratio calculation.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream),
(qtdemux_parse_trak):
Revert ISO base media spec based pixel-aspect-ratio calculation.
Fixes #543300.
2008-07-18 20:03:07 +00:00
Thiago Sousa Santos
a0bc9e69fe gst/qtdemux/qtdemux.c: Correctly distinguish 8bit vs 16bit raw audio. Fixes #542410.
Original commit message from CVS:
Patch by: Thiago Sousa Santos <thiagoss at lcc dot ufcg dot edu dot br>
* gst/qtdemux/qtdemux.c: (qtdemux_audio_caps):
Correctly distinguish 8bit vs 16bit raw audio.  Fixes #542410.
2008-07-10 20:47:56 +00:00
Mark Nauwelaerts
2c11fa8bb6 gst/qtdemux/qtdemux.c: Set pixel-aspect-ratio in caps using display width and height provided in track.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream),
(qtdemux_parse_trak):
Set pixel-aspect-ratio in caps using display width and height
provided in track.
2008-07-08 21:05:18 +00:00
David Schleef
3665725eaf gst/qtdemux/qtdemux.c: Add Dirac stream type
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: Add Dirac stream type
2008-06-27 18:11:01 +00:00
Bastien Nocera
facf5d90c7 gst/qtdemux/: Improve meta-data handling, add 'comment', 'description' and 'copyright' tag handling.
Original commit message from CVS:
Patch by: Bastien Nocera <hadess at hadess dot net>
* gst/qtdemux/qtdemux.c: (qtdemux_tag_add_str),
(qtdemux_parse_udta):
* gst/qtdemux/qtdemux_fourcc.h:
Improve meta-data handling, add 'comment', 'description' and
'copyright' tag handling.
Fixes #535935
2008-05-31 16:53:23 +00:00
Julien Moutte
c39a49245f gst/qtdemux/qtdemux.c: Make sure we we don't clip the segment's stop using the main segment duration as that could cr...
Original commit message from CVS:
2008-05-31  Julien Moutte  <julien@fluendo.com>

* gst/qtdemux/qtdemux.c: (gst_qtdemux_find_keyframe),
(gst_qtdemux_find_segment), (gst_qtdemux_perform_seek),
(gst_qtdemux_seek_to_previous_keyframe),
(gst_qtdemux_activate_segment), (gst_qtdemux_loop): Make sure we
we don't clip the segment's stop using the main segment duration
as
that could crop quite some video frames. Make reverse playback
support
more robust and support edit lists. Support seeking to the last
frame,
and fix reverse looping playback. Add some debugging.
* win32/common/config.h: Updated.
2008-05-31 15:30:41 +00:00
j^
ec536c8707 gst/qtdemux/qtdemux.c: Add caps for DVCPRO50 and DVCPRO HD PAL/NTSC. See #526481.
Original commit message from CVS:
Patch by: j^ <j at oil21 dot org>
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add caps for DVCPRO50 and DVCPRO HD PAL/NTSC. See #526481.
2008-05-26 16:25:15 +00:00
Wim Taymans
afc9d66fbf gst/qtdemux/qtdemux.c: Unbreak segment activation again. Fixes #531672.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_find_segment),
(gst_qtdemux_activate_segment):
Unbreak segment activation again. Fixes #531672.
2008-05-26 13:51:38 +00:00
j^
4f13f56ef9 gst/qtdemux/qtdemux.c: Add more mpeg2 variants. Fixes #530886.
Original commit message from CVS:
Patch by: j^ <j@bootlab.org>
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add more mpeg2 variants. Fixes #530886.
2008-05-02 09:09:58 +00:00
Tim-Philipp Müller
64baa0a0c6 Use new error code for encrypted streams (which requires core CVS).
Original commit message from CVS:
* configure.ac:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Use new error code for encrypted streams (which requires core CVS).
2008-04-30 12:18:41 +00:00
Tim-Philipp Müller
e483f6c651 gst/qtdemux/qtdemux.c: Fix swapped pad template names, spotted by Thiago Sousa Santos.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_videosrc_template),
(gst_qtdemux_audiosrc_template):
Fix swapped pad template names, spotted by Thiago Sousa Santos.
2008-04-30 12:10:02 +00:00
Wim Taymans
7f18fb8c35 gst/qtdemux/qtdemux.c: Unbreak streaming mode again.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (next_entry_size):
Unbreak streaming mode again.
2008-03-25 16:44:20 +00:00
Wim Taymans
aec7206df9 gst/qtdemux/qtdemux.c: Make sure we always send a DISCONT after a seek by setting the sample index to an undefined va...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_perform_seek),
(gst_qtdemux_activate_segment),
(gst_qtdemux_prepare_current_sample),
(gst_qtdemux_loop_state_movie), (qtdemux_parse_trak):
Make sure we always send a DISCONT after a seek by setting the sample
index to an undefined value after a seek.
2008-03-11 16:23:04 +00:00
Julien Moutte
848829798a gst/qtdemux/qtdemux.c: Implement reverse playback support.
Original commit message from CVS:
2007-11-24  Julien MOUTTE  <julien@moutte.net>

* gst/qtdemux/qtdemux.c: (gst_qtdemux_find_segment),
(gst_qtdemux_move_stream), (gst_qtdemux_do_seek),
(gst_qtdemux_seek_to_previous_keyframe),
(gst_qtdemux_activate_segment), (gst_qtdemux_advance_sample),
(gst_qtdemux_loop_state_movie), (gst_qtdemux_loop): Implement
reverse playback support.
2007-11-24 14:55:04 +00:00
Julien Moutte
1f0a03d320 Fix build on Mac OS X 10.5
Original commit message from CVS:
2007-11-20  Julien MOUTTE  <julien@moutte.net>

* ext/taglib/gsttaglibmux.c: (gst_tag_lib_mux_render_tag),
(gst_tag_lib_mux_adjust_event_offsets):
* gst/qtdemux/qtdemux.c: (qtdemux_parse_theora_extension):
* sys/osxaudio/Makefile.am:
* sys/osxvideo/cocoawindow.h:
* sys/osxvideo/cocoawindow.m: Fix build on Mac OS X 10.5
2007-11-20 11:41:13 +00:00
Wim Taymans
a4540bca1e gst/qtdemux/: Add suppport for theora in quicktime according to XiphQT.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_prepare_current_sample),
(gst_qtdemux_loop_state_movie), (qtdemux_parse_theora_extension),
(qtdemux_parse_node), (qtdemux_parse_trak), (qtdemux_video_caps):
* gst/qtdemux/qtdemux_fourcc.h:
* gst/qtdemux/qtdemux_types.c:
Add suppport for theora in quicktime according to XiphQT.
2007-11-15 16:31:32 +00:00
Edward Hervey
7522192fab gst/qtdemux/qtdemux.c: Properly free QTDemuxSamples array.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(qtdemux_parse_samples):
Properly free QTDemuxSamples array.
Protect table write with a sensible check, some files apparently DO contain
stts values starting with 0 :(
2007-11-12 17:59:40 +00:00
Stefan Kost
8deb4fbd92 gst/: Drop EOS in _handle_src_event(). Fix the refcount in qtdemux that previous commit messed up.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
* gst/qtdemux/qtdemux.c:
Drop EOS in _handle_src_event(). Fix the refcount in qtdemux that
previous commit messed up.
2007-11-12 17:21:59 +00:00
Stefan Kost
8ae866e5c6 gst/: Sync _handle_src_event() with oggdemux. In avidemux also ref the element when we should, but not when we its no...
Original commit message from CVS:
* gst/avi/gstavidemux.c:
* gst/qtdemux/qtdemux.c:
Sync _handle_src_event() with oggdemux. In avidemux also ref the
element when we should, but not when we its not needed.
2007-11-12 17:06:32 +00:00
Wim Taymans
b3f1b71446 gst/qtdemux/qtdemux.c: Smarter combine_flow code that also deals with downstream elements returning UNEXPECTED when t...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_activate_segment),
(gst_qtdemux_combine_flows), (gst_qtdemux_loop_state_movie):
Smarter combine_flow code that also deals with downstream elements
returning UNEXPECTED when they receive data out of the segment
boundaries. Fixes #491305.
2007-10-30 12:29:46 +00:00
Wim Taymans
23eeb89a16 gst/qtdemux/gstrtpxqtdepay.*: Fail if we don't know the quicktime format.
Original commit message from CVS:
* gst/qtdemux/gstrtpxqtdepay.c: (gst_rtp_xqt_depay_process),
(gst_rtp_xqt_depay_change_state):
* gst/qtdemux/gstrtpxqtdepay.h:
Fail if we don't know the quicktime format.
2007-09-26 14:26:39 +00:00
Sebastian Dröge
94f68153dd gst/qtdemux/qtdemux.c: Add fourccs for MPEG2 HDV streams. Fixes #479960.
Original commit message from CVS:
Patch by: <j at bootlab dot org>
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add fourccs for MPEG2 HDV streams. Fixes #479960.
2007-09-25 05:03:58 +00:00
Tim-Philipp Müller
c8af2199d3 gst/qtdemux/: Don't assume tags are encoded as UTF-8 (#473670).
Original commit message from CVS:
* gst/qtdemux/Makefile.am:
* gst/qtdemux/qtdemux.c:
Don't assume tags are encoded as UTF-8 (#473670).
2007-09-05 16:23:21 +00:00
Wim Taymans
39321cf1f7 gst/qtdemux/qtdemux.c: Fix parsing of mp4a version 0 atoms. Fixes #465774.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_node):
Fix parsing of mp4a version 0 atoms. Fixes #465774.
2007-08-12 14:35:41 +00:00
Edward Hervey
a086ad230e gst/qtdemux/qtdemux.c: If the buffer was entirely clipped ... don't try sending it :)
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_state_movie):
If the buffer was entirely clipped ... don't try sending it :)
2007-07-30 12:41:58 +00:00
Edward Hervey
8e316c0023 gst/qtdemux/qtdemux.c: Add codec mapping for '2vuy' (Raw YUV produced by FCP) and 'divx'.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add codec mapping for '2vuy' (Raw YUV produced by FCP) and 'divx'.
2007-07-24 14:31:56 +00:00
Wim Taymans
98ec7850a3 gst/qtdemux/qtdemux.c: Clip raw audio and video when we can, keep track of current output segment.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_activate_segment),
(gst_qtdemux_clip_buffer), (gst_qtdemux_loop_state_movie),
(qtdemux_parse_trak), (qtdemux_video_caps), (qtdemux_audio_caps):
Clip raw audio and video when we can, keep track of current output
segment.
Don't leak buffers and events when there is no output pad.
Improve debugging here and there.
2007-07-23 18:03:54 +00:00
Wim Taymans
82d3eca90b gst/qtdemux/qtdemux.c: Fix parsing of esds atoms inside mp4a atoms so that we can set correct codec_info for AAC audi...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_node):
Fix parsing of esds atoms inside mp4a atoms so that we can set correct
codec_info for AAC audio. Fixes #457097 along with a whole other bunch
of qt/aac files.
2007-07-16 12:11:36 +00:00
Stefan Kost
42ca9c44e6 gst/qtdemux/: Add MJPG to the variants of motion jpeg.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_samples),
(qtdemux_video_caps):
* gst/qtdemux/qtdemux_fourcc.h:
Add MJPG to the variants of motion jpeg.
2007-06-20 08:26:21 +00:00
Christian Schaller
6fb347e76f add 'LEGAL' file describing why this is in -good and under what circumstances it might need to move.
Original commit message from CVS:
add 'LEGAL' file describing why this is in -good and under what
circumstances it might need to move.
2007-06-19 14:11:49 +00:00
Edward Hervey
98165a69ee gst/qtdemux/qtdemux.c: For AMR-NB streams, export the AMRSpecificBox as codec_data on the caps.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
For AMR-NB streams, export the AMRSpecificBox as codec_data on the
caps.
Fixes #447458
2007-06-14 10:23:20 +00:00
Tim-Philipp Müller
798b78630f gst/: Printf format fixes (#439910, #439911).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_prepare_current_sample):
* gst/switch/gstswitch.c: (gst_switch_chain):
Printf format fixes (#439910, #439911).
2007-05-20 14:14:49 +00:00
Stefan Kost
eb5b5a8400 gst/qtdemux/qtdemux.c (gst_qtdemux_move_stream, gst_qtdemux_loop_state_header, gst_qtdemux_activate_segment, gst_qtde...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c (gst_qtdemux_move_stream,
gst_qtdemux_loop_state_header, gst_qtdemux_activate_segment,
gst_qtdemux_prepare_current_sample, gst_qtdemux_combine_flows,
gst_qtdemux_loop_state_movie, gst_qtdemux_loop,
qtdemux_parse_segments, qtdemux_parse_trak):
* gst/rtpmanager/rtpsession.c (rtp_session_get_bandwidth,
rtp_session_get_rtcp_bandwidth, rtp_session_get_cname,
rtp_session_get_name, rtp_session_get_email, rtp_session_get_phone,
rtp_session_get_location, rtp_session_get_tool,
rtp_session_process_bye, session_report_blocks):
* gst/rtpmanager/rtpsource.c (rtp_source_process_rtp,
rtp_source_send_rtp, rtp_source_process_sr, rtp_source_process_rb):
More format arg fixing (spotted by Ali Sabil <ali.sabil@gmail.com>).
* gst/switch/Makefile.am:
Add require libraries(spotted by Ali Sabil <ali.sabil@gmail.com>).
2007-05-10 14:02:07 +00:00
Wim Taymans
eae68a64fa gst/qtdemux/qtdemux.c: Make timescale 32 bits again so we don't screw up the pts_offset calculations.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c:
Make timescale 32 bits again so we don't screw up the pts_offset
calculations.
2007-04-12 10:52:02 +00:00
Wim Taymans
2f97f23897 gst/qtdemux/: Handle version 1 mdhd atoms to get extended precision durations.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(qtdemux_parse_samples), (qtdemux_parse_segments),
(qtdemux_parse_trak), (qtdemux_parse_tree):
* gst/qtdemux/qtdemux_dump.c: (qtdemux_dump_mdhd):
Handle version 1 mdhd atoms to get extended precision durations.
Fixes #426972.
2007-04-11 09:53:38 +00:00
Wim Taymans
86b40a1c70 gst/qtdemux/gstrtpxqtdepay.*: Try to recover from packet loss a little better.
Original commit message from CVS:
* gst/qtdemux/gstrtpxqtdepay.c: (gst_rtp_xqt_depay_process),
(gst_rtp_xqt_depay_change_state):
* gst/qtdemux/gstrtpxqtdepay.h:
Try to recover from packet loss a little better.
2007-04-05 15:05:24 +00:00
Edward Hervey
ab589bff3e gst/qtdemux/: Process 'ctts' atoms, which are present in AVC ISO files (.mov files with h264 video).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_prepare_current_sample),
(gst_qtdemux_chain), (qtdemux_parse_samples):
* gst/qtdemux/qtdemux_dump.c: (qtdemux_dump_ctts):
* gst/qtdemux/qtdemux_dump.h:
* gst/qtdemux/qtdemux_fourcc.h:
* gst/qtdemux/qtdemux_types.c:
Process 'ctts' atoms, which are present in AVC ISO files (.mov files
with h264 video).
Use the offset present in 'ctts' to calculate the PTS for each packet
and set the PTS on outgoing buffers.
Fixes #423283
2007-03-28 15:17:27 +00:00
Edward Hervey
816404ac41 gst/qtdemux/qtdemux.*: Share qtdemux debug category across all files, otherwise all debugging in files other than qtd...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c:
* gst/qtdemux/qtdemux.h:
Share qtdemux debug category across all files, otherwise all debugging
in files other than qtdemux.c would end up in the default category.
2007-03-07 11:37:23 +00:00
Wim Taymans
1cf20feb6e gst/qtdemux/gstrtpxqtdepay.c: Fix caps on the depayloader.
Original commit message from CVS:
* gst/qtdemux/gstrtpxqtdepay.c:
Fix caps on the depayloader.
2007-01-24 11:29:00 +00:00
Wim Taymans
c7839a6aa7 gst/qtdemux/: Add X-QT depayloader that will eventually share code with the demuxer.
Original commit message from CVS:
* gst/qtdemux/Makefile.am:
* gst/qtdemux/gstrtpxqtdepay.c: (gst_rtp_xqt_depay_base_init),
(gst_rtp_xqt_depay_class_init), (gst_rtp_xqt_depay_init),
(gst_rtp_xqt_depay_finalize), (gst_rtp_quicktime_parse_sd),
(gst_rtp_xqt_depay_setcaps), (gst_rtp_xqt_depay_process),
(gst_rtp_xqt_depay_set_property), (gst_rtp_xqt_depay_get_property),
(gst_rtp_xqt_depay_change_state), (gst_rtp_xqt_depay_plugin_init):
* gst/qtdemux/gstrtpxqtdepay.h:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_base_init),
(gst_qtdemux_loop_state_header), (gst_qtdemux_loop),
(qtdemux_parse_moov), (qtdemux_parse_container),
(qtdemux_parse_node), (gst_qtdemux_add_stream),
(qtdemux_parse_trak), (qtdemux_audio_caps):
* gst/qtdemux/qtdemux.h:
* gst/qtdemux/quicktime.c: (plugin_init):
Add X-QT depayloader that will eventually share code with the demuxer.
Make new plugin entry point with quicktime releated stuff.
2007-01-12 17:16:51 +00:00
Tim-Philipp Müller
9003c60563 gst/qtdemux/Makefile.am: Dist all new files.
Original commit message from CVS:
* gst/qtdemux/Makefile.am:
Dist all new files.
2007-01-12 12:10:19 +00:00
Wim Taymans
a09ea6cce4 gst/qtdemux/: Cleanup and refactor to make the code more readable.
Original commit message from CVS:
* gst/qtdemux/Makefile.am:
* gst/qtdemux/qtdemux.c: (extract_initial_length_and_fourcc),
(gst_qtdemux_loop_state_header), (gst_qtdemux_combine_flows),
(gst_qtdemux_loop_state_movie), (gst_qtdemux_loop),
(gst_qtdemux_chain), (qtdemux_sink_activate_pull),
(qtdemux_inflate), (qtdemux_parse_moov), (qtdemux_parse_container),
(qtdemux_parse_node), (qtdemux_tree_get_child_by_type),
(qtdemux_tree_get_sibling_by_type), (gst_qtdemux_add_stream),
(qtdemux_parse_samples), (qtdemux_parse_segments),
(qtdemux_parse_trak), (qtdemux_tag_add_str), (qtdemux_tag_add_num),
(qtdemux_tag_add_date), (qtdemux_tag_add_gnre),
(qtdemux_parse_udta), (qtdemux_redirects_sort_func),
(qtdemux_process_redirects), (qtdemux_parse_redirects),
(qtdemux_parse_tree), (gst_qtdemux_handle_esds),
(qtdemux_video_caps), (qtdemux_audio_caps):
* gst/qtdemux/qtdemux.h:
* gst/qtdemux/qtdemux_dump.c: (qtdemux_dump_mvhd),
(qtdemux_dump_tkhd), (qtdemux_dump_elst), (qtdemux_dump_mdhd),
(qtdemux_dump_hdlr), (qtdemux_dump_vmhd), (qtdemux_dump_dref),
(qtdemux_dump_stsd), (qtdemux_dump_stts), (qtdemux_dump_stss),
(qtdemux_dump_stsc), (qtdemux_dump_stsz), (qtdemux_dump_stco),
(qtdemux_dump_co64), (qtdemux_dump_dcom), (qtdemux_dump_cmvd),
(qtdemux_dump_unknown), (qtdemux_node_dump_foreach),
(qtdemux_node_dump):
* gst/qtdemux/qtdemux_dump.h:
* gst/qtdemux/qtdemux_fourcc.h:
* gst/qtdemux/qtdemux_types.c: (qtdemux_type_get):
* gst/qtdemux/qtdemux_types.h:
* gst/qtdemux/qtpalette.h:
Cleanup and refactor to make the code more readable.
Move debugging/tables into separate files.
Add 2/4/16 color palletee support.
Fix raw 15 bit RGB handling.
Use more FOURCC constants.
Add some docs.
2007-01-12 10:22:16 +00:00
Tim-Philipp Müller
9445ca84f5 Check for zlib and if available pass it explicitly to the linker when linking qtdemux. If not available (or --disable...
Original commit message from CVS:
* configure.ac:
* gst/qtdemux/Makefile.am:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_moov):
Check for zlib and if available pass it explicitly to the linker
when linking qtdemux. If not available (or --disable-external has
been specified!), disable the bits in qtdemux that use it. Fixes
build on MingW (#392856).
2007-01-05 18:32:03 +00:00
Tim-Philipp Müller
2f353d7379 gst/qtdemux/qtdemux.c: Don't post BUFFERING messages in streaming mode if the stream headers are behind the movie dat...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_post_progress),
(gst_qtdemux_chain):
Don't post BUFFERING messages in streaming mode if the stream
headers are behind the movie data; instead, post "progress" element
messages as a temporary solution. Apps might get confused and do
silly things to the pipeline state if they see buffering messages
from different sources and don't realize they come from different
sources (#387160).
2006-12-18 17:11:49 +00:00
Jan Schmidt
7966c804ab gst/qtdemux/qtdemux.c: Don't output g_warning for an unsupported format, just send a
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_chain),
(gst_qtdemux_add_stream):
Don't output g_warning for an unsupported format, just send a
GST_ELEMENT_WARNING and don't add the pad.
Fix the case where it doesn't check for a NULL pad in streaming mode.
Fixes #387137
2006-12-18 13:40:34 +00:00
Tim-Philipp Müller
ef691f3827 gst/qtdemux/qtdemux.c: Fix crash dereferencing NULL pointer if there's no stco atom.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Fix crash dereferencing NULL pointer if there's no stco atom.
Fixes #387122.
2006-12-18 12:27:32 +00:00
Tim-Philipp Müller
40d3caa168 gst/qtdemux/qtdemux.c: We don't support seeking in streaming mode, so don't even try.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_src_query_types),
(gst_qtdemux_handle_src_query), (gst_qtdemux_handle_src_event):
We don't support seeking in streaming mode, so don't even try.
Implement seeking query so apps can query seekability properly
(see #365414). Fix duration query.
2006-12-16 15:25:23 +00:00
Wim Taymans
f4dd37e871 gst/qtdemux/qtdemux.c: Add AMR-WB to the list of supported formats.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_trak),
(qtdemux_audio_caps):
Add AMR-WB to the list of supported formats.
2006-12-13 17:12:22 +00:00
Tim-Philipp Müller
81c7f2c4a7 gst/qtdemux/qtdemux.c: Fix non-working redirects from inetfilm.com (handle 'alis' reference data type as well). Fixes...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_tree):
Fix non-working redirects from inetfilm.com (handle 'alis' reference
data type as well). Fixes #378613.
2006-12-11 17:33:26 +00:00
René Stadler
2214d0b5bb gst/qtdemux/qtdemux.c: Fix caps for 24 bit raw PCM audio (2).
Original commit message from CVS:
Patch by: René Stadler  <mail at renestadler de>
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_trak),
(qtdemux_audio_caps):
Fix caps for 24 bit raw PCM audio (2).
Fixes #383471.
2006-12-08 17:06:43 +00:00
Wim Taymans
c37faa76a9 gst/qtdemux/qtdemux.c: Handle more H263 variants.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_trak),
(qtdemux_video_caps):
Handle more H263 variants.
2006-12-07 11:35:41 +00:00
Wim Taymans
4b8597668d gst/qtdemux/qtdemux.c: Remove some asserts and replace them with a proper error message. Fixes #379261.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_trak):
Remove some asserts and replace them with a proper error
message. Fixes #379261.
2006-11-27 17:16:26 +00:00
Wim Taymans
f8cb2ce5c3 gst/qtdemux/qtdemux.c: Don't parse extra sample params for raw pcm. Fixes #374914.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_trak):
Don't parse extra sample params for raw pcm. Fixes #374914.
2006-11-14 11:43:40 +00:00
Wim Taymans
8ac0c0e09a gst/qtdemux/qtdemux.c: Handle unbounded length streams a bit better. Fixes #367696.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_tree),
(qtdemux_parse_trak):
Handle unbounded length streams a bit better. Fixes #367696.
2006-10-31 10:31:18 +00:00
Josep Torra Valles
9d73ae1136 gst/qtdemux/qtdemux.c: Make compile with Forte compiler, mostly don't do pointer arithmetic with void pointers (#3626...
Original commit message from CVS:
Patch by: Josep Torra Valles  <josep at fluendo com>
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(next_entry_size), (qtdemux_inflate), (qtdemux_parse_moov),
(qtdemux_parse_tree), (qtdemux_parse_trak), (qtdemux_tag_add_str),
(qtdemux_tag_add_num), (qtdemux_tag_add_date),
(qtdemux_tag_add_gnre):
Make compile with Forte compiler, mostly don't do pointer arithmetic
with void pointers (#362626).
2006-10-17 14:57:17 +00:00
Tim-Philipp Müller
d14571a4a8 gst/qtdemux/qtdemux.*: Avoid void pointer usage, better use guint8 * instead.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_moov), (qtdemux_parse),
(qtdemux_node_dump_foreach), (qtdemux_dump_mvhd),
(qtdemux_dump_tkhd), (qtdemux_dump_elst), (qtdemux_dump_mdhd),
(qtdemux_dump_hdlr), (qtdemux_dump_vmhd), (qtdemux_dump_dref),
(qtdemux_dump_stsd), (qtdemux_dump_stts), (qtdemux_dump_stss),
(qtdemux_dump_stsc), (qtdemux_dump_stsz), (qtdemux_dump_stco),
(qtdemux_dump_co64), (qtdemux_dump_dcom), (qtdemux_dump_cmvd),
(qtdemux_dump_unknown), (qtdemux_tree_get_child_by_type),
(qtdemux_tree_get_sibling_by_type):
* gst/qtdemux/qtdemux.h:
Avoid void pointer usage, better use guint8 * instead.
2006-10-17 10:59:55 +00:00
Edward Hervey
7cb2c5f8a0 gst/qtdemux/qtdemux.c: Add some fourcc for DV format.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add some fourcc for DV format.
2006-10-11 13:49:26 +00:00
Tim-Philipp Müller
2738e1f8a9 gst/qtdemux/qtdemux.c: Printf format fixes.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (extract_initial_length_and_fourcc),
(gst_qtdemux_loop_state_header):
Printf format fixes.
* sys/dvb/gstdvbsrc.c:
Use "_stdint.h".
2006-10-10 18:54:05 +00:00
Wim Taymans
d8f80b3acd gst/qtdemux/qtdemux.c: Reorganise some stuff.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_push_event), (gst_qtdemux_do_seek),
(gst_qtdemux_change_state), (extract_initial_length_and_fourcc),
(gst_qtdemux_loop_state_header), (gst_qtdemux_activate_segment),
(gst_qtdemux_loop_state_movie), (gst_qtdemux_loop),
(gst_qtdemux_post_buffering), (gst_qtdemux_chain),
(gst_qtdemux_add_stream), (qtdemux_process_redirects),
(qtdemux_parse_tree), (qtdemux_parse_trak):
Reorganise some stuff.
Parse RTSP redirection URLS.
2006-10-10 09:57:19 +00:00
Wim Taymans
1e2737eb83 ext/faad/gstfaad.c: Some cleanups.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_setcaps), (gst_faad_chain),
(gst_faad_close_decoder):
Some cleanups.
Added some more debugging.
Don't ever ignore unlinked, we're not a demuxer.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream):
Activate pad before adding it to the element.
2006-10-06 15:49:39 +00:00
Tim-Philipp Müller
da1bed8d24 Another batch of printf format fixes.
Original commit message from CVS:
* ext/dts/gstdtsdec.c: (gst_dtsdec_chain):
* ext/musicbrainz/gsttrm.c: (gst_trm_setcaps):
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_sink_set_caps):
* gst/qtdemux/qtdemux.c: (gst_qtdemux_chain), (qtdemux_parse),
(qtdemux_parse_trak):
* gst/spectrum/gstspectrum.c: (gst_spectrum_transform_ip):
Another batch of printf format fixes.
2006-10-05 18:14:46 +00:00
Tim-Philipp Müller
f0cf378a42 gst/qtdemux/qtdemux.c: Add support for 'yv12' fourcc.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add support for 'yv12' fourcc.
2006-09-28 14:31:41 +00:00
Edward Hervey
d526f2eac2 gst/qtdemux/qtdemux.c: Reset each streams last_flow to GST_FLOW_OK.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c:
(gst_qtdemux_do_seek):
Reset each streams last_flow to GST_FLOW_OK.
(gst_qtdemux_activate_segment):
Removing mystic modifications for good.
2006-08-30 11:27:40 +00:00
Stefan Kost
9e00a40ce9 gst/qtdemux/qtdemux.c: put back 'segment start<=stop' change that was mystically reverted by the last commit
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_activate_segment),
(qtdemux_parse_tree):
put back 'segment start<=stop' change that was mystically reverted by
the last commit
2006-08-30 11:07:37 +00:00
Stefan Kost
6e1ee76fa3 gst/qtdemux/qtdemux.c: Fix the build for disabled debug
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_activate_segment),
(qtdemux_parse_tree):
Fix the build for disabled debug
2006-08-30 10:43:53 +00:00
Wim Taymans
924cccc726 gst/qtdemux/qtdemux.c: Make sure segment start<=stop in weird quicktime files.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_activate_segment),
(gst_qtdemux_add_stream), (qtdemux_parse_trak),
(qtdemux_video_caps):
Make sure segment start<=stop in weird quicktime files.
2006-08-28 17:47:29 +00:00
Wim Taymans
40c2bef1c3 gst/qtdemux/qtdemux.c: Some more constification.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream), (qtdemux_parse),
(qtdemux_node_dump_foreach), (qtdemux_parse_trak),
(qtdemux_video_caps), (qtdemux_audio_caps):
Some more constification.
Fix some paletted data formats again.
Fix ulaw/alaw in qt.
Set correct caps for raw RGB.
Add support for yuv2, which is like Yuv2.
Add support for raw audio with the NONE fourcc, which is like raw.
2006-08-21 16:24:28 +00:00
Tim-Philipp Müller
eff3c05d68 gst/qtdemux/qtdemux.c: Extract all references/redirections if there is more than one and sort them; also extract mini...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_redirects_sort_func),
(qtdemux_process_redirects), (qtdemux_parse_tree):
Extract all references/redirections if there is more
than one and sort them; also extract minimum required
bitrate information if available. (#350399)
2006-08-14 10:06:55 +00:00
Tim-Philipp Müller
fa1f0d2c0e gst/qtdemux/qtdemux.c: Fix silly typo.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_tree):
Fix silly typo.
2006-08-08 14:55:53 +00:00
Wim Taymans
ae5b12066b gst/qtdemux/qtdemux.c: Store duration in uint64 too instead of clipping.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_perform_seek),
(gst_qtdemux_prepare_current_sample),
(gst_qtdemux_loop_state_movie):
Store duration in uint64 too instead of clipping.
When we do a keyframe seek and the requested time is at the
keyframe, don't seek back to the beginning of the keyframe.
Fixes #347439.
2006-07-17 10:25:57 +00:00
Wim Taymans
a6b2a99472 gst/qtdemux/qtdemux.c: Extract comment information!!
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_udta):
Extract comment information!!
2006-07-10 09:57:26 +00:00
Tim-Philipp Müller
63cc2135a5 gst/qtdemux/qtdemux.c: Extract year/date information (fixes #347079).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_udta),
(qtdemux_tag_add_date):
Extract year/date information (fixes #347079).
2006-07-10 09:46:25 +00:00
Wim Taymans
05f3962c11 gst/qtdemux/qtdemux.c: Don't crash on twos/sowt/raw audio. #345830.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Don't crash on twos/sowt/raw audio. #345830.
2006-07-07 14:30:26 +00:00
Tim-Philipp Müller
5130c720e4 gst/qtdemux/qtdemux.c: Fix silly crasher in state change function; add
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_state_header), (qtdemux_video_caps):
Fix silly crasher in state change function; add
IV41 fourcc (see bug #171111); don't output confusing
debug message when skipping atoms.
2006-07-03 20:02:56 +00:00
Wim Taymans
2d24aef083 gst/qtdemux/qtdemux.c: Combine return values from src pad pushes.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_perform_seek),
(gst_qtdemux_combine_flows), (gst_qtdemux_loop_state_movie),
(gst_qtdemux_loop), (gst_qtdemux_chain), (qtdemux_parse_trak):
Combine return values from src pad pushes.
2006-06-15 15:58:09 +00:00
Wim Taymans
38c86d0e24 gst/qtdemux/qtdemux.c: Don't crash on files with 0 samples, EOS immediatly instead.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_state_header),
(gst_qtdemux_prepare_current_sample), (gst_qtdemux_advance_sample),
(gst_qtdemux_add_stream):
Don't crash on files with 0 samples, EOS immediatly instead.
Fixes #344944.
2006-06-15 08:50:09 +00:00
Stefan Kost
7174c10edf Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
Original commit message from CVS:
* ext/alsaspdif/alsaspdifsink.h:
* ext/amrwb/gstamrwbdec.h:
* ext/amrwb/gstamrwbenc.h:
* ext/amrwb/gstamrwbparse.h:
* ext/arts/gst_arts.h:
* ext/artsd/gstartsdsink.h:
* ext/audiofile/gstafparse.h:
* ext/audiofile/gstafsink.h:
* ext/audiofile/gstafsrc.h:
* ext/audioresample/gstaudioresample.h:
* ext/bz2/gstbz2dec.h:
* ext/bz2/gstbz2enc.h:
* ext/dirac/gstdiracdec.h:
* ext/directfb/dfbvideosink.h:
* ext/divx/gstdivxdec.h:
* ext/divx/gstdivxenc.h:
* ext/dts/gstdtsdec.h:
* ext/faac/gstfaac.h:
* ext/gsm/gstgsmdec.h:
* ext/gsm/gstgsmenc.h:
* ext/ivorbis/vorbisenc.h:
* ext/libfame/gstlibfame.h:
* ext/nas/nassink.h:
* ext/neon/gstneonhttpsrc.h:
* ext/polyp/polypsink.h:
* ext/sdl/sdlaudiosink.h:
* ext/sdl/sdlvideosink.h:
* ext/shout/gstshout.h:
* ext/snapshot/gstsnapshot.h:
* ext/sndfile/gstsf.h:
* ext/swfdec/gstswfdec.h:
* ext/tarkin/gsttarkindec.h:
* ext/tarkin/gsttarkinenc.h:
* ext/theora/theoradec.h:
* ext/wavpack/gstwavpackdec.h:
* ext/wavpack/gstwavpackparse.h:
* ext/xine/gstxine.h:
* ext/xvid/gstxviddec.h:
* ext/xvid/gstxvidenc.h:
* gst/cdxaparse/gstcdxaparse.h:
* gst/cdxaparse/gstcdxastrip.h:
* gst/colorspace/gstcolorspace.h:
* gst/festival/gstfestival.h:
* gst/freeze/gstfreeze.h:
* gst/gdp/gstgdpdepay.h:
* gst/gdp/gstgdppay.h:
* gst/modplug/gstmodplug.h:
* gst/mpeg1sys/gstmpeg1systemencode.h:
* gst/mpeg1videoparse/gstmp1videoparse.h:
* gst/mpeg2sub/gstmpeg2subt.h:
* gst/mpegaudioparse/gstmpegaudioparse.h:
* gst/multifilesink/gstmultifilesink.h:
* gst/overlay/gstoverlay.h:
* gst/playondemand/gstplayondemand.h:
* gst/qtdemux/qtdemux.h:
* gst/rtjpeg/gstrtjpegdec.h:
* gst/rtjpeg/gstrtjpegenc.h:
* gst/smooth/gstsmooth.h:
* gst/smoothwave/gstsmoothwave.h:
* gst/spectrum/gstspectrum.h:
* gst/speed/gstspeed.h:
* gst/stereo/gststereo.h:
* gst/switch/gstswitch.h:
* gst/tta/gstttadec.h:
* gst/tta/gstttaparse.h:
* gst/videodrop/gstvideodrop.h:
* gst/xingheader/gstxingmux.h:
* sys/directdraw/gstdirectdrawsink.h:
* sys/directsound/gstdirectsoundsink.h:
* sys/dxr3/dxr3audiosink.h:
* sys/dxr3/dxr3spusink.h:
* sys/dxr3/dxr3videosink.h:
* sys/qcam/gstqcamsrc.h:
* sys/vcd/vcdsrc.h:
Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2006-06-01 22:00:26 +00:00
Edward Hervey
21dbe9ffc7 gst/qtdemux/qtdemux.c: Clip the outputed NEWSEGMENT stop time to the configured segment stop time.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_activate_segment):
Clip the outputed NEWSEGMENT stop time to the configured segment stop
time.
2006-05-26 13:16:54 +00:00
Wim Taymans
3946c571f4 gst/qtdemux/qtdemux.c: Don't clear the running variable in the seek code.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_do_seek):
Don't clear the running variable in the seek code.
2006-05-26 11:48:44 +00:00
Wim Taymans
e34cbad065 gst/qtdemux/qtdemux.c: Detect QCELP in mp4a descriptors.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_esds):
Detect QCELP in mp4a descriptors.
2006-05-24 11:56:43 +00:00
Tim-Philipp Müller
3ba744c2aa gst/qtdemux/qtdemux.c: po/POTFILES.in:
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak), (plugin_init):
po/POTFILES.in:
Throw an error when the file is encrypted. Move plugin_init stuff
to the end of the file, add stuff for i18n, make debug category
static.
2006-05-22 18:00:52 +00:00
Wim Taymans
a3c4acecbd gst/qtdemux/qtdemux.c: Figure out the real audio type in mp4a boxes by parsing the optional descriptors in the option...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse), (qtdemux_parse_trak),
(gst_qtdemux_handle_esds):
Figure out the real audio type in mp4a boxes by parsing the
optional descriptors in the optional esds box. Promote the
default AAC to mp3 when indicated. Fixes #330632.
2006-05-11 09:09:49 +00:00
Wim Taymans
a5ed322de1 gst/qtdemux/qtdemux.c: Parse version 2 sample descriptions.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse), (qtdemux_dump_unknown),
(qtdemux_parse_trak), (gst_qtdemux_handle_esds):
Parse version 2 sample descriptions.
Don't #define gst_util_dump_mem(), use something more
specific instead to avoid confusion.
2006-05-10 17:44:50 +00:00
Wim Taymans
b1afdeab65 gst/qtdemux/qtdemux.c: Don't cause side effects in a debugging function.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_src_query),
(qtdemux_dump_mvhd):
Don't cause side effects in a debugging function.
Also report duration in push mode since we can.
2006-05-08 15:20:10 +00:00
Jan Schmidt
e73a19cb48 gst/qtdemux/qtdemux.c: Clean up one piece of logic slightly and remove a dead code block.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Clean up one piece of logic slightly and remove a
dead code block.
2006-05-03 14:30:21 +00:00
Stefan Kost
0835d42268 Define GstElementDetails as const and also static (when defined as global)
Original commit message from CVS:
* ext/amrwb/gstamrwbdec.c:
* ext/amrwb/gstamrwbenc.c:
* ext/amrwb/gstamrwbparse.c:
* ext/arts/gst_arts.c:
* ext/artsd/gstartsdsink.c:
* ext/audiofile/gstafparse.c:
* ext/audiofile/gstafsink.c:
* ext/audiofile/gstafsrc.c:
* ext/audioresample/gstaudioresample.c:
* ext/bz2/gstbz2dec.c:
* ext/bz2/gstbz2enc.c:
* ext/cdaudio/gstcdaudio.c:
* ext/directfb/dfbvideosink.c:
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
* ext/dts/gstdtsdec.c: (gst_dtsdec_base_init):
* ext/faac/gstfaac.c: (gst_faac_base_init):
* ext/faad/gstfaad.c:
* ext/gsm/gstgsmdec.c:
* ext/gsm/gstgsmenc.c:
* ext/hermes/gsthermescolorspace.c:
* ext/ivorbis/vorbisfile.c:
* ext/lcs/gstcolorspace.c:
* ext/libfame/gstlibfame.c:
* ext/libmms/gstmms.c: (gst_mms_base_init):
* ext/musepack/gstmusepackdec.c: (gst_musepackdec_base_init):
* ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init):
* ext/nas/nassink.c: (gst_nassink_base_init):
* ext/neon/gstneonhttpsrc.c:
* ext/sdl/sdlaudiosink.c:
* ext/sdl/sdlvideosink.c:
* ext/shout/gstshout.c:
* ext/snapshot/gstsnapshot.c:
* ext/sndfile/gstsf.c:
* ext/swfdec/gstswfdec.c:
* ext/tarkin/gsttarkindec.c:
* ext/tarkin/gsttarkinenc.c:
* ext/theora/theoradec.c:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
* ext/xvid/gstxviddec.c:
* ext/xvid/gstxvidenc.c:
* gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_base_init):
* gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_base_init):
* gst/chart/gstchart.c:
* gst/colorspace/gstcolorspace.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_base_init):
* gst/festival/gstfestival.c:
* gst/filter/gstbpwsinc.c:
* gst/filter/gstiir.c:
* gst/filter/gstlpwsinc.c:
* gst/freeze/gstfreeze.c:
* gst/games/gstpuzzle.c: (gst_puzzle_base_init):
* gst/librfb/gstrfbsrc.c:
* gst/mixmatrix/mixmatrix.c:
* gst/mpeg1sys/gstmpeg1systemencode.c:
* gst/mpeg1videoparse/gstmp1videoparse.c:
* gst/mpeg2sub/gstmpeg2subt.c:
* gst/mpegaudioparse/gstmpegaudioparse.c:
* gst/multifilesink/gstmultifilesink.c:
* gst/overlay/gstoverlay.c:
* gst/passthrough/gstpassthrough.c:
* gst/playondemand/gstplayondemand.c:
* gst/qtdemux/qtdemux.c:
* gst/rtjpeg/gstrtjpegdec.c:
* gst/rtjpeg/gstrtjpegenc.c:
* gst/smooth/gstsmooth.c:
* gst/smoothwave/gstsmoothwave.c:
* gst/spectrum/gstspectrum.c:
* gst/speed/gstspeed.c:
* gst/stereo/gststereo.c:
* gst/switch/gstswitch.c:
* gst/tta/gstttadec.c: (gst_tta_dec_base_init):
* gst/tta/gstttaparse.c: (gst_tta_parse_base_init):
* gst/vbidec/gstvbidec.c:
* gst/videocrop/gstvideocrop.c:
* gst/videodrop/gstvideodrop.c:
* gst/virtualdub/gstxsharpen.c:
* gst/xingheader/gstxingmux.c: (gst_xing_mux_base_init):
* gst/y4m/gsty4mencode.c:
* sys/cdrom/gstcdplayer.c:
* sys/directdraw/gstdirectdrawsink.c:
* sys/directsound/gstdirectsoundsink.c:
* sys/glsink/glimagesink.c:
* sys/qcam/gstqcamsrc.c:
* sys/v4l2/gstv4l2src.c:
* sys/vcd/vcdsrc.c: (gst_vcdsrc_base_init):
* sys/ximagesrc/ximagesrc.c:
Define GstElementDetails as const and also static (when defined as
global)
2006-04-25 21:56:38 +00:00
j^
95175ab920 gst/qtdemux/qtdemux.c: Never treat video streams as an audio stream.
Original commit message from CVS:
Patch by: j^ <j at bootlab dot org>
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak),
(qtdemux_video_caps):
Never treat video streams as an audio stream.
Add qtdrw mime type.
Fixes #339041
2006-04-20 09:48:05 +00:00
Wim Taymans
9b14d8f398 gst/qtdemux/qtdemux.c: For VBR audio, don't try to calculate the samples_per_frame.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
For VBR audio, don't try to calculate the samples_per_frame.
Fixes #338935.
2006-04-19 09:27:00 +00:00
Wim Taymans
4d598ca201 gst/qtdemux/qtdemux.c: Fix parsing of newer stsd chunks again.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Fix parsing of newer stsd chunks again.
2006-04-10 17:16:09 +00:00
Wim Taymans
8ce75e7e78 gst/qtdemux/qtdemux.c: Fix framerate calculation.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream),
(qtdemux_parse_trak):
Fix framerate calculation.
2006-04-10 14:20:41 +00:00
Wim Taymans
31a227b2aa gst/qtdemux/qtdemux.c: force mono 8000 Hz on AMR samples.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
force mono 8000 Hz on AMR samples.
2006-04-10 08:31:40 +00:00
Wim Taymans
69962233c8 gst/qtdemux/qtdemux.c: Don't make rounding errors in timestamp/duration calculations.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_prepare_current_sample),
(gst_qtdemux_chain), (gst_qtdemux_add_stream), (qtdemux_dump_stsz),
(qtdemux_dump_stco), (qtdemux_parse_trak):
Don't make rounding errors in timestamp/duration calculations.
Fix timestamps for AMR and IMA4.  Fixes (#337436).
Create a dummy segment even when there is no edit list.
2006-04-08 18:23:04 +00:00
Wim Taymans
7a7a2109fa gst/qtdemux/qtdemux.c: Added full edit list support.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_handle_src_query), (gst_qtdemux_find_index),
(gst_qtdemux_find_keyframe), (gst_qtdemux_find_segment),
(gst_qtdemux_move_stream), (gst_qtdemux_perform_seek),
(gst_qtdemux_do_seek), (gst_qtdemux_change_state),
(gst_qtdemux_activate_segment),
(gst_qtdemux_prepare_current_sample), (gst_qtdemux_advance_sample),
(gst_qtdemux_loop_state_movie), (gst_qtdemux_loop),
(qtdemux_parse_trak):
Added full edit list support.
Avoid overflows in prologue image detection code.
Avoid roundoff errors in timestamp calculations.
2006-04-06 19:16:02 +00:00
j^
60b15a02f0 Unify the long descriptions in the plugin details (#337263).
Original commit message from CVS:
Patch by: j^  <j at bootlab dot org>
* ext/amrwb/gstamrwbdec.c:
* ext/amrwb/gstamrwbenc.c:
* ext/amrwb/gstamrwbparse.c:
* ext/arts/gst_arts.c:
* ext/artsd/gstartsdsink.c:
* ext/audiofile/gstafparse.c:
* ext/audiofile/gstafsink.c:
* ext/audiofile/gstafsrc.c:
* ext/cdaudio/gstcdaudio.c:
* ext/directfb/dfbvideosink.c:
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
* ext/dts/gstdtsdec.c: (gst_dtsdec_base_init):
* ext/faac/gstfaac.c: (gst_faac_base_init):
* ext/faad/gstfaad.c:
* ext/gsm/gstgsmdec.c:
* ext/gsm/gstgsmenc.c:
* ext/hermes/gsthermescolorspace.c:
* ext/ivorbis/vorbisfile.c:
* ext/lcs/gstcolorspace.c:
* ext/libfame/gstlibfame.c:
* ext/libmms/gstmms.c: (gst_mms_base_init):
* ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init):
* ext/nas/nassink.c: (gst_nassink_base_init):
* ext/neon/gstneonhttpsrc.c:
* ext/polyp/polypsink.c: (gst_polypsink_base_init):
* ext/sdl/sdlaudiosink.c:
* ext/sdl/sdlvideosink.c:
* ext/shout/gstshout.c:
* ext/snapshot/gstsnapshot.c:
* ext/sndfile/gstsf.c:
* ext/tarkin/gsttarkindec.c:
* ext/tarkin/gsttarkinenc.c:
* ext/theora/theoradec.c:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
* ext/xvid/gstxviddec.c:
* ext/xvid/gstxvidenc.c:
* gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_base_init):
* gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_base_init):
* gst/chart/gstchart.c:
* gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_base_init):
* gst/festival/gstfestival.c:
* gst/filter/gstiir.c:
* gst/filter/gstlpwsinc.c:
* gst/freeze/gstfreeze.c:
* gst/games/gstpuzzle.c: (gst_puzzle_base_init):
* gst/mixmatrix/mixmatrix.c:
* gst/mpeg1sys/gstmpeg1systemencode.c:
* gst/mpeg1videoparse/gstmp1videoparse.c:
* gst/mpeg2sub/gstmpeg2subt.c:
* gst/mpegaudioparse/gstmpegaudioparse.c:
* gst/multifilesink/gstmultifilesink.c:
* gst/overlay/gstoverlay.c:
* gst/passthrough/gstpassthrough.c:
* gst/playondemand/gstplayondemand.c:
* gst/qtdemux/qtdemux.c:
* gst/rtjpeg/gstrtjpegdec.c:
* gst/rtjpeg/gstrtjpegenc.c:
* gst/smooth/gstsmooth.c:
* gst/tta/gstttadec.c: (gst_tta_dec_base_init):
* gst/tta/gstttaparse.c: (gst_tta_parse_base_init):
* gst/videocrop/gstvideocrop.c:
* gst/videodrop/gstvideodrop.c:
* gst/virtualdub/gstxsharpen.c:
* gst/xingheader/gstxingmux.c: (gst_xing_mux_base_init):
* gst/y4m/gsty4mencode.c:
Unify the long descriptions in the plugin details (#337263).
2006-04-06 11:35:26 +00:00
Wim Taymans
227563fe37 gst/qtdemux/qtdemux.c: Use duration as segment stop position if none is explicitly configured.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_perform_seek),
(gst_qtdemux_do_seek), (gst_qtdemux_loop_state_movie),
(gst_qtdemux_loop):
Use duration as segment stop position if none is
explicitly configured.
Also perform EOS when we run past the segment stop.
2006-04-05 08:36:55 +00:00
Wim Taymans
378bcc051d gst/qtdemux/qtdemux.c: More cleanups, added comments.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_go_back),
(gst_qtdemux_perform_seek), (gst_qtdemux_do_seek),
(gst_qtdemux_loop_state_movie), (gst_qtdemux_loop),
(gst_qtdemux_chain), (qtdemux_parse_tree), (qtdemux_parse_trak):
More cleanups, added comments.
Mark discontinuities on outgoing buffers.
Post better errors when something goes wrong.
Handle EOS and segment end properly.
2006-04-04 11:20:58 +00:00
Wim Taymans
075303cf8e gst/qtdemux/qtdemux.*: Handle stss boxes so we can mark and find keyframes.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_push_event), (gst_qtdemux_go_back),
(gst_qtdemux_perform_seek), (gst_qtdemux_do_seek),
(gst_qtdemux_handle_src_event), (plugin_init),
(gst_qtdemux_change_state), (gst_qtdemux_loop_state_movie),
(gst_qtdemux_loop), (gst_qtdemux_chain),
(qtdemux_sink_activate_pull), (gst_qtdemux_add_stream),
(qtdemux_parse), (qtdemux_parse_tree), (qtdemux_parse_trak),
(qtdemux_parse_udta), (qtdemux_tag_add_str), (qtdemux_tag_add_num),
(qtdemux_tag_add_gnre), (gst_qtdemux_handle_esds):
* gst/qtdemux/qtdemux.h:
Handle stss boxes so we can mark and find keyframes.
Implement correct accurate and keyframe seeking.
Use _DEBUG_OBJECT when possible.
2006-04-04 08:31:10 +00:00
Thomas Vander Stichele
1940330e19 rework build; add translations for v4l2
Original commit message from CVS:
rework build; add translations for v4l2
2006-04-01 10:09:11 +00:00
Edward Hervey
cd1bbadf59 gst/qtdemux/qtdemux.c: Let's not forget to chain up to the parent dispose.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_dispose):
Let's not forget to chain up to the parent dispose.
2006-03-15 15:08:20 +00:00
Edward Hervey
3424048158 gst/qtdemux/qtdemux.c: Series of memleak fixes:
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_class_init),
(gst_qtdemux_init), (gst_qtdemux_dispose),
(gst_qtdemux_add_stream), (qtdemux_parse_trak):
Series of memleak fixes:
- Unref the GstAdapter in finalize.
- Use gst_pad_new_from_static_template(), shorter and safer.
- Free unused QtDemuxStream when not used.
2006-03-15 14:39:25 +00:00
Tim-Philipp Müller
1807bd210f gst/qtdemux/qtdemux.c: Fix build with gcc-4.1 (#327355).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_send_event):
Fix build with gcc-4.1 (#327355).
2006-03-09 20:02:44 +00:00
Tim-Philipp Müller
1ec94df29d gst/qtdemux/qtdemux.c: Extract disc number and count from files that use 'disk' instead of 'disc' as node identifier ...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_udta):
Extract disc number and count from files that use
'disk' instead of 'disc' as node identifier for that
(fixes #332066).
2006-03-08 12:16:14 +00:00
Tim-Philipp Müller
b2d9090014 gst/qtdemux/qtdemux.c: Add support for '3IVD' fourcc (#333403).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add support for '3IVD' fourcc (#333403).
2006-03-05 13:03:40 +00:00
Edward Hervey
6be283efae gst/qtdemux/qtdemux.c: Use GST_WARNING instead of GST_ERROR for all the too short/long atoms when parsing.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse), (qtdemux_parse_trak):
Use GST_WARNING instead of GST_ERROR for all the too short/long atoms
when parsing.
Also let's be a bit less vulgar in our warning messages :)
2006-03-03 11:07:41 +00:00
Tim-Philipp Müller
559094e26c gst/qtdemux/qtdemux.c: Can't divide through zero (suppress warning in case of stream with one single still picture) (...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Can't divide through zero (suppress warning in case of
stream with one single still picture) (see #327083)
2006-02-28 11:59:49 +00:00
Fabrizio Gennari
96c1cd6e0a gst/qtdemux/qtdemux.c: Add support for palettised Apple SMC videos (#327075, based on
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream),
(qtdemux_parse_trak), (qtdemux_video_caps):
Add support for palettised Apple SMC videos (#327075, based on
patch by: Fabrizio Gennari <fabrizio dot ge at tiscali dot it>).
2006-02-24 19:49:32 +00:00
Edward Hervey
7eed67bb6b gst/qtdemux/qtdemux.c: Add 'dvsd' and 'dv25' to list of possible fourcc values for DV Video.
Original commit message from CVS:
Reviewed by : Edward Hervey <edward@fluendo.com>
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add 'dvsd' and 'dv25' to list of possible fourcc values for DV Video.
Add image/png for fourcc 'png '
2006-02-22 09:33:25 +00:00
Tim-Philipp Müller
495d5c58a7 gst/qtdemux/qtdemux.c: Don't GST_LOG timestamps from nonexistent index entries (#331582).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_state_movie):
Don't GST_LOG timestamps from nonexistent index
entries (#331582).
2006-02-17 18:25:42 +00:00
Edward Hervey
027f62e625 gst/qtdemux/qtdemux.c: Check that the size of the returned buffer is of the correct size because the parser assumes t...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_state_header):
Check that the size of the returned buffer is of the correct size
because the parser assumes that.
Fixes #331543.
2006-02-17 16:28:29 +00:00
Edward Hervey
160649c051 gst/qtdemux/qtdemux.c: Don't stop the task if the pad isn't linked.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_src_event),
(gst_qtdemux_loop), (qtdemux_sink_activate_pull):
Don't stop the task if the pad isn't linked.
2006-02-16 14:02:57 +00:00
Tim-Philipp Müller
7531337e94 gst/qtdemux/qtdemux.c: It appears 100% equals 1/1 and not 100/1 ...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_chain):
It appears 100% equals 1/1 and not 100/1 ...
2006-02-15 12:13:47 +00:00
Tim-Philipp Müller
484c2cc160 gst/qtdemux/qtdemux.c: When buffering MDAT data, show the user something is happening by posting 'buffering' messages...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_post_buffering),
(gst_qtdemux_chain):
When buffering MDAT data, show the user something is
happening by posting 'buffering' messages on the bus.
2006-02-15 09:45:27 +00:00
Edward Hervey
45dd1af710 gst/qtdemux/qtdemux.*: Make push-based work if mdat atom is before moov atom.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_handle_src_query), (gst_qtdemux_change_state),
(next_entry_size), (gst_qtdemux_chain):
* gst/qtdemux/qtdemux.h:
Make push-based work if mdat atom is before moov atom.
Don't answer duration query. This should be transformed into replying
FALSE to seek events.
2006-02-14 18:50:13 +00:00
Edward Hervey
44cded3b2f gst/qtdemux/qtdemux.c: Handle the case where data atoms are before moov atoms in push-based mode.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (next_entry_size), (gst_qtdemux_chain):
Handle the case where data atoms are before moov atoms in push-based mode.
Errors out gracefully.
2006-02-14 11:24:53 +00:00
Edward Hervey
7e2a049670 gst/qtdemux/: QtDemux can now work push-based.
Original commit message from CVS:
* gst/qtdemux/Makefile.am:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_handle_sink_event), (gst_qtdemux_change_state),
(extract_initial_length_and_fourcc),
(gst_qtdemux_loop_state_header), (gst_qtdemux_loop_state_movie),
(gst_qtdemux_loop_header), (next_entry_size), (gst_qtdemux_chain),
(qtdemux_sink_activate), (qtdemux_sink_activate_pull),
(qtdemux_sink_activate_push), (qtdemux_parse_trak):
* gst/qtdemux/qtdemux.h:
QtDemux can now work push-based.
It still needs some love for seeking.
2006-02-13 22:04:42 +00:00
Thomas Vander Stichele
8a4adb4ab9 remove unused var
Original commit message from CVS:
remove unused var
2006-02-07 18:31:31 +00:00
Thomas Vander Stichele
6342cdf0ec gst/qtdemux/qtdemux.c: use the correct variable to check if we can calculate the last chunk. Looks like an obvious b...
Original commit message from CVS:

* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_trak):
use the correct variable to check if we can calculate
the last chunk.  Looks like an obvious bug, and makes
the dump of offsets comparable to other tools
2006-02-07 18:01:17 +00:00
Thomas Vander Stichele
6aac14d041 gst/qtdemux/qtdemux.c: clean up some debugging, using _OBJECT, moving recurring messages to LOG level
Original commit message from CVS:

* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_trak):
clean up some debugging, using _OBJECT, moving recurring
messages to LOG level
2006-02-07 17:54:42 +00:00
Wim Taymans
2651b40adf gst/qtdemux/qtdemux.*: Some QT demux loving.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_src_query),
(gst_qtdemux_handle_src_event), (gst_qtdemux_loop_header),
(qtdemux_inflate), (qtdemux_parse), (qtdemux_parse_trak),
(qtdemux_parse_udta), (qtdemux_tag_add_str), (qtdemux_tag_add_num),
(qtdemux_tag_add_gnre), (gst_qtdemux_handle_esds),
(qtdemux_video_caps), (qtdemux_audio_caps):
* gst/qtdemux/qtdemux.h:
Some QT demux loving.
Handle seeking in a less broken way.
Fix AMR caps to match the AMR decoder.
Set first timestamp on AMR samples to 0 for now.
Remove some \n in DEBUG strings.
Use _scale_int for maximum precision.
2006-02-06 15:41:25 +00:00
Tim-Philipp Müller
7814b56eee gst/qtdemux/qtdemux.c: Fix wrong memcpy source pointer.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Fix wrong memcpy source pointer.
2006-01-26 16:23:42 +00:00
Edward Hervey
98acdd1dc3 gst/qtdemux/qtdemux.c: More coherent framerate setting on caps.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_parse_trak):
More coherent framerate setting on caps.
If sample_size is available, use that for the samples' duration in
the index. This enables single frame streams to work (and I imagine
fixes some other cases).
Tested on testsuite, no regression.
2006-01-24 11:58:53 +00:00
Edward Hervey
07d2fd89cb gst/qtdemux/qtdemux.c: Added codec recognition for: _ VP31 : video/x-vp3 _ AVDJ : image/jpeg _ dvcp, dvc : video/x-d...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak),
(qtdemux_video_caps), (qtdemux_audio_caps):
Added codec recognition for:
_ VP31 : video/x-vp3
_ AVDJ : image/jpeg
_ dvcp, dvc  : video/x-dv, systemstream=(boolean)false
_ 0x6d730017 : audio/x-adpcm, layout=(string)quicktime
2006-01-23 15:10:55 +00:00
Fabrizio
e3ba1c0fd5 gst/qtdemux/qtdemux.c: 'twos' and 'sowt' fourcc can be 16bit or 8bit audio.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak),
(qtdemux_audio_caps):
'twos' and 'sowt' fourcc can be 16bit or 8bit audio.
Fix 8bit case (#327133, based on patch by: Fabrizio
Gennari <fabrizio dot ge at tiscali dot it>).
Also, "G_LITTLE_ENDIAN" and "G_BIG_ENDIAN" are not
valid literals for endianness in caps strings,
only "LITTLE_ENDIAN" and "BIG_ENDIAN" are valid.
2006-01-21 11:43:53 +00:00
Edgard Lima
83b6cbc438 Ronald's patch applied. see bug #326318.
Original commit message from CVS:
Ronald's patch applied. see bug #326318.
2006-01-18 18:54:02 +00:00
Tim-Philipp Müller
2a789d3ded gst/qtdemux/qtdemux.*: Fix seeking for quicktime files. Could still use some more love and sophistication.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_send_event), (gst_qtdemux_handle_src_event),
(gst_qtdemux_change_state), (gst_qtdemux_loop_header):
* gst/qtdemux/qtdemux.h:
Fix seeking for quicktime files. Could still use some more
love and sophistication.
2006-01-17 16:45:43 +00:00
Edward Hervey
9c40ff11f5 gst/qtdemux/qtdemux.c: Add support for Indeo3 video in Quicktime files.
Original commit message from CVS:
reviewed by: Edward Hervey  <edward@fluendo.com>
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add support for Indeo3 video in Quicktime files.
Closes #326524
2006-01-11 11:04:03 +00:00
Edward Hervey
0deb191d3e ext/swfdec/gstswfdec.c: Add debugging category and return GstFlowReturn in the right places
Original commit message from CVS:
* ext/swfdec/gstswfdec.c: (gst_swfdec_class_init),
(gst_swfdec_chain), (gst_swfdec_render):
Add debugging category and return GstFlowReturn in the right places
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_link):
Get something from the peer pad once we've checked if there is a peer pad.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(qtdemux_tree_get_child_by_type), (qtdemux_parse_trak),
(qtdemux_video_caps):
Couple of fixes
2005-12-19 15:19:44 +00:00
Jan Schmidt
85dfaeb2ce ext/faad/gstfaad.c: Assume that an unknown channel mapping with 2 channels is stereo and play it that way instead of ...
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_chanpos_to_gst),
(gst_faad_update_caps):
Assume that an unknown channel mapping with 2 channels
is stereo and play it that way instead of erroring.

* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_parse_trak):
Handle e.g. jpeg streams with 0 duration frames as having 0 framerate.
Debug fixes. Some 64 bit variable fixes
2005-12-09 15:30:21 +00:00
Edward Hervey
82d3a26a56 gst/qtdemux/qtdemux.c: Memleak fixes.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream):
Memleak fixes.
Send out EOS for valid reasons (couldn't pull_range() from upstream
for example).
2005-12-07 11:46:15 +00:00
Thomas Vander Stichele
b6540959e6 expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:55:58 +00:00
Edward Hervey
2a46b7cf76 ext/faad/gstfaad.c: Handle gracefully the consequence of "Maximum number of scalefactor bands exceeded", which result...
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_srcgetcaps):
Handle gracefully the consequence of "Maximum number of scalefactor
bands exceeded", which results in 0 channels with samplerates of 0.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state):
Do upward transitions, then call parent state_change, then do
downward transitions.
2005-11-28 15:43:29 +00:00
Jan Schmidt
d253f41afd gst/qtdemux/qtdemux.c: Convert to fractional framerates
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_dump_mvhd),
(qtdemux_parse_trak):
Convert to fractional framerates
2005-11-23 11:57:51 +00:00
Andy Wingo
cb825feb2c ext/faad/gstfaad.c (gst_faad_event) ext/ivorbis/vorbisfile.c (gst_ivorbisfile_loop) gst/qtdemux/qtdemux.c (gst_qtdemu...
Original commit message from CVS:
2005-11-22  Andy Wingo  <wingo@pobox.com>

* ext/faad/gstfaad.c (gst_faad_event)
* ext/ivorbis/vorbisfile.c (gst_ivorbisfile_loop)
* gst/qtdemux/qtdemux.c (gst_qtdemux_loop_header)
* gst/speed/gstspeed.c (speed_sink_event)
* gst/tta/gstttaparse.c (gst_tta_parse_src_event)
(gst_tta_parse_parse_header): Run update-funcnames.
2005-11-22 11:57:51 +00:00
Wim Taymans
b99bef3e58 Fix for stream lock updates.
Original commit message from CVS:
* ext/faac/gstfaac.c: (gst_faac_sink_event):
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_src_event):
* gst/tta/gstttaparse.c: (gst_tta_parse_src_event):
Fix for stream lock updates.
2005-11-21 17:37:41 +00:00
Tim-Philipp Müller
e48904d47f gst/qtdemux/qtdemux.c: j@bootlab.org, #321903).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add DX50, DIVX and DIV3 fourccs (patch by
j@bootlab.org, #321903).
2005-11-21 16:45:46 +00:00
Tim-Philipp Müller
09eabf5cf9 Update for GST_FOURCC_FORMAT API change.
Original commit message from CVS:
* ext/directfb/dfbvideosink.c:
(gst_dfbvideosink_get_format_from_caps):
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_create):
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse), (qtdemux_type_get), (qtdemux_node_dump_foreach),
(qtdemux_dump_hdlr), (qtdemux_dump_dref), (qtdemux_dump_stsd),
(qtdemux_dump_dcom), (qtdemux_parse_trak), (qtdemux_video_caps),
(qtdemux_audio_caps):
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_v4l2fourcc_to_caps):
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_fill_format_list),
(gst_v4l2src_capture_init), (gst_v4l2src_get_size_limits):
Update for GST_FOURCC_FORMAT API change.
2005-11-21 14:39:04 +00:00
Tim-Philipp Müller
9c38390e83 gst/qtdemux/qtdemux.c: Add support for custom genre tags.
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* gst/qtdemux/qtdemux.c: (qtdemux_parse_udta):
Add support for custom genre tags.
2005-11-10 12:34:26 +00:00
Tim-Philipp Müller
e7a14b7a00 gst/qtdemux/qtdemux.h: Remove got_redirect from class structure as well.
Original commit message from CVS:
* gst/qtdemux/qtdemux.h:
Remove got_redirect from class structure as well.
2005-10-27 11:27:53 +00:00
Tim-Philipp Müller
e3b9734659 gst/qtdemux/qtdemux.c: Remove 'got-redirect' signal and post element message on the bus instead.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_class_init),
(qtdemux_parse_tree):
Remove 'got-redirect' signal and post element message
on the bus instead.
2005-10-27 11:25:19 +00:00
Wim Taymans
3ab46f21f0 gst/: API change fix.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_src_query_types),
(gst_qtdemux_handle_src_query):
* gst/speed/gstspeed.c: (speed_get_query_types), (speed_src_query):
* gst/tta/gstttaparse.c: (gst_tta_parse_src_event),
(gst_tta_parse_get_query_types), (gst_tta_parse_query):
API change fix.
2005-10-19 15:58:00 +00:00
Wim Taymans
b0e9b53bb7 gst/: newsegment API update.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header):
* gst/tta/gstttaparse.c: (gst_tta_parse_src_event),
(gst_tta_parse_parse_header):
newsegment API update.
2005-10-11 16:34:36 +00:00
Wim Taymans
240fc75fba gst/qtdemux/qtdemux.c: No need to take stream lock here.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header):
No need to take stream lock here.
2005-09-28 13:38:02 +00:00
Thomas Vander Stichele
bcf4791a47 cleaning up bad
Original commit message from CVS:
cleaning up bad
2005-09-05 15:10:18 +00:00
Christian Schaller
2f099008fa removing README from Makefile.am as its gone from CVS
Original commit message from CVS:
removing README from Makefile.am as its gone from CVS
2005-08-17 11:30:19 +00:00
Ronald S. Bultje
51a630d417 gst/: Uncomment metadata and codec-name handling.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_stream_header):
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_add_stream), (qtdemux_parse_tree):
Uncomment metadata and codec-name handling.
2005-08-16 16:30:23 +00:00
Ronald S. Bultje
2ba9064bf8 Handle _push() return values.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_event), (gst_faad_chain):
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header):
Handle _push() return values.
2005-08-16 09:54:10 +00:00
Ronald S. Bultje
79b78818c8 Fix debug.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_event):
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header):
Fix debug.
2005-08-15 15:58:49 +00:00
Ronald S. Bultje
0df0fa7a35 gst/qtdemux/qtdemux.c: Forwardport from 0.8 to implement RLE.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak),
(qtdemux_video_caps):
Forwardport from 0.8 to implement RLE.
2005-08-15 13:44:50 +00:00
Thomas Vander Stichele
7b26b4d950 licensing, name and description changes
Original commit message from CVS:
licensing, name and description changes
2005-08-14 16:10:55 +00:00
Ronald S. Bultje
1d185d4127 ext/faad/gstfaad.c: Add debug category, remove Close() call that made it crash whenever reusing, renegotiating or any...
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_class_init), (gst_faad_setcaps):
Add debug category, remove Close() call that made it crash
whenever reusing, renegotiating or anything; Close() actually
free()s the handle and should only be called on READY->NULL.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header):
Actually set caps on buffer (in addition to pad), also.
2005-08-10 09:33:58 +00:00
Ronald S. Bultje
53ba9736e8 ext/faad/gstfaad.c: Sign/unsign mismatch.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_event):
Sign/unsign mismatch.
* configure.ac:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_class_init),
(gst_qtdemux_init), (gst_qtdemux_get_src_query_types),
(gst_qtdemux_handle_src_query), (gst_qtdemux_handle_src_event),
(plugin_init), (gst_qtdemux_handle_sink_event),
(gst_qtdemux_change_state), (gst_qtdemux_loop_header),
(qtdemux_sink_activate), (qtdemux_sink_activate_pull),
(gst_qtdemux_add_stream), (qtdemux_parse), (qtdemux_parse_tree),
(qtdemux_parse_trak), (qtdemux_video_caps), (qtdemux_audio_caps):
* gst/qtdemux/qtdemux.h:
Half-assed port (hey, it works).
2005-08-09 14:43:48 +00:00
Ronald S. Bultje
d99719d80a gst/qtdemux/qtdemux.c: Change caps on MJPEG-B so it doesn't interfere with MJPEG/JPEG.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Change caps on MJPEG-B so it doesn't interfere with MJPEG/JPEG.
2005-02-02 17:22:59 +00:00
Ronald S. Bultje
a344cdce4d gst/qtdemux/qtdemux.c: Add 3IV2 fourcc.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add 3IV2 fourcc.
2005-01-29 20:31:47 +00:00
Ronald S. Bultje
0e5276ed14 gst/qtdemux/qtdemux.c: Re-apply patch from #142272 that allows non-seekable sources,
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header):
Re-apply patch from #142272 that allows non-seekable sources,
re-proposed by Daniel Drake <dsd@gentoo.org>.
2005-01-29 12:55:18 +00:00
Ronald S. Bultje
d1fc8e9747 Add support for AMR-NB (mobile phone audio format; #155163, #163286).
Original commit message from CVS:
* configure.ac:
* ext/Makefile.am:
* ext/amrnb/Makefile.am:
* ext/amrnb/amrnb.c: (plugin_init):
* ext/amrnb/amrnbdec.c: (gst_amrnbdec_get_type),
(gst_amrnbdec_base_init), (gst_amrnbdec_class_init),
(gst_amrnbdec_init), (gst_amrnbdec_link), (gst_amrnbdec_chain),
(gst_amrnbdec_state_change):
* ext/amrnb/amrnbdec.h:
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_get_type),
(gst_amrnbparse_base_init), (gst_amrnbparse_class_init),
(gst_amrnbparse_init), (gst_amrnbparse_formats),
(gst_amrnbparse_querytypes), (gst_amrnbparse_query),
(gst_amrnbparse_handle_event), (gst_amrnbparse_reserve),
(gst_amrnbparse_loop), (gst_amrnbparse_state_change):
* ext/amrnb/amrnbparse.h:
Add support for AMR-NB (mobile phone audio format; #155163, #163286).
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
Add AMR-NB/-WB raw formats.
* ext/alsa/gstalsa.c: (gst_alsa_link):
Keep valid time when changing format.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_trak):
Add some more format-specific options (#140141, #143555, #155163).
2005-01-28 10:36:12 +00:00
Ronald S. Bultje
20a14f8b13 gst/qtdemux/qtdemux.c: More memory leak fixes (#149162).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (gst_qtdemux_handle_esds):
More memory leak fixes (#149162).
2005-01-18 12:30:05 +00:00
Ronald S. Bultje
28215a31c1 gst/qtdemux/qtdemux.c: Fix two memleaks.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_add_stream):
Fix two memleaks.
2005-01-17 23:44:06 +00:00
Ronald S. Bultje
b3f034287c gst/qtdemux/qtdemux.c: Also shove tags on kid pads.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_tree):
Also shove tags on kid pads.
2005-01-10 16:24:14 +00:00
Ronald S. Bultje
73fdfd3298 gst/qtdemux/qtdemux.c: Fix warning (#161191).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event):
Fix warning (#161191).
2005-01-09 20:51:18 +00:00
Ronald S. Bultje
eef19db944 examples/gstplay/player.c: Don't iterate.
Original commit message from CVS:
* examples/gstplay/player.c: (main):
Don't iterate.
* examples/seeking/seek.c: (fixate), (make_playerbin_pipeline):
Add visualizations.
* ext/a52dec/gsta52dec.c: (gst_a52dec_push),
(gst_a52dec_handle_frame):
Set duration.
* ext/dvdnav/gst-dvd:
Add audioconvert. Fixes #161325.
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_get):
Explicitely case to gint64. Possible valgrind error.
* gst-libs/gst/play/play.c: (caps_set), (setup_size),
(gst_play_tick_callback), (gst_play_change_state),
(gst_play_dispose), (gst_play_init), (gst_play_class_init),
(gst_play_set_location), (gst_play_get_location),
(gst_play_seek_to_time), (gst_play_set_data_src),
(gst_play_set_video_sink), (gst_play_set_audio_sink),
(gst_play_set_visualization), (gst_play_connect_visualization),
(gst_play_get_framerate), (gst_play_get_all_by_interface),
(gst_play_new):
Use playbin. Fixes #139749 and #147744.
* gst/apetag/apedemux.c: (gst_ape_demux_parse_tags):
Add genre tag.
* gst/audioscale/gstaudioscale.c: (gst_audioscale_method_get_type),
(audioscale_get_type), (gst_audioscale_base_init),
(gst_audioscale_class_init), (gst_audioscale_expand_caps),
(gst_audioscale_getcaps), (gst_audioscale_fixate),
(gst_audioscale_link), (gst_audioscale_get_buffer),
(gst_audioscale_decrease_rate), (gst_audioscale_increase_rate),
(gst_audioscale_init), (gst_audioscale_dispose),
(gst_audioscale_chain), (gst_audioscale_set_property),
(gst_audioscale_get_property), (plugin_init):
Indent properly.
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_private):
Fix LPCM.
* gst/qtdemux/qtdemux.c: (qtdemux_parse_udta),
(qtdemux_tag_add_str), (qtdemux_tag_add_num),
(qtdemux_tag_add_gnre), (qtdemux_video_caps):
Add more metadata (fixes #162656).
2005-01-05 14:56:27 +00:00
Ronald S. Bultje
a0f3fb2a36 gst/: Add 3GP (variables name Q3GP because they can't start with a decoder is work in progress. Also do a GST_WARNING...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_type_get), (qtdemux_audio_caps):
* gst/typefind/gsttypefindfunctions.c: (q3gp_type_find),
(plugin_init):
Add 3GP (variables name Q3GP because they can't start with a
number). Add samr audio fourcc (used in .3gp files), decoder
is work in progress. Also do a GST_WARNING instead of ERROR
in case of unknown nodes, to decrease output.
2004-12-24 12:58:17 +00:00
Stéphane Loeuillet
77f52f2943 add s263 4CC code to qtdemux too
Original commit message from CVS:
add s263 4CC code to qtdemux too
2004-12-13 00:54:14 +00:00
David Schleef
928610009f gst/qtdemux/qtdemux.c: Change all g_print()s to debugging. Add a bunch of consistency checks.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_parse), (qtdemux_parse_tree),
(qtdemux_parse_udta), (qtdemux_tag_add), (gst_qtdemux_handle_esds):
Change all g_print()s to debugging.  Add a bunch of consistency
checks.
2004-11-02 23:50:15 +00:00
Wim Taymans
df4615ea20 gst/qtdemux/qtdemux.c: An esds box is not a container.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse), (gst_qtdemux_handle_esds):
An esds box is not a container.
Fix parsing of mp4v boxes.
Do not try to renegotiate fps for each frame. Need to
find a better method. This should fix mp4 playback.
2004-10-15 09:19:37 +00:00
Ronald S. Bultje
89e2912bad gst-libs/gst/riff/riff-media.c: Add DIB fourcc (raw, palettized 8-bit RGB).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
Add DIB fourcc (raw, palettized 8-bit RGB).
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data):
Oops, fix strf_data reading bug.
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Use a non-NULL tag.
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Time for hacks. Sorry Dave. At least one quicktime movie (a
trailer) that I've encountered contains multiple video tracks.
One of those is the actual video track, the other are one-frame
tracks (images). Unfortunately, the number of frames according
to the trak header is 1 for each, so that doesn't help. So
instead, I look at the duration and discard tracks with a
duration shorter than 20% of the length of the stream. Better
than nothing.
2004-10-02 14:10:19 +00:00
Ronald S. Bultje
40cec75c3f ext/dirac/: Do something. Don't actually know if this works because I don't have a demuxer yet.
Original commit message from CVS:
* ext/dirac/Makefile.am:
* ext/dirac/gstdirac.cc:
* ext/dirac/gstdiracdec.cc:
* ext/dirac/gstdiracdec.h:
Do something. Don't actually know if this works because I don't
have a demuxer yet.
* ext/gsm/gstgsmdec.c: (gst_gsmdec_getcaps):
Add channels=1 to caps returned from _getcaps().
* ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_get_type),
(gst_ogm_video_parse_get_type), (gst_ogm_audio_parse_base_init),
(gst_ogm_video_parse_base_init), (gst_ogm_parse_init),
(gst_ogm_audio_parse_init), (gst_ogm_video_parse_init),
(gst_ogm_parse_sink_convert), (gst_ogm_parse_chain),
(gst_ogm_parse_change_state):
Separate between audio/video so ogmaudioparse actually uses the
audio pad templates. Both audio and video work now, including
autoplugging. Also use sometimes-srcpad hack.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek):
Handle events better. Don't hang on infinite loops.
* gst/avi/gstavidemux.c: (gst_avi_demux_class_init),
(gst_avi_demux_init), (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query),
(gst_avi_demux_stream_header), (gst_avi_demux_stream_data),
(gst_avi_demux_change_state):
* gst/avi/gstavidemux.h:
Improve A/V sync. Still not perfect.
* gst/matroska/ebml-read.c: (gst_ebml_read_seek),
(gst_ebml_read_skip):
Handle events better.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(gst_qtdemux_loop_header), (qtdemux_parse_trak),
(qtdemux_audio_caps):
Add IMA4. Improve event handling. Save offset after a seek when
the headers are at the end of the file so that we don't end up in
an infinite loop.
* gst/typefind/gsttypefindfunctions.c: (qt_type_find):
Add low-priority typefind support for files with no length.
2004-09-23 14:59:22 +00:00
David Schleef
09bf152f96 configure.ac: remove NASM check, since we don't use it. Update dirac check to 0.4
Original commit message from CVS:
* configure.ac: remove NASM check, since we don't use it.  Update
dirac check to 0.4
* ext/dirac/gstdiracdec.cc: update to current 0.4 API
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
Initialized variables.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (qtdemux_parse), (qtdemux_parse_trak),
(gst_qtdemux_handle_esds), (qtdemux_audio_caps): Fix seeking, add
SVQ3 format
2004-09-15 19:29:24 +00:00
Ronald S. Bultje
fcf36c760a gst/qtdemux/qtdemux.c: Don't crash by dividing by zero (see sample movie in #126922).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream),
(qtdemux_parse_trak):
Don't crash by dividing by zero (see sample movie in #126922).
2004-09-13 20:13:32 +00:00
Ronald S. Bultje
914e95a5dc gst/qtdemux/qtdemux.c: Don't touch non-existing data (fixes crash on file in #140147).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_audio_caps):
Don't touch non-existing data (fixes crash on file in #140147).
2004-09-13 19:38:42 +00:00
Steve Lhomme
e7045bdb87 more working plugins
Original commit message from CVS:
more working plugins
2004-07-27 21:41:30 +00:00
Steve Lhomme
5e4e09cd5c rename GStreamer-0.8.lib to libgstreamer.lib
Original commit message from CVS:
rename GStreamer-0.8.lib to libgstreamer.lib
2004-07-27 09:57:33 +00:00
Steve Lhomme
48429b2cdc avoid problems with math.h, fix release dependancy
Original commit message from CVS:
avoid problems with math.h, fix release dependancy
2004-07-27 09:48:51 +00:00
Steve Lhomme
337ca13b95 more plugins supported under windows
Original commit message from CVS:
more plugins supported under windows
2004-07-26 13:20:10 +00:00
Ronald S. Bultje
45b9c25415 gst/qtdemux/qtdemux.*: Bitch. Also known as seeking, querying & co.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_handle_src_query), (gst_qtdemux_handle_src_event),
(gst_qtdemux_handle_sink_event), (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (qtdemux_dump_mvhd),
(qtdemux_parse_trak):
* gst/qtdemux/qtdemux.h:
Bitch. Also known as seeking, querying & co.
* sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_chain),
(gst_osssink_change_state):
* sys/oss/gstosssink.h:
Resyncing is for weenies, this hack is no longer needed and was
broken anyway (since it - unintendedly - always leaves resync to
TRUE).
2004-06-05 18:50:48 +00:00
Stéphane Loeuillet
ec8a1bb76c first batch : remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
Original commit message from CVS:

first batch :
remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
2004-05-21 22:39:30 +00:00
David Moore
7a9127835c gst/qtdemux/qtdemux.c: Patch from dcm@acm.org (David Moore) to allow qtdemux to use non-seekable streams. (bug #142272)
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header):  Patch from dcm@acm.org (David Moore)
to allow qtdemux to use non-seekable streams. (bug #142272)
2004-05-19 06:23:38 +00:00
David Schleef
63d2359147 ext/esd/esdsink.c: Fix crash when ESD is killed while we're playing.
Original commit message from CVS:
* ext/esd/esdsink.c: (gst_esdsink_chain): Fix crash when ESD
is killed while we're playing.
* gst/qtdemux/qtdemux.c: (qtdemux_parse): call
gst_element_no_more_pads().
2004-05-14 19:26:35 +00:00
David Schleef
cdfd00d33e gst/qtdemux/qtdemux.c: More qtdemux hackage -- parse a lot more atoms, extract a few tags. One might even mistake th...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_parse), (qtdemux_type_get),
(qtdemux_dump_stsz), (qtdemux_dump_stco), (qtdemux_dump_co64),
(qtdemux_dump_unknown), (qtdemux_parse_tree), (qtdemux_parse_udta),
(qtdemux_tag_add), (get_size), (gst_qtdemux_handle_esds): More qtdemux
hackage -- parse a lot more atoms, extract a few tags.  One might even
mistake this for tag support.  Maybe it is.
* gst/qtdemux/qtdemux.h:
2004-05-01 01:46:16 +00:00
David Schleef
971c2a18cd gst/qtdemux/qtdemux.c: Hacked up qtdemux to make it spit out codec_data. Do _not_ look at this code; you will no lon...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream), (qtdemux_parse),
(qtdemux_parse_trak), (get_size), (gst_qtdemux_handle_esds): Hacked
up qtdemux to make it spit out codec_data.  Do _not_ look at this
code; you will no longer respect me.
2004-04-30 02:19:16 +00:00
Thomas Vander Stichele
0a4089343d ext/jpeg/: move format setting to inner loop
Original commit message from CVS:
* ext/jpeg/gstjpegdec.c: (gst_jpegdec_get_type):
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_get_type),
(gst_jpegenc_getcaps):
move format setting to inner loop
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcolorspace_getcaps):
use GST_PAD_CAPS if available so that we use already negotiated
caps
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_moov), (qtdemux_parse):
extra debugging
* sys/qcam/qcam-Linux.c: (qc_lock_wait), (qc_unlock):
* sys/qcam/qcam-os.c: (qc_lock_wait), (qc_unlock):
move hardcoded path to DEFINE
2004-04-29 17:37:01 +00:00
Ronald S. Bultje
9e67f51a37 ext/divx/gstdivxdec.c: Remove comment that makes no sense.
Original commit message from CVS:
* ext/divx/gstdivxdec.c: (plugin_init):
Remove comment that makes no sense.
* ext/mad/gstid3tag.c: (gst_id3_tag_set_property):
Fix for obvious typo that resulted in warnings during gst-register.
* ext/xvid/gstxviddec.c: (gst_xviddec_src_link),
(gst_xviddec_sink_link):
Fix caps negotiation a bit better.
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
We call this 'codec_data', not 'esds'.
2004-04-28 03:13:48 +00:00
David Schleef
51c2962476 configure.ac: bump required gstreamer version to 0.8.1.1 because of following changes [--ds]
Original commit message from CVS:
reviewed by David Schleef
* configure.ac: bump required gstreamer version to 0.8.1.1
because of following changes [--ds]
* gst-libs/gst/riff/riff-read.c:  Include gst/gstutils.h.
(gst_riff_peek_head, gst_riff_peek_list, gst_riff_read_list)
(gst_riff_read_header):  Use GST_READ_UINT*
macros to access possibly unaligned memory.
* gst/typefind/gsttypefindfunctions.c: Include gst/gstutils.h.
(mp3_type_find):  Use GST_READ_UINT*
macros to access possibly unaligned memory.
(mp3_type_find, mpeg1_parse_header, qt_type_find)
(speex_type_find): Likewise
* gst/tags/gstvorbistag.c: (ADVANCE): Likewise
* gst/qtdemux/qtdemux.c: Include stdlib.h (needed by realloc).
(QTDEMUX_GUINT32_GET, QTDEMUX_GUINT16_GET, QTDEMUX_FP32_GET)
(QTDEMUX_FP16_GET, QTDEMUX_FOURCC_GET)
(gst_qtdemux_loop_header, gst_qtdemux_loop_header)
(qtdemux_node_dump_foreach, qtdemux_tree_get_child_by_type)
(qtdemux_tree_get_sibling_by_type):  Use GST_READ_UINT*
macros to access possibly unaligned memory.
* gst/mpegstream/gstmpegpacketize.c: (parse_generic, parse_chunk):
Likewise.
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead)
(gst_mpeg_demux_parse_packet, gst_mpeg_demux_parse_pes): Likewise.
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain):
Likewise.
* gst/mpeg2sub/gstmpeg2subt.c: (GST_BUFFER_DATA)
(gst_mpeg2subt_chain_subtitle): Likewise.
* gst/mpeg1videoparse/gstmp1videoparse.c: (mp1videoparse_parse_seq)
(gst_mp1videoparse_time_code, gst_mp1videoparse_real_chain):
Likewise.
* gst/mpeg1sys/buffer.c: (mpeg1mux_buffer_update_audio_info):
Likewise.
* gst/cdxaparse/gstcdxaparse.c: (gst_bytestream_peek_bytes):
Likewise.
* gst/asfdemux/gstasfdemux.c: (_read_var_length, _read_uint):
Likewise.
2004-04-20 21:04:21 +00:00
David Schleef
13d3bec095 gst/qtdemux/qtdemux.c: A number of new features and hacks to extract the esds atom and put it into the caps. (bug #1...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(qtdemux_parse), (qtdemux_type_get), (qtdemux_dump_mvhd),
(qtdemux_dump_tkhd), (qtdemux_dump_stsd), (qtdemux_dump_unknown),
(qtdemux_parse_trak), (qtdemux_video_caps), (qtdemux_audio_caps):
A number of new features and hacks to extract the esds atom and
put it into the caps.  (bug #137724)
2004-04-20 08:27:15 +00:00
Ronald S. Bultje
2d0b40d77c ext/gsm/gstgsmdec.c: Fix capsnego, simplify chain function slightly.
Original commit message from CVS:
* ext/gsm/gstgsmdec.c: (gst_gsmdec_init), (gst_gsmdec_getcaps),
(gst_gsmdec_link), (gst_gsmdec_chain):
Fix capsnego, simplify chain function slightly.
* gst/qtdemux/qtdemux.c: (qtdemux_audio_caps):
Add GSM.
2004-04-19 02:00:24 +00:00
Ronald S. Bultje
26fe995a13 gst/: Add MS RLE support. I added some functions to read out strf chunks into strf chunks and the data behind it. Thi...
Original commit message from CVS:
reviewed by: <delete if not using a buddy>
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_caps), (gst_riff_create_audio_caps),
(gst_riff_create_video_template_caps),
(gst_riff_create_audio_template_caps):
* gst-libs/gst/riff/riff-media.h:
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data), (gst_riff_read_strf_vids):
* gst-libs/gst/riff/riff-read.h:
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Add MS RLE support. I added some functions to read out strf chunks
into strf chunks and the data behind it. This is usually color
palettes (as in RLE, but also in 8-bit RGB). Also use those during
caps creation. Lastly, add ADPCM (similar to wavparse - which
should eventually be rifflib based).
* gst/matroska/matroska-demux.c: (gst_matroska_demux_class_init),
(gst_matroska_demux_init), (gst_matroska_demux_reset):
* gst/matroska/matroska-demux.h:
Remove placeholders for some prehistoric tagging system. Didn't add
support for any tag system really anyway.
* gst/qtdemux/qtdemux.c:
Add support for audio/x-m4a (MPEG-4) through spider.
* gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt),
(gst_wavparse_loop):
ADPCM support (#135862). Increase max. buffer size because we
cannot split buffers for ADPCM (screws references) and I've seen
files with 2048 byte chunks. 4096 seems safe for now.
2004-04-16 01:20:44 +00:00
David Schleef
4e902f5346 gst/qtdemux/qtdemux.c: Fix debugging messages. Divide the chunk size by the compression ratio (needed for MACE audio)
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(gst_qtdemux_loop_header), (qtdemux_parse_moov), (qtdemux_parse),
(qtdemux_node_dump_foreach), (qtdemux_dump_mvhd),
(qtdemux_dump_tkhd), (qtdemux_dump_elst), (qtdemux_dump_mdhd),
(qtdemux_dump_hdlr), (qtdemux_dump_vmhd), (qtdemux_dump_dref),
(qtdemux_dump_stsd), (qtdemux_dump_stts), (qtdemux_dump_stss),
(qtdemux_dump_stsc), (qtdemux_dump_stsz), (qtdemux_dump_stco),
(qtdemux_dump_co64), (qtdemux_dump_dcom), (qtdemux_dump_cmvd),
(qtdemux_parse_tree), (qtdemux_parse_trak):  Fix debugging
messages.  Divide the chunk size by the compression ratio
(needed for MACE audio)
2004-03-24 08:33:06 +00:00
Thomas Vander Stichele
6cc1c73d2b don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:32:27 +00:00
Johan Dahlin
5acffea623 *.h: Revert indenting
Original commit message from CVS:
* *.h: Revert indenting
2004-03-15 16:32:54 +00:00
Thomas Vander Stichele
5d25c00e4b gst-indent
Original commit message from CVS:
gst-indent
2004-03-14 22:34:33 +00:00
Ronald S. Bultje
9a78b5acf6 gst/qtdemux/qtdemux.c: Fix for obvious mistake, where we first shift the offset and then read a samplesize element as...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Fix for obvious mistake, where we first shift the offset and then
read a samplesize element assuming the old offset. Note that this
part still has something weird, i.e. my movies containing those
don't actually play well, but at least there's something that looks
like sound now.
2004-03-14 05:43:33 +00:00
David Schleef
7193017158 gst/qtdemux/qtdemux.c: Added Cinepak format (bug #136470)
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):  Added Cinepak
format (bug #136470)
2004-03-07 22:07:20 +00:00
Ronald S. Bultje
9665e6768f gst/qtdemux/qtdemux.c: Fix crash (j might be greater than n_samples, in which case we're writing outside the allocate...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream),
(qtdemux_parse_trak):
Fix crash (j might be greater than n_samples, in which case we're
writing outside the allocated space for the array) and memleak.
2004-03-07 04:03:27 +00:00
David Schleef
9331801a62 ext/faad/gstfaad.c: Fix negotiation.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_init), (gst_faad_srcgetcaps),
(gst_faad_chain): Fix negotiation.
* ext/librfb/gstrfbsrc.c: (gst_rfbsrc_handle_src_event): Add
key and button events.
* gst-libs/gst/floatcast/floatcast.h: Fix a minor bug in this
dung heap of code.
* gst-libs/gst/gconf/gstreamer-gconf-uninstalled.pc.in: gstgconf
depends on gconf
* gst-libs/gst/gconf/gstreamer-gconf.pc.in: same
* gst-libs/gst/play/play.c: (gst_play_pipeline_setup),
(gst_play_video_fixate), (gst_play_audio_fixate): Add a fixate
function to encourage better negotiation, particularly between
audioconvert and osssink.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain):
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):  Make some debugging
more important.
* gst/typefind/gsttypefindfunctions.c:  Fix mistake in flash
typefinding.
* gst/vbidec/vbiscreen.c:  Add glib header
* pkgconfig/gstreamer-play.pc.in:  Depends on gst-interfaces.
2004-03-06 00:42:19 +00:00
David Schleef
29926c75c5 gst/qtdemux/qtdemux.c: Add prototype code for handling seeking and querying.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_src_formats),
(gst_qtdemux_src_convert), (gst_qtdemux_get_src_query_types),
(gst_qtdemux_get_event_mask), (gst_qtdemux_handle_src_query),
(gst_qtdemux_handle_src_event), (gst_qtdemux_add_stream):
Add prototype code for handling seeking and querying.
2004-03-05 08:37:01 +00:00
David Schleef
e913ff5a5a gst/qtdemux/qtdemux.c: Cleanups. Convert g_prints to GST_LOGs. Add qtdemux debug category. Attempt to fix timestam...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (plugin_init), (gst_qtdemux_loop_header),
(qtdemux_parse_moov), (qtdemux_parse), (qtdemux_node_dump_foreach),
(qtdemux_dump_mvhd), (qtdemux_dump_tkhd), (qtdemux_dump_elst),
(qtdemux_dump_mdhd), (qtdemux_dump_hdlr), (qtdemux_dump_vmhd),
(qtdemux_dump_dref), (qtdemux_dump_stsd), (qtdemux_dump_stts),
(qtdemux_dump_stss), (qtdemux_dump_stsc), (qtdemux_dump_stsz),
(qtdemux_dump_stco), (qtdemux_dump_co64), (qtdemux_dump_dcom),
(qtdemux_dump_cmvd), (qtdemux_parse_tree), (qtdemux_parse_trak):
Cleanups.  Convert g_prints to GST_LOGs.  Add qtdemux debug
category.  Attempt to fix timestamp calculation.
2004-02-24 17:17:56 +00:00
Benjamin Otte
3923455478 ext/xine/: add first version of xine plugin wrapper. Currently only wraps the
Original commit message from CVS:
2004-02-20  Benjamin Otte  <otte@gnome.org>

* ext/xine/Makefile.am:
* ext/xine/gstxine.h:
* ext/xine/xine.c:
* ext/xine/xineaudiodec.c:
* ext/xine/xinecaps.c:
add first version of xine plugin wrapper. Currently only wraps the
QDM2 win32 DLL, and even that only in proof-of-concept quality.
* configure.ac:
* ext/Makefile.am:
add xine plugin wrapper, disabled by default. Use --enable-xine to
build. Note that it'll segfault on gst-register if you don't remove
the goom and tvtime post plugins from xine.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(qtdemux_parse), (qtdemux_parse_trak), (qtdemux_audio_caps):
add extradata parsing for QDM2.
change around debugging prints.
2004-02-20 00:52:07 +00:00
Benjamin Otte
801b7221ac gst/qtdemux/qtdemux.c: set explicit caps before adding the element, so the autopluggers can plug correctly.
Original commit message from CVS:
2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream):
set explicit caps before adding the element, so the autopluggers can
plug correctly.
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find),
(mpeg2_sys_type_find), (mpeg1_sys_type_find),
(mpeg_video_type_find), (mpeg_video_stream_type_find),
(dv_type_find):
fix memleaks in typefind functions. gst_type_find_suggest takes a const
argument.
2004-02-03 18:42:48 +00:00
Jeremy Simon
98fc4bf118 Add SVQ3 specific flags to qtdemux and ffmpeg
Original commit message from CVS:
2004-01-26  Jeremy Simon  <jesimon@libertysurf.fr>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_extradata), (gst_ffmpeg_caps_to_pixfmt):
* gst/qtdemux/qtdemux.c: (plugin_init), (qtdemux_parse_trak),
(qtdemux_video_caps):
* gst/qtdemux/qtdemux.h:
Add SVQ3 specific flags to qtdemux and ffmpeg
2004-01-26 20:01:35 +00:00
David Schleef
51db8f1fe2 ext/esd/esdsink.c: Remove property that handles osssink fallback.
Original commit message from CVS:
* ext/esd/esdsink.c: (gst_esdsink_class_init): Remove property
that handles osssink fallback.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init),
(gst_audio_convert_getcaps):
* gst/qtdemux/qtdemux.c: (qtdemux_audio_caps):
Add audio/x-qdm2 for QDM2 audio.
* gst/sine/gstsinesrc.c: (gst_sinesrc_get):
* gst/sine/gstsinesrc.h: Add example of how to implement tags.
* gst/videoscale/gstvideoscale.c: (gst_videoscale_getcaps):
Decrease minimum size to 16x16.
* gst/wavparse/gstwavparse.c:
Convert disabled pad template caps to new caps.
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_chain): Throw element error when display cannot
be opened.  Increase minimum framerate to 1.0.  Check the data
free function on a buffer to make sure it is the type we expect
before manipulating it.
2004-01-15 21:05:17 +00:00
Benjamin Otte
b6b01d96ac gst/qtdemux/qtdemux.c: fix audio chunk size/timestamp calculation
Original commit message from CVS:
2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_trak):
fix audio chunk size/timestamp calculation
2004-01-11 17:49:56 +00:00
David Schleef
7a85d6c13a Change sink pad template caps to "video/quicktime"
Original commit message from CVS:
Change sink pad template caps to "video/quicktime"
2004-01-03 11:18:56 +00:00
David Schleef
6c1b114eed Convert elements to use gst_pad_use_explicit_caps() where appropriate.
Original commit message from CVS:
Convert elements to use gst_pad_use_explicit_caps() where appropriate.
2004-01-02 07:09:23 +00:00
Benjamin Otte
07a0396381 gst/qtdemux/qtdemux.c: qtdemux requires bytestream
Original commit message from CVS:
2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/qtdemux/qtdemux.c: (plugin_init):
qtdemux requires bytestream
2003-12-22 19:05:34 +00:00
David Schleef
ce51f6173c Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:47:09 +00:00
Ronald S. Bultje
76a5c85de7 Sorry Dave... Add mpegversion=1 to mp3 caps everywhere so that the autoplugger uses mad and not faad for mp3 decoding...
Original commit message from CVS:
Sorry Dave... Add mpegversion=1 to mp3 caps everywhere so that the autoplugger uses mad and not faad for mp3 decoding. This should fix mp3 playback.
2003-12-18 09:31:49 +00:00
Andy Wingo
e46d34995d remove copyright field from plugins
Original commit message from CVS:
remove copyright field from plugins
2003-12-04 10:37:38 +00:00
David Schleef
f1d94660c5 Change everyone to video/x-msvideo
Original commit message from CVS:
Change everyone to video/x-msvideo
2003-11-27 21:49:39 +00:00
Iain Holmes
9c81eec41c Added audio/x-m4a to the sink caps
Original commit message from CVS:
Added audio/x-m4a to the sink caps
2003-11-27 17:35:00 +00:00
Benjamin Otte
8b4dbbc044 add a rank to allow autoplugging
Original commit message from CVS:
add a rank to allow autoplugging
2003-11-24 15:25:21 +00:00
David Schleef
e9b809fdba change video/x-jpeg to image/jpeg
Original commit message from CVS:
change video/x-jpeg to image/jpeg
2003-11-10 22:47:38 +00:00
Jeremy Simon
a8fcbcd43b Do not demux only 2 trak atoms
Original commit message from CVS:
Do not demux only 2 trak atoms
2003-11-07 20:36:47 +00:00
Ronald S. Bultje
fbdc88a45f Quicktime demuxer ported to new interface
Original commit message from CVS:
Quicktime demuxer ported to new interface
2003-11-02 21:45:18 +00:00
David Schleef
ce372fab75 change gst/bytestream.h to gst/bytestream/bytestream.h
Original commit message from CVS:
change gst/bytestream.h to gst/bytestream/bytestream.h
2003-10-29 03:15:55 +00:00
Benjamin Otte
c9ae463a4f merge TYPEFIND branch. Major changes:
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- all typefind functions are in gst/typefind now
- more typefind functions then before
- some plugins might fail to compile now because I don't have them installed and they
a) require bytestream or
b) haven't had their typefind fixed.
Please fix those plugins and put the typefind functions into gst/typefind if they don't have dependencies
2003-10-28 20:52:41 +00:00
Andy Wingo
f2d5cae8da /GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488.
Original commit message from CVS:
/GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488.
2003-10-08 16:08:18 +00:00
Ronald S. Bultje
38946080fd New typefind system: bytestream is now part of the core all plugins have been modified to use this new typefind syste...
Original commit message from CVS:
New typefind system:
* bytestream is now part of the core
* all plugins have been modified to use this new typefind system
* asf typefinding added
* mpeg video stream typefiding removed because it's broken
* duplicate typefind entries removed
* extra id3 typefinding added, because we've seen 4 types of files
(riff/wav, flac, vorbis, mp3) with id3 headers and each of these needs
to work. Instead, I've added an id3 element and let it redo typefiding
after the id3 header. this needs a hack because spider only typefinds
once. We can remove this hack once spider supports multiple typefinds.
* with all this, mp3 typefinding is semi-rewritten
* id3 typefinding in flac/vorbis is removed, it's no longer needed
* fixed spider and gst-typefind to use this, too.
* Other general cleanups
2003-10-01 13:14:52 +00:00
David Schleef
37fe79eef2 Remove redundant plugindir definition
Original commit message from CVS:
Remove redundant plugindir definition
2003-08-10 00:01:58 +00:00
Leif Johnson
7b0389b09c + the last of the float caps changes ... these are a bit more pervasive
Original commit message from CVS:
+ the last of the float caps changes ... these are a bit more pervasive
2003-07-19 23:47:41 +00:00
Ronald S. Bultje
292fec2a0b New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as descri...
Original commit message from CVS:
New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as described in the previous commit's document. Note: some plugins will break, some pipelines will break, expect HEAD to be broken or at least not 100% working for a few days, but don't forget to report bugs
2003-07-06 20:49:52 +00:00
Benjamin Otte
90da904f1e compatibility fix for new GST_DEBUG stuff.
Original commit message from CVS:
compatibility fix for new GST_DEBUG stuff.
Includes fixes for missing includes for config.h and unistd.h

I only ensured for plugins I can build that they work, so if some of them are still broken, you gotta fix them yourselves unfortunately.
2003-06-29 19:46:12 +00:00
David Schleef
bbf74571a7 "My way" turned out to cause seg faults. :) Fixed, and added more fourcc to caps conversions.
Original commit message from CVS:
"My way" turned out to cause seg faults.  :)  Fixed, and added
more fourcc to caps conversions.
2003-06-23 07:04:40 +00:00
David Schleef
d1b4db094c Revert last two changes and do it my way. :)
Original commit message from CVS:
Revert last two changes and do it my way.  :)
2003-06-19 19:36:26 +00:00
Brian Cameron
f46b1af7c2 Support ISO-style variable argument macros.
Original commit message from CVS:
Support ISO-style variable argument macros.
2003-06-19 17:27:23 +00:00
Ronald S. Bultje
98db832871 which causes a segfault. I'm working on that
Original commit message from CVS:
This adds width/height properties to qtdemux, so that it connects to ffdec_*... still doesn't work, because the buffer allocation in ffdec_ allocs too small buffers (edge emulation failure or so?), which causes a segfault. I'm working on that
2003-06-17 10:46:32 +00:00
David Schleef
7951409932 Handle compressed headers. Fix inappropriate use of bytestream_flush().
Original commit message from CVS:
Handle compressed headers.  Fix inappropriate use of bytestream_flush().
Code cleanup.  Added getcaps and _link functions for src pads.  Extract
and set the size,rate,channels correctly.  Fix some of the caps to
agree with avidemux and/or ffmpeg.
2003-06-16 17:39:26 +00:00
David Schleef
f75ff8a6e7 Fix some of the fourcc to caps conversions. reenable setting of rate and n channels on audio caps.
Original commit message from CVS:
Fix some of the fourcc to caps conversions.  reenable setting of rate
and n channels on audio caps.
2003-06-15 02:57:53 +00:00
David Schleef
d6decc3112 Complete rewrite. Not finished, nothing to see here.
Original commit message from CVS:
Complete rewrite.  Not finished, nothing to see here.
2003-06-10 06:23:42 +00:00
Brian Cameron
1bc371768a Removed needless ; at the end of GST_PAD_TEMPLATE_FACTORY calls, which were causing non-gcc compilers to break.
Original commit message from CVS:
Removed needless ; at the end of GST_PAD_TEMPLATE_FACTORY calls, which
were causing non-gcc compilers to break.
2003-05-22 11:04:31 +00:00
David Schleef
df0b94aae4 Change %lld, %llu to G_G[U]INT64_FORMAT globally. Fix bad pointer->integer conversion.
Original commit message from CVS:
Change %lld, %llu to G_G[U]INT64_FORMAT globally.  Fix bad pointer->integer
conversion.
2003-02-02 05:26:29 +00:00
Thomas Vander Stichele
b19d0bd840 don't segfault when data didn't make it in
Original commit message from CVS:
don't segfault when data didn't make it in
2003-01-18 18:10:53 +00:00
Thomas Vander Stichele
be876ae577 another batch of connect->link fixes please let me know about issues and please refrain of making them yourself, so t...
Original commit message from CVS:
another batch of connect->link fixes
please let me know about issues
and please refrain of making them yourself, so that I don't spend double
the time resolving conflicts
2003-01-10 10:22:25 +00:00
Thomas Vander Stichele
e16c50551b parallel install fixes
Original commit message from CVS:
parallel install fixes
2002-12-08 14:50:09 +00:00
Christian Schaller
2ff64d483e plugins part of license field patch
Original commit message from CVS:
plugins part of license field patch
2002-09-18 19:02:51 +00:00
Thomas Vander Stichele
4ec41347e2 removing warnings (approved by wtay)
Original commit message from CVS:
removing warnings (approved by wtay)
2002-09-09 23:24:29 +00:00
Steve Baker
0db159065c qtdemux.c:315: warning: implicit declaration of function `free' qtdemux.c:331: warning: implicit declaration of funct...
Original commit message from CVS:
qtdemux.c:315: warning: implicit declaration of function `free'
qtdemux.c:331: warning: implicit declaration of function `malloc'
2002-08-11 11:31:42 +00:00
Thomas Vander Stichele
b237a49772 rearranging element tree
Original commit message from CVS:
rearranging element tree
2002-06-08 09:15:07 +00:00
Steve Baker
afd592b066 add ranks only for plugins who participate in autoplugging. If you have a file that used to autoplug but doesn't any...
Original commit message from CVS:
add ranks only for plugins who participate in autoplugging.  If you have a file that used to autoplug but doesn't anymore, then let me know or add a rank to the missing element.
2002-05-31 08:24:31 +00:00
Steve Baker
163076dd9e use new bytestream api
Original commit message from CVS:
use new bytestream api
2002-05-15 19:08:49 +00:00
Thomas Vander Stichele
57df009f45 conformity
Original commit message from CVS:
conformity
2002-05-13 14:51:01 +00:00
Artyom Baginski
56efeff3b4 adding new quicktime parser:
Original commit message from CVS:
adding new quicktime parser:
- openquicktime free (hense gst/qtdemux)
- no more seeks for parsing -> better for network streams
- uses GstByteStream
- less memcpy's
- long ChangeLog record in pompous style
2002-05-01 18:41:59 +00:00