mirror of
https://github.com/python/cpython.git
synced 2025-08-02 08:02:56 +00:00
SF [ 1231053 ] audioop - alaw encoding/decoding added, code updated
This patch adds a-LAW encoding to audioop and replaces the old u-LAW encoding/decoding code with the current code from sox. Possible issues: the code from sox uses int16_t. Code by Lars Immisch
This commit is contained in:
parent
d1e0ef68fb
commit
fa86907aae
4 changed files with 349 additions and 98 deletions
|
@ -136,12 +136,30 @@ def testlin2adpcm(data):
|
|||
return 0
|
||||
return 1
|
||||
|
||||
def testlin2alaw(data):
|
||||
if verbose:
|
||||
print 'lin2alaw'
|
||||
if audioop.lin2alaw(data[0], 1) != '\xd5\xc5\xf5' or \
|
||||
audioop.lin2alaw(data[1], 2) != '\xd5\xd5\xd5' or \
|
||||
audioop.lin2alaw(data[2], 4) != '\xd5\xd5\xd5':
|
||||
return 0
|
||||
return 1
|
||||
|
||||
def testalaw2lin(data):
|
||||
if verbose:
|
||||
print 'alaw2lin'
|
||||
# Cursory
|
||||
d = audioop.lin2alaw(data[0], 1)
|
||||
if audioop.alaw2lin(d, 1) != data[0]:
|
||||
return 0
|
||||
return 1
|
||||
|
||||
def testlin2ulaw(data):
|
||||
if verbose:
|
||||
print 'lin2ulaw'
|
||||
if audioop.lin2ulaw(data[0], 1) != '\377\347\333' or \
|
||||
audioop.lin2ulaw(data[1], 2) != '\377\377\377' or \
|
||||
audioop.lin2ulaw(data[2], 4) != '\377\377\377':
|
||||
if audioop.lin2ulaw(data[0], 1) != '\xff\xe7\xdb' or \
|
||||
audioop.lin2ulaw(data[1], 2) != '\xff\xff\xff' or \
|
||||
audioop.lin2ulaw(data[2], 4) != '\xff\xff\xff':
|
||||
return 0
|
||||
return 1
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue