From 1b7f0394f8874b245d2402364dc0306292befeed Mon Sep 17 00:00:00 2001 From: jan Date: Tue, 12 Jul 2016 00:52:13 -0700 Subject: [PATCH] fix some types --- py_aax_decode/native.py | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/py_aax_decode/native.py b/py_aax_decode/native.py index ed0196e..a41be0a 100644 --- a/py_aax_decode/native.py +++ b/py_aax_decode/native.py @@ -1,5 +1,6 @@ from enum import Enum import ctypes +from ctypes import byref import wave @@ -20,8 +21,9 @@ class MetaData(Enum): def main(in_file, out_file, dll_path=None): if dll_path is None: - dll_path = 'c:\\Program Files (x86)\\Audible\\Bin\\AAXSDKWin.dll' + dll_path = 'C:/Program Files (x86)/Audible/Bin/AAXSDKWin.dll' + print(dll_path) dll = ctypes.CDLL(dll_path) handle = open_file(dll, in_file) @@ -55,7 +57,7 @@ def main(in_file, out_file, dll_path=None): def open_file(dll, filename): - handle = ctypes.pointer(ctypes.c_byte) + handle = ctypes.pointer(ctypes.c_byte()) res = dll.AAXOpenFileWinW(handle, filename) if res != 0: @@ -73,7 +75,7 @@ def close_file(dll, handle): def get_audio_channel_count(dll, handle): n_channels = ctypes.c_uint() - res = dll.AAXGetAudioChannelCount(handle, n_channels) + res = dll.AAXGetAudioChannelCount(handle, byref(n_channels)) if res != 0: raise Exception('AAXGetAudioChannelCount: {}'.format(res)) @@ -83,7 +85,7 @@ def get_audio_channel_count(dll, handle): def get_sample_rate(dll, handle): sample_rate = ctypes.c_uint() - res = dll.AAXGetSampleRate(handle, sample_rate) + res = dll.AAXGetSampleRate(handle, byref(sample_rate)) if res != 0: raise Exception('AAXGetSampleRate: {}'.format(res)) @@ -92,7 +94,7 @@ def get_sample_rate(dll, handle): def seek(dll, handle, position=0): - res = dll.AAXSeek(handle, position) + res = dll.AAXSeek(handle, ctypes.c_int(position)) if res != 0: raise Exception('AAXSeek: {}'.format(res)) @@ -110,7 +112,7 @@ def get_encoded_audio(dll, handle, buf=None): buf = ctypes.create_string_buffer(0x400) data_len = ctypes.c_uint() - res = dll.AAXGetEncodedAudio(handle, buf, len(buf), data_len) + res = dll.AAXGetEncodedAudio(handle, buf, len(buf), byref(data_len)) if res != 0: raise Exception('AAXGetEncodedAudio: {}'.format(res)) @@ -123,7 +125,7 @@ def decode_pcm_frame(dll, handle, in_buf, in_len, out_buf=None): out_buf = ctypes.create_string_buffer(0x400 * 200) data_len = ctypes.c_uint() - res = dll.AAXDecodedPCMFrame(handle, in_buf, in_len, out_buf, len(out_buf), data_len) + res = dll.AAXDecodedPCMFrame(handle, in_buf, in_len, out_buf, len(out_buf), byref(data_len)) if res != 0: raise Exception('AAXDecodedPCMFrame: {}'.format(res)) @@ -136,7 +138,7 @@ def get_chapter_text(dll, handle, chapter_num, buf=None): buf = ctypes.create_string_buffer(0x400) data_len = ctypes.c_uint() - res = dll.AAXGetChapterText(handle, chapter_num, buf, len(buf), data_len) + res = dll.AAXGetChapterText(handle, chapter_num, buf, len(buf), byref(data_len)) if res != 0: raise Exception('AAXGetChapterText: {}'.format(res)) @@ -146,13 +148,13 @@ def get_chapter_text(dll, handle, chapter_num, buf=None): def get_metadata(dll, handle, mdn): data_len = ctypes.c_uint() - res = dll.AAXGetMetadataInfo(handle, mdn, None, data_len) + res = dll.AAXGetMetadataInfo(handle, ctypes.c_int(mdn), None, byref(data_len)) if res != 0: raise Exception('AAXGetMetadataInfo: {}'.format(res)) buf = ctypes.create_string_buffer(data_len) - res = dll.AAXGetMetadata(handle, mdn, buf, data_len) + res = dll.AAXGetMetadata(handle, ctypes.int(mdn), buf, byref(data_len)) if res != 0: raise Exception('AAXGetChapterText: {}'.format(res)) @@ -161,7 +163,7 @@ def get_metadata(dll, handle, mdn): def seek_to_chapter(dll, handle, chapter): - res = dll.AAXSeekToChapter(handle, chapter) + res = dll.AAXSeekToChapter(handle, ctypes.c_uint(chapter)) if res != 0: raise Exception('AAXSeekToChapter: {}'.format(res)) @@ -169,7 +171,7 @@ def seek_to_chapter(dll, handle, chapter): def get_chapter_count(dll, handle): n_chapters = ctypes.c_uint() - res = dll.AAXGetChapterCount(handle, n_chapters) + res = dll.AAXGetChapterCount(handle, byref(n_chapters)) if res != 0: raise Exception('AAXGetChapterCount: {}'.format(res)) @@ -179,7 +181,7 @@ def get_chapter_count(dll, handle): def get_current_chapter(dll, handle): chapter = ctypes.c_uint() - res = dll.AAXGetCurrentChapter(handle, chapter) + res = dll.AAXGetCurrentChapter(handle, byref(chapter)) if res != 0: raise Exception('AAXGetCurrentChapter: {}'.format(res)) @@ -189,7 +191,7 @@ def get_current_chapter(dll, handle): def get_duration(dll, handle): duration = ctypes.c_uint() - res = dll.AAXGetDuration(handle, duration) + res = dll.AAXGetDuration(handle, byref(duration)) if res != 0: raise Exception('AAXGetDuration: {}'.format(res)) @@ -199,7 +201,7 @@ def get_duration(dll, handle): def get_playback_position(dll, handle): position = ctypes.c_uint() - res = dll.AAXGetPlaybackPosition(handle, position) + res = dll.AAXGetPlaybackPosition(handle, byref(position)) if res != 0: raise Exception('AAXGetPlaybackPosition: {}'.format(res)) @@ -209,7 +211,7 @@ def get_playback_position(dll, handle): def get_chapter_start_time(dll, handle, chapter): position = ctypes.c_uint() - res = dll.AAXGetChapterStartTime(handle, position, chapter) + res = dll.AAXGetChapterStartTime(handle, byref(position), chapter) if res != 0: raise Exception('AAXGetChapterStartTime: {}'.format(res)) @@ -219,7 +221,7 @@ def get_chapter_start_time(dll, handle, chapter): def get_avg_bitrate(dll, handle): bitrate = ctypes.c_uint() - res = dll.AAXGetAvgBitrate(handle, bitrate) + res = dll.AAXGetAvgBitrate(handle, byref(bitrate)) if res != 0: raise Exception('AAXGetAvgBitrate: {}'.format(res)) @@ -229,7 +231,7 @@ def get_avg_bitrate(dll, handle): def get_max_bitrate(dll, handle): bitrate = ctypes.c_uint() - res = dll.AAXGetMaxBitrate(handle, bitrate) + res = dll.AAXGetMaxBitrate(handle, byref(bitrate)) if res != 0: raise Exception('AAXGetAvgBitrate: {}'.format(res))