mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
Negotiation fixes.
Original commit message from CVS: Negotiation fixes.
This commit is contained in:
parent
34835ba3e7
commit
ceb2719593
2 changed files with 36 additions and 7 deletions
29
ChangeLog
29
ChangeLog
|
@ -1,3 +1,32 @@
|
|||
2003-12-30 David Schleef <ds@schleef.org>
|
||||
|
||||
* ext/ffmpeg/gstffmpegcolorspace.c:
|
||||
(gst_ffmpegcsp_caps_remove_format_info), (gst_ffmpegcsp_getcaps),
|
||||
(gst_ffmpegcsp_pad_link), (gst_ffmpegcsp_init),
|
||||
(gst_ffmpegcsp_chain): Negotiation fixes
|
||||
* ext/mad/gstmad.c: (gst_mad_chain): Negotiation fixes
|
||||
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain),
|
||||
(gst_audio_convert_link), (gst_audio_convert_channels):
|
||||
* gst/audioscale/gstaudioscale.c: (gst_audioscale_getcaps),
|
||||
(gst_audioscale_link), (gst_audioscale_get_buffer),
|
||||
(gst_audioscale_chain): Negotiation fixes
|
||||
* gst/audioscale/gstaudioscale.h:
|
||||
* gst/videofilter/gstvideofilter.c:
|
||||
(gst_videofilter_format_get_structure), (gst_videofilter_getcaps),
|
||||
(gst_videofilter_link), (gst_videofilter_init),
|
||||
(gst_videofilter_set_output_size), (gst_videofilter_setup),
|
||||
(gst_videofilter_find_format_by_structure):
|
||||
* gst/videofilter/gstvideofilter.h: Negotiation fixes
|
||||
* gst/videoscale/gstvideoscale.c: (gst_videoscale_getcaps),
|
||||
(gst_videoscale_link):
|
||||
* gst/videoscale/videoscale.c: (videoscale_get_structure),
|
||||
(videoscale_find_by_structure), (gst_videoscale_setup):
|
||||
* gst/videoscale/videoscale.h: Negotiation fixes
|
||||
* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents),
|
||||
(gst_ximagesink_fixate), (gst_ximagesink_init): Add a fixate
|
||||
function, restrict resizing to a multiple of 4 (hack until
|
||||
everyone supports odd sizes correctly).
|
||||
|
||||
2003-12-29 Colin Walters <walters@verbum.org>
|
||||
|
||||
* ext/esd/esdsink.c (gst_esdsink_link): Fix typo; get depth instead of
|
||||
|
|
|
@ -1057,12 +1057,14 @@ gst_mad_chain (GstPad *pad, GstData *_data)
|
|||
gst_mad_update_info (mad);
|
||||
|
||||
if (mad->channels != nchannels || mad->rate != rate) {
|
||||
GstPadLinkReturn ret;
|
||||
|
||||
if (mad->stream.options & MAD_OPTION_HALFSAMPLERATE)
|
||||
rate >>=1;
|
||||
|
||||
/* we set the caps even when the pad is not connected so they
|
||||
* can be gotten for streaminfo */
|
||||
if (gst_pad_try_set_caps (mad->srcpad,
|
||||
ret = gst_pad_try_set_caps (mad->srcpad,
|
||||
gst_caps_new_simple ("audio/x-raw-int",
|
||||
"endianness", G_TYPE_INT, G_BYTE_ORDER,
|
||||
"signed", G_TYPE_BOOLEAN, TRUE,
|
||||
|
@ -1070,13 +1072,11 @@ gst_mad_chain (GstPad *pad, GstData *_data)
|
|||
"depth", G_TYPE_INT, 16,
|
||||
"rate", G_TYPE_INT, rate,
|
||||
"channels", G_TYPE_INT, nchannels,
|
||||
NULL)) <= 0)
|
||||
{
|
||||
if (!gst_pad_recover_caps_error (mad->srcpad, NULL)) {
|
||||
gst_buffer_unref (buffer);
|
||||
NULL));
|
||||
if (GST_PAD_LINK_FAILED (ret)) {
|
||||
gst_element_error (GST_ELEMENT (mad), "Could not set caps on source pad");
|
||||
return;
|
||||
}
|
||||
}
|
||||
mad->channels = nchannels;
|
||||
mad->rate = rate;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue