Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitc55c503

Browse files
committed
GH-132445: Allowing to reset parameters of Wave_write
1 parent1e5798e commitc55c503

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

‎Lib/wave.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -478,7 +478,7 @@ def __exit__(self, *args):
478478
# User visible methods.
479479
#
480480
defsetnchannels(self,nchannels):
481-
ifself._datawritten:
481+
ifself._datawrittenandself._nchannels!=nchannels:
482482
raiseError('cannot change parameters after starting to write')
483483
ifnchannels<1:
484484
raiseError('bad # of channels')
@@ -490,7 +490,7 @@ def getnchannels(self):
490490
returnself._nchannels
491491

492492
defsetsampwidth(self,sampwidth):
493-
ifself._datawritten:
493+
ifself._datawrittenandself._sampwidth!=sampwidth:
494494
raiseError('cannot change parameters after starting to write')
495495
ifsampwidth<1orsampwidth>4:
496496
raiseError('bad sample width')
@@ -502,19 +502,20 @@ def getsampwidth(self):
502502
returnself._sampwidth
503503

504504
defsetframerate(self,framerate):
505-
ifself._datawritten:
505+
rounded_framerate=int(round(framerate))
506+
ifself._datawrittenandself._framerate!=rounded_framerate:
506507
raiseError('cannot change parameters after starting to write')
507-
ifframerate<=0:
508+
ifrounded_framerate<=0:
508509
raiseError('bad frame rate')
509-
self._framerate=int(round(framerate))
510+
self._framerate=rounded_framerate
510511

511512
defgetframerate(self):
512513
ifnotself._framerate:
513514
raiseError('frame rate not set')
514515
returnself._framerate
515516

516517
defsetnframes(self,nframes):
517-
ifself._datawritten:
518+
ifself._datawrittenandself._nframes!=nframes:
518519
raiseError('cannot change parameters after starting to write')
519520
self._nframes=nframes
520521

@@ -537,8 +538,8 @@ def getcompname(self):
537538

538539
defsetparams(self,params):
539540
nchannels,sampwidth,framerate,nframes,comptype,compname=params
540-
ifself._datawritten:
541-
raiseError('cannot change parameters after starting to write')
541+
# no check for value change required: either the properties have the same
542+
# value or they throw the exception them selfs
542543
self.setnchannels(nchannels)
543544
self.setsampwidth(sampwidth)
544545
self.setframerate(framerate)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp