mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
ext/aalib/gstaasink.c: Add fixate function. (bug #131128)
Original commit message from CVS: * ext/aalib/gstaasink.c: (gst_aasink_fixate), (gst_aasink_init): Add fixate function. (bug #131128) * ext/sdl/sdlvideosink.c: (gst_sdlvideosink_init), (gst_sdlvideosink_fixate): Add fixate function. * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link): Fix attempt to print a non-pointer using GST_PTR_FORMAT. * gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt): Fix missing break that was causing ulaw to be interpreted as raw int.
This commit is contained in:
parent
1586deb833
commit
a6b4e965a8
2 changed files with 41 additions and 0 deletions
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
|||
2004-03-05 David Schleef <ds@schleef.org>
|
||||
|
||||
* ext/aalib/gstaasink.c: (gst_aasink_fixate), (gst_aasink_init):
|
||||
Add fixate function. (bug #131128)
|
||||
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_init),
|
||||
(gst_sdlvideosink_fixate): Add fixate function.
|
||||
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
|
||||
Fix attempt to print a non-pointer using GST_PTR_FORMAT.
|
||||
* gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt):
|
||||
Fix missing break that was causing ulaw to be interpreted as
|
||||
raw int.
|
||||
|
||||
2004-03-05 David Schleef <ds@schleef.org>
|
||||
|
||||
* gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_add_slice):
|
||||
|
|
|
@ -65,6 +65,7 @@ static void gst_sdlvideosink_destroy (GstSDLVideoSink *sdl);
|
|||
static GstPadLinkReturn
|
||||
gst_sdlvideosink_sinkconnect (GstPad *pad,
|
||||
const GstCaps *caps);
|
||||
static GstCaps * gst_sdlvideosink_fixate (GstPad *pad, const GstCaps *caps);
|
||||
static void gst_sdlvideosink_chain (GstPad *pad,
|
||||
GstData *data);
|
||||
|
||||
|
@ -266,6 +267,8 @@ gst_sdlvideosink_init (GstSDLVideoSink *sdlvideosink)
|
|||
gst_sdlvideosink_chain);
|
||||
gst_pad_set_link_function (GST_VIDEOSINK_PAD (sdlvideosink),
|
||||
gst_sdlvideosink_sinkconnect);
|
||||
gst_pad_set_fixate_function (GST_VIDEOSINK_PAD (sdlvideosink),
|
||||
gst_sdlvideosink_fixate);
|
||||
|
||||
sdlvideosink->width = -1;
|
||||
sdlvideosink->height = -1;
|
||||
|
@ -506,6 +509,32 @@ gst_sdlvideosink_create (GstSDLVideoSink *sdlvideosink)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static GstCaps *
|
||||
gst_sdlvideosink_fixate (GstPad *pad, const GstCaps *caps)
|
||||
{
|
||||
GstStructure *structure;
|
||||
GstCaps *newcaps;
|
||||
|
||||
if (gst_caps_get_size (caps) > 1) return NULL;
|
||||
|
||||
newcaps = gst_caps_copy (caps);
|
||||
structure = gst_caps_get_structure (newcaps, 0);
|
||||
|
||||
if (gst_caps_structure_fixate_field_nearest_int (structure, "width", 320)) {
|
||||
return newcaps;
|
||||
}
|
||||
if (gst_caps_structure_fixate_field_nearest_int (structure, "height", 240)) {
|
||||
return newcaps;
|
||||
}
|
||||
if (gst_caps_structure_fixate_field_nearest_double (structure, "framerate",
|
||||
30.0)) {
|
||||
return newcaps;
|
||||
}
|
||||
|
||||
gst_caps_free (newcaps);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static GstPadLinkReturn
|
||||
gst_sdlvideosink_sinkconnect (GstPad *pad,
|
||||
const GstCaps *vscapslist)
|
||||
|
|
Loading…
Reference in a new issue