mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-03 05:59:10 +00:00
Properly reset the internal state without leaking the filehandle
Original commit message from CVS: Properly reset the internal state without leaking the filehandle
This commit is contained in:
parent
753a083ade
commit
dff7f0496f
3 changed files with 8 additions and 1 deletions
|
@ -105,6 +105,12 @@ gst_osscommon_init (GstOssCommon *common)
|
||||||
common->device = g_strdup ("/dev/dsp");
|
common->device = g_strdup ("/dev/dsp");
|
||||||
common->fd = -1;
|
common->fd = -1;
|
||||||
|
|
||||||
|
gst_osscommon_reset (common);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
gst_osscommon_reset (GstOssCommon *common)
|
||||||
|
{
|
||||||
common->law = 0;
|
common->law = 0;
|
||||||
common->endianness = G_BYTE_ORDER;
|
common->endianness = G_BYTE_ORDER;
|
||||||
common->sign = TRUE;
|
common->sign = TRUE;
|
||||||
|
|
|
@ -57,6 +57,7 @@ struct _GstOssCommon
|
||||||
};
|
};
|
||||||
|
|
||||||
void gst_osscommon_init (GstOssCommon *common);
|
void gst_osscommon_init (GstOssCommon *common);
|
||||||
|
void gst_osscommon_reset (GstOssCommon *common);
|
||||||
|
|
||||||
gboolean gst_osscommon_open_audio (GstOssCommon *common,
|
gboolean gst_osscommon_open_audio (GstOssCommon *common,
|
||||||
GstOssOpenMode mode, gchar **error);
|
GstOssOpenMode mode, gchar **error);
|
||||||
|
|
|
@ -589,7 +589,7 @@ gst_osssink_change_state (GstElement *element)
|
||||||
case GST_STATE_PAUSED_TO_READY:
|
case GST_STATE_PAUSED_TO_READY:
|
||||||
if (GST_FLAG_IS_SET (element, GST_OSSSINK_OPEN))
|
if (GST_FLAG_IS_SET (element, GST_OSSSINK_OPEN))
|
||||||
ioctl (osssink->common.fd, SNDCTL_DSP_RESET, 0);
|
ioctl (osssink->common.fd, SNDCTL_DSP_RESET, 0);
|
||||||
gst_osscommon_init (&osssink->common);
|
gst_osscommon_reset (&osssink->common);
|
||||||
break;
|
break;
|
||||||
case GST_STATE_READY_TO_NULL:
|
case GST_STATE_READY_TO_NULL:
|
||||||
if (GST_FLAG_IS_SET (element, GST_OSSSINK_OPEN)) {
|
if (GST_FLAG_IS_SET (element, GST_OSSSINK_OPEN)) {
|
||||||
|
|
Loading…
Reference in a new issue