gst-libs/gst/play/play.c (gst_play_audio_fixate)
Original commit message from CVS: * gst-libs/gst/play/play.c (gst_play_audio_fixate) (gst_play_video_fixate): Check so the structure has the field before trying to fixate them, this makes it possible to have fakesinks for video and audio output without printing errors on the output console.
This commit is contained in:
parent
1ff9a32224
commit
efe25509ad
@ -1,3 +1,11 @@
|
||||
2004-03-23 Johan Dahlin <johan@gnome.org>
|
||||
|
||||
* gst-libs/gst/play/play.c (gst_play_audio_fixate)
|
||||
(gst_play_video_fixate): Check so the structure has the field
|
||||
before trying to fixate them, this makes it possible to have
|
||||
fakesinks for video and audio output without printing errors on
|
||||
the output console.
|
||||
|
||||
2004-03-22 David Schleef <ds@schleef.org>
|
||||
|
||||
* sys/oss/Makefile.am:
|
||||
|
@ -480,13 +480,16 @@ gst_play_video_fixate (GstPad * pad, const GstCaps * caps, gpointer user_data)
|
||||
newcaps = gst_caps_copy (caps);
|
||||
structure = gst_caps_get_structure (newcaps, 0);
|
||||
|
||||
if (gst_caps_structure_fixate_field_nearest_int (structure, "width", 320)) {
|
||||
if (gst_structure_has_field (structure, "width") &&
|
||||
gst_caps_structure_fixate_field_nearest_int (structure, "width", 320)) {
|
||||
return newcaps;
|
||||
}
|
||||
if (gst_caps_structure_fixate_field_nearest_int (structure, "height", 240)) {
|
||||
if (gst_structure_has_field (structure, "height") &&
|
||||
gst_caps_structure_fixate_field_nearest_int (structure, "height", 240)) {
|
||||
return newcaps;
|
||||
}
|
||||
if (gst_caps_structure_fixate_field_nearest_double (structure, "framerate",
|
||||
if (gst_structure_has_field (structure, "framerate") &&
|
||||
gst_caps_structure_fixate_field_nearest_double (structure, "framerate",
|
||||
30.0)) {
|
||||
return newcaps;
|
||||
}
|
||||
@ -509,16 +512,20 @@ gst_play_audio_fixate (GstPad * pad, const GstCaps * caps, gpointer user_data)
|
||||
NULL);
|
||||
structure = gst_caps_get_structure (newcaps, 0);
|
||||
|
||||
if (gst_caps_structure_fixate_field_nearest_int (structure, "rate", 44100)) {
|
||||
if (gst_structure_has_field (structure, "rate") &&
|
||||
gst_caps_structure_fixate_field_nearest_int (structure, "rate", 44100)) {
|
||||
return newcaps;
|
||||
}
|
||||
if (gst_caps_structure_fixate_field_nearest_int (structure, "depth", 16)) {
|
||||
if (gst_structure_has_field (structure, "depth") &&
|
||||
gst_caps_structure_fixate_field_nearest_int (structure, "depth", 16)) {
|
||||
return newcaps;
|
||||
}
|
||||
if (gst_caps_structure_fixate_field_nearest_int (structure, "width", 16)) {
|
||||
if (gst_structure_has_field (structure, "width") &&
|
||||
gst_caps_structure_fixate_field_nearest_int (structure, "width", 16)) {
|
||||
return newcaps;
|
||||
}
|
||||
if (gst_caps_structure_fixate_field_nearest_int (structure, "channels", 2)) {
|
||||
if (gst_structure_has_field (structure, "channels") &&
|
||||
gst_caps_structure_fixate_field_nearest_int (structure, "channels", 2)) {
|
||||
return newcaps;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user