mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
ext/lame/gstlame.c: Fix up case where there is no peer, in which case _get_allowed_caps() will return NULL.
Original commit message from CVS: * ext/lame/gstlame.c: Fix up case where there is no peer, in which case _get_allowed_caps() will return NULL.
This commit is contained in:
parent
8d9b031015
commit
ead8e9facf
1 changed files with 17 additions and 10 deletions
|
@ -1162,9 +1162,7 @@ gst_lame_setup (GstLame * lame)
|
|||
}G_STMT_END
|
||||
|
||||
int retval;
|
||||
GstCaps *src_caps;
|
||||
GstStructure *structure;
|
||||
gint samplerate;
|
||||
GstCaps *allowed_caps;
|
||||
|
||||
GST_DEBUG_OBJECT (lame, "starting setup");
|
||||
|
||||
|
@ -1185,15 +1183,24 @@ gst_lame_setup (GstLame * lame)
|
|||
lame_set_in_samplerate (lame->lgf, lame->samplerate);
|
||||
|
||||
/* let lame choose default samplerate unless outgoing sample rate is fixed */
|
||||
src_caps = gst_pad_get_allowed_caps (lame->srcpad);
|
||||
structure = gst_caps_get_structure (src_caps, 0);
|
||||
allowed_caps = gst_pad_get_allowed_caps (lame->srcpad);
|
||||
|
||||
if (gst_structure_get_int (structure, "rate", &samplerate)) {
|
||||
GST_DEBUG_OBJECT (lame, "Setting sample rate to %d as fixed in src caps",
|
||||
samplerate);
|
||||
lame_set_out_samplerate (lame->lgf, samplerate);
|
||||
if (allowed_caps != NULL) {
|
||||
GstStructure *structure;
|
||||
gint samplerate;
|
||||
|
||||
structure = gst_caps_get_structure (allowed_caps, 0);
|
||||
|
||||
if (gst_structure_get_int (structure, "rate", &samplerate)) {
|
||||
GST_DEBUG_OBJECT (lame, "Setting sample rate to %d as fixed in src caps",
|
||||
samplerate);
|
||||
lame_set_out_samplerate (lame->lgf, samplerate);
|
||||
} else {
|
||||
GST_DEBUG_OBJECT (lame, "Letting lame choose sample rate");
|
||||
lame_set_out_samplerate (lame->lgf, 0);
|
||||
}
|
||||
} else {
|
||||
GST_DEBUG_OBJECT (lame, "Letting lame choose sample rate");
|
||||
GST_DEBUG_OBJECT (lame, "No peer yet, letting lame choose sample rate");
|
||||
lame_set_out_samplerate (lame->lgf, 0);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue