mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 08:46:40 +00:00
deinterleave: Allow switching between 1 channel configs
regardless of whether they're positioned, since positioning with a 1 channel stream doesn't change anything.
This commit is contained in:
parent
eddaf49510
commit
a329a3a2c6
1 changed files with 13 additions and 3 deletions
|
@ -365,13 +365,23 @@ gst_deinterleave_check_caps_change (GstDeinterleave * self,
|
||||||
gint i;
|
gint i;
|
||||||
gboolean same_layout = TRUE;
|
gboolean same_layout = TRUE;
|
||||||
gboolean was_unpositioned;
|
gboolean was_unpositioned;
|
||||||
gboolean is_unpositioned = GST_AUDIO_INFO_IS_UNPOSITIONED (new_info);
|
gboolean is_unpositioned;
|
||||||
gint new_channels = GST_AUDIO_INFO_CHANNELS (new_info);
|
gint new_channels;
|
||||||
gint old_channels;
|
gint old_channels;
|
||||||
|
|
||||||
was_unpositioned = GST_AUDIO_INFO_IS_UNPOSITIONED (old_info);
|
new_channels = GST_AUDIO_INFO_CHANNELS (new_info);
|
||||||
old_channels = GST_AUDIO_INFO_CHANNELS (old_info);
|
old_channels = GST_AUDIO_INFO_CHANNELS (old_info);
|
||||||
|
|
||||||
|
if (GST_AUDIO_INFO_IS_UNPOSITIONED (new_info) || new_channels == 1)
|
||||||
|
is_unpositioned = TRUE;
|
||||||
|
else
|
||||||
|
is_unpositioned = FALSE;
|
||||||
|
|
||||||
|
if (GST_AUDIO_INFO_IS_UNPOSITIONED (old_info) || old_channels == 1)
|
||||||
|
was_unpositioned = TRUE;
|
||||||
|
else
|
||||||
|
was_unpositioned = FALSE;
|
||||||
|
|
||||||
/* We allow caps changes as long as the number of channels doesn't change
|
/* We allow caps changes as long as the number of channels doesn't change
|
||||||
* and the channel positions stay the same. _getcaps() should've cared
|
* and the channel positions stay the same. _getcaps() should've cared
|
||||||
* for this already but better be safe.
|
* for this already but better be safe.
|
||||||
|
|
Loading…
Reference in a new issue