Hello community, here is the log from the commit of package python-PyOgg for openSUSE:Factory checked in at 2019-04-08 20:52:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-PyOgg (Old) and /work/SRC/openSUSE:Factory/.python-PyOgg.new.3908 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-PyOgg" Mon Apr 8 20:52:55 2019 rev:4 rq:691780 version:0.6.9a1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-PyOgg/python-PyOgg.changes 2019-03-05 12:24:57.132848193 +0100 +++ /work/SRC/openSUSE:Factory/.python-PyOgg.new.3908/python-PyOgg.changes 2019-04-08 20:52:57.474542893 +0200 @@ -1,0 +2,6 @@ +Fri Apr 5 11:01:07 UTC 2019 - Tomáš Chvátal <tchva...@suse.com> + +- Update to 0.6.9a1: + * no upstream changelog + +------------------------------------------------------------------- Old: ---- PyOgg-0.6.7a1.tar.gz New: ---- PyOgg-0.6.9a1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-PyOgg.spec ++++++ --- /var/tmp/diff_new_pack.CgRjK4/_old 2019-04-08 20:52:58.702543794 +0200 +++ /var/tmp/diff_new_pack.CgRjK4/_new 2019-04-08 20:52:58.722543809 +0200 @@ -18,7 +18,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-PyOgg -Version: 0.6.7a1 +Version: 0.6.9a1 Release: 0 Summary: Python bindings for Xiphorg's Ogg Vorbis, Opus and FLAC License: BSD-3-Clause ++++++ PyOgg-0.6.7a1.tar.gz -> PyOgg-0.6.9a1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyOgg-0.6.7a1/PKG-INFO new/PyOgg-0.6.9a1/PKG-INFO --- old/PyOgg-0.6.7a1/PKG-INFO 2019-03-01 11:42:07.000000000 +0100 +++ new/PyOgg-0.6.9a1/PKG-INFO 2019-04-01 13:24:28.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: PyOgg -Version: 0.6.7a1 +Version: 0.6.9a1 Summary: Xiph.org's Ogg Vorbis, Opus and FLAC for Python Home-page: https://github.com/Zuzu-Typ/PyOgg Author: Zuzu_Typ @@ -162,4 +162,5 @@ Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 Description-Content-Type: text/markdown diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyOgg-0.6.7a1/PyOgg.egg-info/PKG-INFO new/PyOgg-0.6.9a1/PyOgg.egg-info/PKG-INFO --- old/PyOgg-0.6.7a1/PyOgg.egg-info/PKG-INFO 2019-03-01 11:42:07.000000000 +0100 +++ new/PyOgg-0.6.9a1/PyOgg.egg-info/PKG-INFO 2019-04-01 13:24:28.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: PyOgg -Version: 0.6.7a1 +Version: 0.6.9a1 Summary: Xiph.org's Ogg Vorbis, Opus and FLAC for Python Home-page: https://github.com/Zuzu-Typ/PyOgg Author: Zuzu_Typ @@ -162,4 +162,5 @@ Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 Description-Content-Type: text/markdown diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyOgg-0.6.7a1/pyogg/__init__.py new/PyOgg-0.6.9a1/pyogg/__init__.py --- old/PyOgg-0.6.7a1/pyogg/__init__.py 2018-12-22 09:29:31.000000000 +0100 +++ new/PyOgg-0.6.9a1/pyogg/__init__.py 2019-04-01 12:56:00.000000000 +0200 @@ -27,54 +27,45 @@ if (PYOGG_OGG_AVAIL and PYOGG_VORBIS_AVAIL and PYOGG_VORBIS_FILE_AVAIL): class VorbisFile: def __init__(self, path): - error, vf = vorbis.ov_fopen(path) + vf = vorbis.OggVorbis_File() + error = vorbis.libvorbisfile.ov_fopen(vorbis.to_char_p(path), vf) if error != 0: raise PyOggError("file couldn't be opened or doesn't exist. Error code : {}".format(error)) - info = vorbis.ov_info(vf, -1) + info = vorbis.libvorbisfile.ov_info(vf, -1) self.channels = info.contents.channels self.frequency = info.contents.rate - array = (ctypes.c_char*32768)() + array = (ctypes.c_char*4096)() buffer_ = ctypes.cast(ctypes.pointer(array), ctypes.c_char_p) - self.buffer = b"" + self.buffer_array = [] bitstream = ctypes.c_int() bitstream_pointer = ctypes.pointer(bitstream) while True: - new_bytes = vorbis.ov_read(vf, buffer_, 32768, 0, 2, 1, bitstream_pointer) + new_bytes = vorbis.libvorbisfile.ov_read(vf, buffer_, 4096, 0, 2, 1, bitstream_pointer) - array_ = ctypes.cast(buffer_, ctypes.POINTER(ctypes.c_char*32768)).contents + array_ = ctypes.cast(buffer_, ctypes.POINTER(ctypes.c_char*4096)).contents - if self.buffer: - self.buffer += array_.raw[:new_bytes] - else: - self.buffer = array_.raw[:new_bytes] - - del array_ + self.buffer_array.append(array_.raw[:new_bytes]) if new_bytes == 0: break - del array - - del buffer_ - - del bitstream + self.buffer = b"".join(self.buffer_array) - del bitstream_pointer - - vorbis.ov_clear(vf) + vorbis.libvorbisfile.ov_clear(vf) self.buffer_length = len(self.buffer) class VorbisFileStream: def __init__(self, path): - error, self.vf = vorbis.ov_fopen(path) + self.vf = vorbis.OggVorbis_File() + error = vorbis.ov_fopen(path, self.vf) if error != 0: raise PyOggError("file couldn't be opened or doesn't exist. Error code : {}".format(error)) @@ -91,17 +82,14 @@ self.bitstream = ctypes.c_int() self.bitstream_pointer = ctypes.pointer(self.bitstream) - del array - self.exists = True - def clean_up(self): - del self.buffer_ - - del self.bitstream - - del self.bitstream_pointer + def __del__(self): + if self.exists: + vorbis.ov_clear(self.vf) + self.exists = False + def clean_up(self): vorbis.ov_clear(self.vf) self.exists = False @@ -110,28 +98,28 @@ """get_buffer() -> bytesBuffer, bufferLength""" if not self.exists: return None - buffer = b"" + buffer = [] + total_bytes_written = 0 while True: - new_bytes = vorbis.ov_read(self.vf, self.buffer_, PYOGG_STREAM_BUFFER_SIZE*self.channels - len(buffer), 0, 2, 1, self.bitstream_pointer) + new_bytes = vorbis.ov_read(self.vf, self.buffer_, PYOGG_STREAM_BUFFER_SIZE*self.channels - total_bytes_written, 0, 2, 1, self.bitstream_pointer) array_ = ctypes.cast(self.buffer_, ctypes.POINTER(ctypes.c_char*(PYOGG_STREAM_BUFFER_SIZE*self.channels))).contents - if buffer: - buffer += array_.raw[:new_bytes] - else: - buffer = array_.raw[:new_bytes] + buffer.append(array_.raw[:new_bytes]) - del array_ + total_bytes_written += new_bytes - if new_bytes == 0 or len(buffer) == PYOGG_STREAM_BUFFER_SIZE*self.channels: + if new_bytes == 0 or total_bytes_written >= PYOGG_STREAM_BUFFER_SIZE*self.channels: break - if len(buffer) == 0: + out_buffer = b"".join(buffer) + + if total_bytes_written == 0: self.clean_up() return(None) - return(buffer, len(buffer)) + return(out_buffer, total_bytes_written) else: class VorbisFile: def __init__(*args, **kw): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyOgg-0.6.7a1/pyogg/vorbis.py new/PyOgg-0.6.9a1/pyogg/vorbis.py --- old/PyOgg-0.6.7a1/pyogg/vorbis.py 2019-01-14 16:37:17.000000000 +0100 +++ new/PyOgg-0.6.9a1/pyogg/vorbis.py 2019-04-01 13:19:35.000000000 +0200 @@ -491,12 +491,8 @@ libvorbisfile.ov_fopen.restype = c_int libvorbisfile.ov_fopen.argtypes = [c_char_p, vf_p] - def ov_fopen(path, vf=None): - if not vf: - vf = OggVorbis_File() - vf_pointer = pointer(vf) - result = libvorbisfile.ov_fopen(to_char_p(path), vf_pointer) - return result, vf + def ov_fopen(path, vf): + return libvorbisfile.ov_fopen(to_char_p(path), vf) libvorbisfile.ov_open_callbacks.restype = c_int libvorbisfile.ov_open_callbacks.argtypes = [c_void_p, vf_p, c_char_p, c_long, ov_callbacks] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PyOgg-0.6.7a1/setup.py new/PyOgg-0.6.9a1/setup.py --- old/PyOgg-0.6.7a1/setup.py 2019-03-01 11:41:59.000000000 +0100 +++ new/PyOgg-0.6.9a1/setup.py 2019-04-01 13:24:20.000000000 +0200 @@ -28,7 +28,7 @@ # Versions should comply with PEP440. For a discussion on single-sourcing # the version across setup.py and the project code, see # https://packaging.python.org/en/latest/single_source_version.html - version='0.6.7a1', + version='0.6.9a1', description='Xiph.org\'s Ogg Vorbis, Opus and FLAC for Python', @@ -69,6 +69,7 @@ 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', ], # What does your project relate to?