diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2002-12-10 20:41:06 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2002-12-10 20:41:06 +0000 |
commit | dff7f0496f2bc5c416c48bc1261203a4fc68cd5a (patch) | |
tree | a80aa33d3c3dbf52a2b4ea8bf871b5849e4f6ad5 /sys/oss | |
parent | 753a083ade3c301c40d26f2a6382822163d9b312 (diff) |
Properly reset the internal state without leaking the filehandle
Original commit message from CVS:
Properly reset the internal state without leaking the filehandle
Diffstat (limited to 'sys/oss')
-rw-r--r-- | sys/oss/gstosscommon.c | 6 | ||||
-rw-r--r-- | sys/oss/gstosscommon.h | 1 | ||||
-rw-r--r-- | sys/oss/gstosssink.c | 2 |
3 files changed, 8 insertions, 1 deletions
diff --git a/sys/oss/gstosscommon.c b/sys/oss/gstosscommon.c index 50128c79..65c8a780 100644 --- a/sys/oss/gstosscommon.c +++ b/sys/oss/gstosscommon.c @@ -105,6 +105,12 @@ gst_osscommon_init (GstOssCommon *common) common->device = g_strdup ("/dev/dsp"); common->fd = -1; + gst_osscommon_reset (common); +} + +void +gst_osscommon_reset (GstOssCommon *common) +{ common->law = 0; common->endianness = G_BYTE_ORDER; common->sign = TRUE; diff --git a/sys/oss/gstosscommon.h b/sys/oss/gstosscommon.h index ab5553ff..0c35bd06 100644 --- a/sys/oss/gstosscommon.h +++ b/sys/oss/gstosscommon.h @@ -57,6 +57,7 @@ struct _GstOssCommon }; void gst_osscommon_init (GstOssCommon *common); +void gst_osscommon_reset (GstOssCommon *common); gboolean gst_osscommon_open_audio (GstOssCommon *common, GstOssOpenMode mode, gchar **error); diff --git a/sys/oss/gstosssink.c b/sys/oss/gstosssink.c index 23603028..ba86f913 100644 --- a/sys/oss/gstosssink.c +++ b/sys/oss/gstosssink.c @@ -589,7 +589,7 @@ gst_osssink_change_state (GstElement *element) case GST_STATE_PAUSED_TO_READY: if (GST_FLAG_IS_SET (element, GST_OSSSINK_OPEN)) ioctl (osssink->common.fd, SNDCTL_DSP_RESET, 0); - gst_osscommon_init (&osssink->common); + gst_osscommon_reset (&osssink->common); break; case GST_STATE_READY_TO_NULL: if (GST_FLAG_IS_SET (element, GST_OSSSINK_OPEN)) { |