Commit graph

237 commits

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