Commit graph

1949 commits

Author SHA1 Message Date
Tim-Philipp Müller
50501c07be Half-baked port to 0.10. Needs some love in the seeking department, but at least it does something.
Original commit message from CVS:
* configure.ac:
* ext/Makefile.am:
* ext/dvdread/Makefile.am:
* ext/dvdread/dvdreadsrc.c:
* ext/dvdread/dvdreadsrc.h:
Half-baked port to 0.10. Needs some love
in the seeking department, but at least
it does something.
* ext/dvdread/stream_labels.c:
* ext/dvdread/stream_labels.h:
Remove these (we use ISO-639 language codes internally; applications
that want to translate those into language names for display to the
user should rely on the iso-codes package for that).
2006-02-09 17:27:57 +00:00
Wim Taymans
b34a106764 ext/amrnb/amrnbdec.*: Fix amrnbdec, handle events, take copy from adapter since the decoder apparently writes in the ...
Original commit message from CVS:
* ext/amrnb/amrnbdec.c: (gst_amrnbdec_init),
(gst_amrnbdec_setcaps), (gst_amrnbdec_event), (gst_amrnbdec_chain),
(gst_amrnbdec_state_change):
* ext/amrnb/amrnbdec.h:
Fix amrnbdec, handle events, take copy from adapter since the decoder
apparently writes in the source data.
Use some _scale_int, and precalc duration.
Fix some leaks, post ERROR messages.
2006-02-06 15:55:28 +00:00
Tim-Philipp Müller
d7075170d8 gst/realmedia/rmdemux.c: One source pad not being linked is not an error condition when we're still parsing the heade...
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream):
One source pad not being linked is not an error condition when we're
still parsing the header. In this case (e.g. where we don't have a
suitable decoder installed) just pretend everything is fine, so that
the demuxer will actually go on to signal no-more-pads when done
parsing the header, otherwise  decodebin/playbin will never post the
appropriate error message if decoders are not available.
2006-02-04 15:22:02 +00:00
Edgard Lima
a82a14f75d Just make it compile with --disable-gst-debug.
Original commit message from CVS:
Just make it compile with --disable-gst-debug.
2006-02-03 18:24:54 +00:00
Radoslaw Szkodzinski
bcd611761c ext/mad/gstmad.c: Merge patch from Radoslaw Szkodzinski (bug 326734)
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_convert_src), (scale),
(gst_mad_check_caps_reset), (gst_mad_chain):
Merge patch from Radoslaw Szkodzinski (bug 326734)
2006-01-31 22:03:30 +00:00
Stefan Kost
aef0f9cfb1 ext/mad/gstid3tag.c: fixing Gdate handling enabling mux/demux mode switching adding better debug output
Original commit message from CVS:
* ext/mad/gstid3tag.c: (tag_list_to_id3_tag_foreach),
(gst_id3_tag_get_tag_to_render), (gst_id3_tag_sink_event),
(gst_id3_tag_src_link), (gst_id3_tag_send_tag_event),
(gst_id3_tag_chain):
fixing Gdate handling
enabling mux/demux mode switching
adding better debug output
2006-01-30 22:00:18 +00:00
Tim-Philipp Müller
279475a917 gst/mpegstream/gstmpegparse.c: If we haven't set caps on a source pad yet, the caps on the pad are NULL, not un-fixed...
Original commit message from CVS:
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_send_buffer):
If we haven't set caps on a source pad yet, the caps on the
pad are NULL, not un-fixed. Set caps on outgoing buffers.
2006-01-30 18:57:45 +00:00
Tim-Philipp Müller
f0e3a8e101 ext/lame/gstlame.*: Contrary to what the const char in the lame API might suggest, lame expects us to keep the string...
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_finalize), (gst_lame_class_init),
(gst_lame_init), (add_one_tag), (gst_lame_set_metadata):
* ext/lame/gstlame.h:
Contrary to what the const char in the lame API might suggest,
lame expects us to keep the strings we pass to id3tag_set_foo()
around; it doesn't free them either though, so we have to store
them somewhere and free them later when we can be sure lame
doesn't need them any longer.
2006-01-23 18:37:16 +00:00
Tim-Philipp Müller
9b224309a2 ext/lame/gstlame.c: don't pass an uninitialised string pointer to lame if we don't know how to handle the tag type, a...
Original commit message from CVS:
* ext/lame/gstlame.c: (add_one_tag):
Fix handling of GST_TAG_DATE (#311679), don't pass an
uninitialised string pointer to lame if we don't know
how to handle the tag type, and fix minor memory leak.
2006-01-23 15:02:04 +00:00
Tim-Philipp Müller
0560526695 ext/mad/gstmad.c: Fix debug message.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain):
Fix debug message.
2006-01-23 10:15:27 +00:00
Martin Soto
ba4f177426 gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_process_event): Erase spurious call to gst_segment_set_newsegment.
Original commit message from CVS:
2006-01-22  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_process_event):
Erase spurious call to gst_segment_set_newsegment.
* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_process_event): Call
the superclass method when handling NEWSEGMENT events.
(gst_dvd_demux_handle_dvd_event): Get rid of dvd-audio-shutdown
and dvd-audio-restart event handling. There are currently less
hackish ways of handling the sparse audio stream problem.
2006-01-22 12:00:46 +00:00
Thomas Vander Stichele
e8805d7869 fix up error domains, error strings, and use of translation
Original commit message from CVS:
2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>

* ext/dvdnav/dvdnavsrc.c: (if):
* ext/dvdread/stream_labels.c:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_segment):
* gst/realmedia/rmdemux.c: (gst_rmdemux_loop):
fix up error domains, error strings, and use of translation
* po/POTFILES.in:
fix up this file, even though none of them are actually marked
for build yet.
2006-01-20 14:18:20 +00:00
Martin Soto
b34e7d995b gst/mpegstream/gstmpegparse.h (struct _GstMPEGParse): gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_reset) (gst_mpeg_...
Original commit message from CVS:
2006-01-19  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/mpegstream/gstmpegparse.h (struct _GstMPEGParse):
* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_reset)
(gst_mpeg_parse_process_event, gst_mpeg_parse_parse_packhead)
(gst_mpeg_parse_change_state):
Make timestamp adjustment somewhat milder. Actual timestamps are
now sent unmodified unless an actual gap is found in the
stream. This should fix time display when playing most MPEG
files.
2006-01-19 21:32:05 +00:00
Edward Hervey
33a5dff9bb gst/mpegstream/gstmpegdemux.c: tss tss... always set caps on outgoing buffer.
Original commit message from CVS:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_subbuffer):
tss tss... always set caps on outgoing buffer.
2006-01-18 09:30:00 +00:00
Thomas Vander Stichele
9715945ef3 back to HEAD
Original commit message from CVS:
back to HEAD
2006-01-13 19:30:31 +00:00
Thomas Vander Stichele
ee93779012 releasing 0.10.1
Original commit message from CVS:
releasing 0.10.1
2006-01-13 19:25:42 +00:00
Thomas Vander Stichele
a75ebe24c8 prerelease
Original commit message from CVS:
prerelease
2006-01-11 11:44:02 +00:00
Tim-Philipp Müller
9828b301eb Pass unhandled queries upstream (useful e.g. for SEEKING query)
Original commit message from CVS:
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_query):
* ext/mad/gstid3tag.c: (gst_id3_tag_src_query):
* ext/mad/gstmad.c: (gst_mad_src_query):
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_src_query):
* ext/sidplay/gstsiddec.cc:
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_handle_src_query):
* gst/realmedia/rmdemux.c: (gst_rmdemux_src_query):
Pass unhandled queries upstream (useful e.g. for SEEKING query)
(fixes #325652; based on patch by: Philippe); make rmdemux return
FALSE for position queries, instead of setting -1 as value and
returning TRUE.
2006-01-10 11:43:37 +00:00
Martin Soto
216917d0b1 gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_adjust_ts)
Original commit message from CVS:
2006-01-05  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_adjust_ts)
(gst_mpeg_parse_process_event, gst_mpeg_parse_pad_added): Don't
rewrite timestamps in the case segments are being set from
upstream, but use timestamps unmodified. Also send proper position
values. This allows for correct time display and makes queries
work in sink elements.

* gst/mpegstream/gstdvddemux.h:
* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_init)
(gst_dvd_demux_handle_dvd_event, gst_dvd_demux_send_subbuffer):
Rename flush_filter to segment_filter, which is better represents
what the arreibute does.

* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_process_event):
Activate segment filtering when a timestamp discontinuity is seen.
2006-01-05 21:36:49 +00:00
Tim-Philipp Müller
b528f778d0 ext/mad/gstmad.c: Don't forget that we need to send out a newsegment event after a restart even if we don't have enou...
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain):
Don't forget that we need to send out a newsegment event after a
restart even if we don't have enough data to decode a frame right
now.
2006-01-04 15:17:15 +00:00
Martin Soto
4252e5c174 gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event): Use the new "audio-shutdown" and "audio-restart" DVD e...
Original commit message from CVS:
2005-12-31  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event):
Use the new "audio-shutdown" and "audio-restart" DVD events
instead of the "spu-still-frame" event to shutdown and restart
the audio pipeline.

* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_adjust_ts):
Check for cases where the segment-based adjustment calculation
would produce negative values (which result in an overflow) and
return GST_CLOCK_TIME_NONE instead.

* gst/mpegstream/gstdvddemux.h:
* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_init)
(gst_dvd_demux_process_event, gst_dvd_demux_send_subbuffer):
Add a mechanism to discard audio buffers with timestamps outside
the currently set segment. This was causing (sometimes serious)
synchronization problems after seeking in DVDs with LPCM audio,
since VOBUs usually contain audio material that lies outside the
timestamp range specified by the header.
2005-12-30 23:51:46 +00:00
Jan Schmidt
f8ccb04412 ext/mad/gstid3tag.c: Remove lingering reference to GstID3Demux
Original commit message from CVS:
* ext/mad/gstid3tag.c: (gst_id3_tag_get_type):
Remove lingering reference to GstID3Demux

* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_pes):
Don't output debug saying padding streams are unknown type,
because they're not
2005-12-30 16:25:05 +00:00
Martin Soto
3d13141529 gst/mpegstream/gstdvddemux.c (AUDIO_CAPS)
Original commit message from CVS:
2005-12-27  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/mpegstream/gstdvddemux.c (AUDIO_CAPS)
(gst_dvd_demux_get_audio_stream): Use audio/x-lpcm as mimetype for
LPCM.

* gstmpegdemux.h:
* gstmpegdemux.c (gst_mpeg_demux_get_video_stream)
(gst_mpeg_demux_get_audio_stream):
* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_get_video_stream)
(gst_dvd_demux_get_audio_stream)
(gst_dvd_demux_get_subpicture_stream)
(gst_dvd_demux_send_subbuffer):
Send current* pad buffers with appropriate caps.
2005-12-27 19:06:08 +00:00
Martin Soto
f2d10b0927 gst/iec958/ac3iec.*: (NORMAL_CAPS_DEF, RAW_AUDIO_CAPS_DEF, ac3iec_class_init)
Original commit message from CVS:
2005-12-26  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/iec958/ac3iec.h:
* gst/iec958/ac3iec.c:
(NORMAL_CAPS_DEF, RAW_AUDIO_CAPS_DEF, ac3iec_class_init)
(ac3iec_init, ac3iec_set_property, ac3iec_get_property): Add a
raw-audio property to ac3iec958 that allows setting the source pad
caps to raw audio instead of audio/x-iec958. This makes it
possible to use ac3iec958 together with the normal alsasink
element to drive an external receiver that autodetects AC3
content.
2005-12-26 17:48:32 +00:00
Michael Smith
96b959fc53 gst/iec958/ac3iec.*: Accept audio/x-ac3 and audio/ac3 to ac3iec958 element.
Original commit message from CVS:
* gst/iec958/ac3iec.c: (ac3iec_init), (ac3iec_setcaps),
(ac3iec_chain_dvd):
* gst/iec958/ac3iec.h:
Accept audio/x-ac3 and audio/ac3 to ac3iec958 element.
2005-12-23 15:48:04 +00:00
Tim-Philipp Müller
9c580660a8 ext/mpeg2dec/gstmpeg2dec.c: When getting a seek event, first check if the upstream element can handle it and only do ...
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_src_event):
When getting a seek event, first check if the upstream element
can handle it and only do our own seek stuff when it can't
(should fix #322856).
2005-12-21 10:25:34 +00:00
Tim-Philipp Müller
eb7ad77b4b ext/mpeg2dec/gstmpeg2dec.c: Really convert to BYTES format when we want to convert to bytes (use right variable; fixe...
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* ext/mpeg2dec/gstmpeg2dec.c: (normal_seek):
Really convert to BYTES format when we want to convert
to bytes (use right variable; fixes #322856).
2005-12-21 09:58:43 +00:00
Martin Soto
4c81add3e6 Big mpegparse clean up, second round:
Original commit message from CVS:
2005-12-19  Martin Soto  <martinsoto@users.sourceforge.net>

Big mpegparse clean up, second round:

* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event):
Send and EOS event down the audio pipeline when an still frame
event arrives. This prevents the pipeline from locking when a
still menu comes directly after a flush.

* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_reset):
Don't send a newsegment in reset.
(gst_mpeg_parse_adjust_ts): Check for invalid timestamps.
(gst_mpeg_parse_handle_newsegment, gst_mpeg_parse_process_event):
Move the code of handle_newsegment to process_event. Send a
NEWSEGMENT after FLUSH_STOP.
(gst_mpeg_parse_change_state): Send a NEWSEGMENT right after
moving to PAUSED.

* gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_send_event)
(gst_mpeg_demux_class_init): Don't override send_event.
* gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_init)
(gst_mpeg_demux_send_event, gst_mpeg_demux_send_subbuffer)
(gst_mpeg_demux_reset):
* gst/mpegstream/gstmpegdemux.h:  Get rid of just_flushed
attribute.

* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_process_event):
Reset the mpegparse element after a flush.

* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_handle_newsegment):
Don't forward events.
* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_process_event):
* gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass):
handle_newsegment is not a virtual method anymore.

* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_send_newsegment)
(gst_mpeg_parse_reset, gst_mpeg_parse_class_init):
* gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass): Get
rid of send_newsegment virtual method.

* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_process_event): Only
handle DVD events and call the superclass method for other event
types.
* gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_send_event): Don't
override process_event anymore.
* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_event)
(gst_mpeg_parse_process_event): Move actual event processing to
process event so that subclasses can properly override or extend
it.
* gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass):
Eliminate time parameter in process event.

* gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_init)
(gst_mpeg_demux_parse_packet, gst_mpeg_demux_parse_pes)
(gst_mpeg_demux_send_subbuffer):
* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_class_init)
(gst_mpeg_parse_parse_packhead, gst_mpeg_parse_event)
(gst_mpeg_parse_chain): Use the new adjust_ts method instead of
adding the value of the adjust attribute.
* gst/mpegstream/gstmpegdemux.h (struct _GstMPEGVideoStream): Get
rid of the adjust attribute. Now all timestamp adjustments are
performed by mpegparse using the current segment.
* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_adjust_ts)
(gst_mpeg_parse_class_init): Implement the adjust_ts method based
on the adjust attribute for SCR values and the current segment.
* gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass): New
adjust_ts virtual method to adjust timestamps for outgoing
buffers.
* gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_send_newsegment)
(gst_mpeg_demux_parse_packet): Don't override send_newsegment.
* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_class_init)
(gst_dvd_demux_handle_newsegment): Don't override
handle_newsegment.
(gst_dvd_demux_process_event, gst_dvd_demux_handle_dvd_event):
Check for DVD events in process_event instead of
handle_dvd_event.

* gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass):
* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_handle_newsegment)
(gst_mpeg_parse_send_newsegment, gst_mpeg_parse_send_event):
* gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_process_event)
(gst_mpeg_demux_send_event):
* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_process_event)
(gst_dvd_demux_handle_dvd_event):
Eliminate the time parameter in send_event.
2005-12-19 17:26:47 +00:00
Jan Schmidt
16d1543b88 ext/mad/gstid3tag.c: Fix typefinding in id3demux, and then remove it in favour of the new LGPL id3demux in gst-plugin...
Original commit message from CVS:
* ext/mad/gstid3tag.c: (gst_id3_tag_do_typefind),
(gst_id3_tag_do_caps_nego), (gst_id3_tag_chain), (plugin_init):
Fix typefinding in id3demux, and then remove it in favour
of the new LGPL id3demux in gst-plugins-good
* ext/mad/gstmad.c: (gst_mad_dispose):
dispose can run more than once.
2005-12-18 15:08:15 +00:00
Stefan Kost
80d81b7e34 gst/asfdemux/gstasfmux.c: change some char* into char[]
Original commit message from CVS:
* gst/asfdemux/gstasfmux.c: (gst_asfmux_file_start):
change some char* into char[]
2005-12-16 21:56:32 +00:00
Edward Hervey
b5261874f0 gst/realmedia/rmdemux.c: Remove memleak from unused GstRMDemuxStream
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream):
Remove memleak from unused GstRMDemuxStream
2005-12-15 17:06:10 +00:00
Michael Smith
b77f717fa6 ext/mad/gstid3tag.c: Use the correct function to free typefind factory list.
Original commit message from CVS:
* ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list),
(gst_id3_tag_do_typefind):
Use the correct function to free typefind factory list.
2005-12-12 19:17:11 +00:00
Tim-Philipp Müller
741c6663e2 ext/mad/gstmad.c: For position and duration queries in TIME format, try the peer first (might be a demuxer).
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_src_query):
For position and duration queries in TIME format, try the peer
first (might be a demuxer).
2005-12-09 18:38:53 +00:00
Martin Soto
81f2585c88 gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_newsegment): Properly handle non contiguous VOBUs by adding the se...
Original commit message from CVS:
2005-12-08  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_newsegment):
Properly handle non contiguous VOBUs by adding the segment accum
field to the adjust value.

* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_class_init)
(gst_dvd_demux_init, gst_dvd_demux_handle_newsegment): Extend
handle_newsegment to prevent sending actual newsegment events and
use tiemstamp rewriting instead.
(gst_dvd_demux_handle_dvd_event): Don't send a newsegment after
dvd-lang-codes.
* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_handle_newsegment)
(gst_mpeg_parse_event):
* gst/mpegstream/gstmpegparse.h (struct _GstMPEGParseClass):
Add a new parameter to handle_newsegment to allow controlling
whether newsegment events are forwarded or not.

* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_init)
(gst_dvd_demux_handle_dvd_event, gst_dvd_demux_send_subbuffer)
(gst_dvd_demux_reset):
last_end_ptm and discont_time aren't necessary anymore, since
timestamp adjustment is now replaced by newsegment events.
(gst_dvd_demux_init): Prevent MPEGParse from adjusting
timestamps.
* gst/mpegstream/gstdvddemux.h:
* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event):
Don't handle dvd-nav-packet events anymore, since the are now
replaced by standard newsegment events.

* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_init)
(gst_dvd_demux_handle_dvd_event, gst_dvd_demux_send_subbuffer)
(gst_dvd_demux_change_state):
* gst/mpegstream/gstdvddemux.h:
Get rid of the ignore_next_newmedia_discont hack.
* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_class_init)
(gst_dvd_demux_handle_newsegment):
* gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_class_init)
(gst_mpeg_demux_handle_newsegment): Don't override
handle_newsegment anymore. It was only necessary to handle
NEWMEDIA events.

* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_process_event)
(gst_dvd_demux_handle_dvd_event, gst_dvd_demux_set_cur_audio)
(gst_dvd_demux_set_cur_subpicture):
Reactivate handling of DVD events.

* gst/mpegstream/gstmpegparse.c (normal_seek)
(gst_mpeg_parse_handle_src_event)
(gst_mpeg_parse_handle_src_query):
First attempt at reenabling seek.

* gst/mpegstream/gstmpegparse.h:
* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_init)
(gst_mpeg_parse_update_streaminfo)
(gst_mpeg_parse_get_rate)
(gst_mpeg_parse_convert, gst_mpeg_parse_get_src_query_types)
(gst_mpeg_parse_handle_src_query):
* gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_new_output_pad):
Make queries work again.

* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_reset)
(gst_mpeg_parse_handle_newsegment)
(gst_mpeg_parse_send_newsegment, gst_mpeg_parse_pad_added)
(gst_mpeg_parse_chain, gst_mpeg_parse_handle_src_event):
* gst/mpegstream/gstmpegparse.h (struct _GstMPEGParse):
Get rid of the newsegment_pending attribute, and rely instead on
proper timestamp adjustment.

* gst/mpegstream/gstmpegparse.c
(gst_mpeg_parse_get_src_event_masks): Erase.

* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_init):
Initialize fields before creating pads to prevent the pad creation
callback from failing.
(gst_mpeg_parse_reset): Initialize new fields, and change
initialization order to match the order in the structure.
(gst_mpeg_parse_handle_newsegment): Forward new segment events
whenever possible, and update the current segment.
(gst_mpeg_parse_send_newsegment): Update the current segment and
pending_newsegment.
(gst_mpeg_parse_pad_added): Use the current segment to send
newsegment events to new pads.
(gst_mpeg_parse_chain): Properly add adjust time to sent buffers
and events. Properly update newsegment_pending.
* gst/mpegstream/gstmpegparse.h	(struct _GstMPEGParse):
New fields do_adjust and current_segment.

* gst/mpegstream/gstmpegdemux.c:
* gst/mpegstream/gstdvddemux.c:
* gst/mpegstream/gstmpegparse.h:
Rename handle_discont virtual method to handle_newsegment. Erase
some (already commented out support) for old NEW_MEDIA events.

* gst/mpegstream/gstmpegparse.h (struct _GstMPEGParse):
* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_init)
(gst_mpeg_parse_reset, gst_mpeg_parse_handle_discont)
(gst_mpeg_parse_pad_added, gst_mpeg_parse_parse_packhead)
(gst_mpeg_parse_event, gst_mpeg_parse_chain):
Erase the "pending_scr" field, and replace it by a slightly
different handling of the current SCR. Document code blocks in
parse_packhead and chain.
2005-12-08 12:45:09 +00:00
Edward Hervey
e14fa780ed ext/mad/gstid3tag.c: g_warning() are only for really fatal warnings. If we can't decode a tag, just ignore that tag a...
Original commit message from CVS:
* ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list):
g_warning() are only for really fatal warnings. If we can't decode a
tag, just ignore that tag and do a GST_WARNING.
2005-12-07 11:50:10 +00:00
Thomas Vander Stichele
ffe763c043 expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:48:07 +00:00
Thomas Vander Stichele
4eef077971 releasing 0.10.0
Original commit message from CVS:
releasing 0.10.0
2005-12-05 18:04:06 +00:00
Andy Wingo
be0fdf972b Update for alloc_buffer changes.
Original commit message from CVS:
2005-12-05  Andy Wingo  <wingo@pobox.com>

* ext/a52dec/gsta52dec.c: (gst_a52dec_push):
* ext/mad/gstmad.c: (gst_mad_chain):
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_alloc_buffer):
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_raw):
* gst/iec958/ac3iec.c: (ac3iec_chain_raw):
* gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
(gst_rmdemux_parse_packet): Update for alloc_buffer changes.
2005-12-05 13:03:40 +00:00
Andy Wingo
0f3d1be313 ext/mad/gstid3tag.c (plugin_init): Remove id3tag -- there's just id3demux and id3mux now. Fixes #323199.
Original commit message from CVS:
2005-12-05  Andy Wingo  <wingo@pobox.com>

* ext/mad/gstid3tag.c (plugin_init): Remove id3tag -- there's just
id3demux and id3mux now. Fixes #323199.
2005-12-05 09:33:32 +00:00
Thomas Vander Stichele
df9edcd583 fix silly Makefile.am bug so they link correctly again
Original commit message from CVS:

* ext/amrnb/Makefile.am:
* gst/realmedia/Makefile.am:
fix silly Makefile.am bug so they link correctly again
2005-12-02 12:28:03 +00:00
Thomas Vander Stichele
d369957927 releasing 0.9.7
Original commit message from CVS:
releasing 0.9.7
2005-12-01 19:14:57 +00:00
Thomas Vander Stichele
11677c9968 Don't know how these escaped my eye before. Fix link flags.
Original commit message from CVS:
Don't know how these escaped my eye before.  Fix link flags.
2005-12-01 15:49:59 +00:00
Tim-Philipp Müller
ceb53c930c gst/mpegstream/: Ref events before sending them to multiple pads, after all gst_pad_send_event() takes ownership of e...
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_event):
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_send_newsegment),
(gst_mpeg_parse_send_event):
Ref events before sending them to multiple pads, after all
gst_pad_send_event() takes ownership of events. Don't leak
events that have not been handled (fixes #322745).
2005-11-29 11:26:35 +00:00
Martin Soto
4d652b147a gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event)
Original commit message from CVS:
2005-11-28  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event)
(gst_dvd_demux_handle_dvd_event): Erase code to prevent mpegparse
from making timestamp adjustments. This will have to be re-added
in some form in the near future, but in order to do that, some nav
packet parsing will be necessary in mpegdemux.
* gst/mpegstream/gstmpegparse.h (struct _GstMPEGParse):
* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_init)
(g_value_set_int, gst_mpeg_parse_set_property)
Get rid of do_adjust and use_adjust. Rename max_discont to
max_src_gap.
(gst_mpeg_parse_parse_packhead): When max_scr_gap has a value of
-1, no adjustment is made.
* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_class_init):
Rename max_discont property to max_scr_gap. Erase "adjust"
property.

* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_send_event): Don't
override send_event anymore, base class does the job.
* gst/mpegstream/gstmpegdemux.c (gst_mpeg_demux_send_event):
Base class now does most of the work.
* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_send_event):
Generalize to forwarding the event to all source pads in the
element.

* gst/mpegstream/gstmpegparse.h:
* gst/mpegstream/gstmpegparse.c (gst_mpeg_parse_class_init)
(gst_mpeg_parse_init, gst_mpeg_parse_set_clock)
(gst_mpeg_parse_chain, gst_mpeg_parse_get_property)
(gst_mpeg_parse_set_property):
Clock synchronization doesn't make sense anymore for a
demultiplexer.
2005-11-28 19:13:51 +00:00
Michael Smith
2721e07f95 gst/realmedia/rmdemux.c: Don't treat normal EOS as a fatal error.
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_loop):
Don't treat normal EOS as a fatal error.
2005-11-28 18:54:09 +00:00
Edward Hervey
254cf104d8 ext/mad/gstmad.c: Proper warning statements,
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain):
Proper warning statements,
Don't error if the src pad isn't linked when pushing.
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_change_state):
Proper state_change, avoids borkage when going to READY
2005-11-28 15:47:01 +00:00
Jan Schmidt
9a9f1b388a ext/mpeg2dec/gstmpeg2dec.c: Prime libmpeg2's pumps with some null custom buffers to ensure it doesn't ask us to disca...
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (handle_sequence):
Prime libmpeg2's pumps with some null custom buffers
to ensure it doesn't ask us to discard garbage later yay.
2005-11-25 17:02:41 +00:00
Jan Schmidt
57cd4f20f1 ext/mpeg2dec/gstmpeg2dec.c: Prime libmpeg2's pumps with some null custom buffers to ensure it ask us to discard garba...
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (handle_sequence):
Prime libmpeg2's pumps with some null custom buffers
to ensure it ask us to discard garbage later yay.
2005-11-25 17:01:46 +00:00
Michael Smith
19a1c51069 ext/a52dec/gsta52dec.*: Accept AC3 in audio/x-private1-ac3 format, which includes
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_init),
(gst_a52dec_sink_setcaps), (gst_a52dec_chain),
(gst_a52dec_chain_raw):
* ext/a52dec/gsta52dec.h:
Accept AC3 in audio/x-private1-ac3 format, which includes
DVD-specific headers, as well as raw AC3, for compatibility with
some demuxers.
2005-11-25 14:50:19 +00:00
Jan Schmidt
93714f6be3 ext/mad/gstmad.c: When pad_alloc returns other-than-GST_FLOW_OK and mad exits early, skip frame synthesis and consume...
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_chain):
When pad_alloc returns other-than-GST_FLOW_OK and mad exits early,
skip frame synthesis and consume input data as if we'd done the
decode. Makes mad not error when the src pad is not connected.
(#319784)
2005-11-25 00:03:52 +00:00