@@ -761,6 +761,9 @@ class MP3Test(ReadWriteTestBase, PartialTestMixin,
761
761
audio_properties = {
762
762
'length' : 1.0 ,
763
763
'bitrate' : 80000 ,
764
+ 'bitrate_mode' : '' ,
765
+ 'encoder_info' : '' ,
766
+ 'encoder_settings' : '' ,
764
767
'format' : 'MP3' ,
765
768
'samplerate' : 44100 ,
766
769
'bitdepth' : 0 ,
@@ -771,13 +774,28 @@ def test_unknown_apic_type(self):
771
774
mediafile = self ._mediafile_fixture ('image_unknown_type' )
772
775
self .assertEqual (mediafile .images [0 ].type , ImageType .other )
773
776
777
+ def test_bitrate_mode (self ):
778
+ mediafile = self ._mediafile_fixture ('cbr' )
779
+ self .assertEqual (mediafile .bitrate_mode , 'CBR' )
780
+
781
+ def test_encoder_info (self ):
782
+ mediafile = self ._mediafile_fixture ('cbr' )
783
+ self .assertEqual (mediafile .encoder_info , 'LAME 3.100.0+' )
784
+
785
+ def test_encoder_settings (self ):
786
+ mediafile = self ._mediafile_fixture ('cbr' )
787
+ self .assertEqual (mediafile .encoder_settings , '-b 80' )
788
+
774
789
775
790
class MP4Test (ReadWriteTestBase , PartialTestMixin ,
776
791
ImageStructureTestMixin , unittest .TestCase ):
777
792
extension = 'm4a'
778
793
audio_properties = {
779
794
'length' : 1.0 ,
780
795
'bitrate' : 64000 ,
796
+ 'bitrate_mode' : '' ,
797
+ 'encoder_info' : '' ,
798
+ 'encoder_settings' : '' ,
781
799
'format' : 'AAC' ,
782
800
'samplerate' : 44100 ,
783
801
'bitdepth' : 16 ,
@@ -799,6 +817,9 @@ class AlacTest(ReadWriteTestBase, unittest.TestCase):
799
817
audio_properties = {
800
818
'length' : 1.0 ,
801
819
'bitrate' : 21830 ,
820
+ 'bitrate_mode' : '' ,
821
+ 'encoder_info' : '' ,
822
+ 'encoder_settings' : '' ,
802
823
# 'format': 'ALAC',
803
824
'samplerate' : 44100 ,
804
825
'bitdepth' : 16 ,
@@ -811,6 +832,9 @@ class MusepackTest(ReadWriteTestBase, unittest.TestCase):
811
832
audio_properties = {
812
833
'length' : 1.0 ,
813
834
'bitrate' : 24023 ,
835
+ 'bitrate_mode' : '' ,
836
+ 'encoder_info' : '' ,
837
+ 'encoder_settings' : '' ,
814
838
'format' : u'Musepack' ,
815
839
'samplerate' : 44100 ,
816
840
'bitdepth' : 0 ,
@@ -824,6 +848,9 @@ class WMATest(ReadWriteTestBase, ExtendedImageStructureTestMixin,
824
848
audio_properties = {
825
849
'length' : 1.0 ,
826
850
'bitrate' : 128000 ,
851
+ 'bitrate_mode' : '' ,
852
+ 'encoder_info' : '' ,
853
+ 'encoder_settings' : '' ,
827
854
'format' : u'Windows Media' ,
828
855
'samplerate' : 44100 ,
829
856
'bitdepth' : 0 ,
@@ -852,6 +879,9 @@ class OggTest(ReadWriteTestBase, ExtendedImageStructureTestMixin,
852
879
audio_properties = {
853
880
'length' : 1.0 ,
854
881
'bitrate' : 48000 ,
882
+ 'bitrate_mode' : '' ,
883
+ 'encoder_info' : '' ,
884
+ 'encoder_settings' : '' ,
855
885
'format' : u'OGG' ,
856
886
'samplerate' : 44100 ,
857
887
'bitdepth' : 0 ,
@@ -896,6 +926,9 @@ class FlacTest(ReadWriteTestBase, PartialTestMixin,
896
926
audio_properties = {
897
927
'length' : 1.0 ,
898
928
'bitrate' : 108688 ,
929
+ 'bitrate_mode' : '' ,
930
+ 'encoder_info' : '' ,
931
+ 'encoder_settings' : '' ,
899
932
'format' : u'FLAC' ,
900
933
'samplerate' : 44100 ,
901
934
'bitdepth' : 16 ,
@@ -909,6 +942,9 @@ class ApeTest(ReadWriteTestBase, ExtendedImageStructureTestMixin,
909
942
audio_properties = {
910
943
'length' : 1.0 ,
911
944
'bitrate' : 112608 ,
945
+ 'bitrate_mode' : '' ,
946
+ 'encoder_info' : '' ,
947
+ 'encoder_settings' : '' ,
912
948
'format' : u'APE' ,
913
949
'samplerate' : 44100 ,
914
950
'bitdepth' : 16 ,
@@ -921,6 +957,9 @@ class WavpackTest(ReadWriteTestBase, unittest.TestCase):
921
957
audio_properties = {
922
958
'length' : 1.0 ,
923
959
'bitrate' : 109312 ,
960
+ 'bitrate_mode' : '' ,
961
+ 'encoder_info' : '' ,
962
+ 'encoder_settings' : '' ,
924
963
'format' : u'WavPack' ,
925
964
'samplerate' : 44100 ,
926
965
'bitdepth' : 16 if mutagen .version >= (1 , 45 , 0 ) else 0 ,
@@ -933,6 +972,9 @@ class OpusTest(ReadWriteTestBase, unittest.TestCase):
933
972
audio_properties = {
934
973
'length' : 1.0 ,
935
974
'bitrate' : 66792 ,
975
+ 'bitrate_mode' : '' ,
976
+ 'encoder_info' : '' ,
977
+ 'encoder_settings' : '' ,
936
978
'format' : u'Opus' ,
937
979
'samplerate' : 48000 ,
938
980
'bitdepth' : 0 ,
@@ -945,6 +987,9 @@ class AIFFTest(ReadWriteTestBase, unittest.TestCase):
945
987
audio_properties = {
946
988
'length' : 1.0 ,
947
989
'bitrate' : 705600 ,
990
+ 'bitrate_mode' : '' ,
991
+ 'encoder_info' : '' ,
992
+ 'encoder_settings' : '' ,
948
993
'format' : u'AIFF' ,
949
994
'samplerate' : 44100 ,
950
995
'bitdepth' : 16 ,
@@ -957,6 +1002,9 @@ class WAVETest(ReadWriteTestBase, unittest.TestCase):
957
1002
audio_properties = {
958
1003
'length' : 1.0 ,
959
1004
'bitrate' : 88200 ,
1005
+ 'bitrate_mode' : '' ,
1006
+ 'encoder_info' : '' ,
1007
+ 'encoder_settings' : '' ,
960
1008
'format' : u'WAVE' ,
961
1009
'samplerate' : 44100 ,
962
1010
'bitdepth' : 16 ,
@@ -1033,6 +1081,9 @@ class DSFTest(ReadWriteTestBase, unittest.TestCase):
1033
1081
audio_properties = {
1034
1082
'length' : 0.01 ,
1035
1083
'bitrate' : 11289600 ,
1084
+ 'bitrate_mode' : '' ,
1085
+ 'encoder_info' : '' ,
1086
+ 'encoder_settings' : '' ,
1036
1087
'format' : u'DSD Stream File' ,
1037
1088
'samplerate' : 5644800 ,
1038
1089
'bitdepth' : 1 ,
0 commit comments