Add a multichannel map to the output caps, and send at least a CODEC and
BITRATE tag. I'm not too sure about the 5.1 and 7.1 channel maps. I have
no samples and can't find info about the channel ordering, but this is
better than nothing.
Original commit message from CVS:
* gst/dvdlpcmdec/gstdvdlpcmdec.c:
Add other allowed rates to the pad templates.
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_dispose):
Reset the parser to release memory in dispose.
Original commit message from CVS:
* configure.ac:
* ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer):
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_descramble_buffer):
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_raw):
Fix build against core CVS by not using deprecated API. Bump
requirements for new API (overdue anyway).
Original commit message from CVS:
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcm_reset),
(update_timestamps), (parse_header), (gst_dvdlpcmdec_chain_dvd),
(gst_dvdlpcmdec_chain_raw), (dvdlpcmdec_sink_event):
* gst/dvdlpcmdec/gstdvdlpcmdec.h:
Implement all sample rates.
Implement sample permutation a little smarter avoiding a memcpy.
Fix timestamps, use segments, fix seeking.
Original commit message from CVS:
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (update_timestamps):
If an incoming timestamp is within one sample of our current
timestamp, then keep it. This prevents imprecision in the
PTS (which only has 90khz granularity) from affecting our stream.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_chain):
Add more debug
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcm_reset),
(gst_dvdlpcmdec_init), (update_timestamps),
(gst_dvdlpcmdec_chain_dvd), (gst_dvdlpcmdec_chain_raw),
(dvdlpcmdec_sink_event):
* gst/dvdlpcmdec/gstdvdlpcmdec.h:
If we have a first_access offset but no current timestamp (might
happen after a seek), then calculate a start time for the first
portion so that it will align with the timestamp given for the
first_access portion.
If a new-segment arrives with format time, store the start
time as a failsafe timestamp in case we never get any further
timestamp info (unlikely)
Mask out the 'frame number' section of the incoming header so
that we don't consider it to be changing on every buffer and
reset the caps constantly.
Use gst_util_uint64_scale for duration calculation
Original commit message from CVS:
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_dvd):
Fix timestamping for cases where the first_access parameter is 4.
Ensure we don't overrun buffers in other cases.
Original commit message from CVS:
* ext/mad/gstid3tag.c:
* ext/mad/gstmad.c:
* gst/ac3parse/gstac3parse.c:
* gst/dvdlpcmdec/gstdvdlpcmdec.c:
* gst/synaesthesia/gstsynaesthesia.c:
Define GstElementDetails as const and also static (when defined as
global)
Original commit message from CVS:
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_raw):
* gst/realmedia/rmdemux.c: (gst_rmdemux_chain),
(gst_rmdemux_add_stream), (gst_rmdemux_parse_mdpr),
(gst_rmdemux_parse_packet):
Modifications for disapearance of GST_PAD_IS_USABLE()
Original commit message from CVS:
Restructure LPCM decoder to not expect the demuxer to parse the LPCM
header; instead do this internally. Also support the old way, using
a different mime-type. CVS: