1932 static PyObject *
1933 pa_abort_stream(PyObject *self, PyObject *args)
1934 {
1935 int err;
1936 PyObject *stream_arg;
1937 _pyAudio_Stream *streamObject;
1938
1939 if (!PyArg_ParseTuple(args, "O!", &_pyAudio_StreamType, &stream_arg))
when PyArg_ParseTuple() succeeds
taking False path
1940 return NULL;
1941
1942 streamObject = (_pyAudio_Stream *) stream_arg;
1943
1944 if (!_is_open(streamObject)) {
when considering range: -0x80000000 <= value <= -1
taking False path
1945 PyErr_SetString(PyExc_IOError, "Stream not open");
1946 return NULL;
1947 }
1948
1949 PaStream *stream = streamObject->stream;
1950
1951 if ( ((err = Pa_AbortStream(stream)) != paNoError) &&
when considering range: -0x80000000 <= value <= -1
taking True path
when considering range: -0x80000000 <= value <= -9984
taking True path
1952 (err != paStreamIsStopped)) {
1953 _cleanup_Stream_object(streamObject);
1954
1955 #ifdef VERBOSE
1956 fprintf(stderr, "An error occured while using the portaudio stream\n");
1957 fprintf(stderr, "Error number: %d\n", err);
1958 fprintf(stderr, "Error message: %s\n", Pa_GetErrorText(err));
1959 #endif
1960
1961 PyErr_SetObject(PyExc_IOError,
when Py_BuildValue() succeeds
calling PyErr_SetObject()
new ref from call to Py_BuildValue allocated at: PyErr_SetObject(PyExc_IOError,
ob_refcnt is now refs: 1 + N where N >= 0
ob_refcnt is now refs: 1 + N where N >= 1
1962 Py_BuildValue("(s,i)",
1963 Pa_GetErrorText(err),
1964 err));
1965 return NULL;
1966 }
1967
1968 Py_INCREF(Py_None);
1969 return Py_None;
1970 }
ob_refcnt of new ref from call to Py_BuildValue is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 5 similar trace(s) to this