Changeset 7109
- Timestamp:
- 01/26/10 05:13:19 (7 months ago)
- Location:
- trunk/liquidsoap/src
- Files:
-
- 4 modified
-
encoder/encoder.ml (modified) (1 diff)
-
encoder/lame_encoder.ml (modified) (3 diffs)
-
lang/lang_parser.mly (modified) (2 diffs)
-
outputs/icecast2.ml (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/liquidsoap/src/encoder/encoder.ml
r7106 r7109 67 67 struct 68 68 69 type bitrate_control = Quality of int | Bitrate of int 70 69 71 type t = { 70 72 stereo : bool ; 71 quality : int;73 bitrate : bitrate_control ; 72 74 samplerate : int ; 73 bitrate : int ; 74 } 75 } 76 77 let string_of_bitrate_control x = 78 match x with 79 | Quality x -> Printf.sprintf "quality=%i" x 80 | Bitrate x -> Printf.sprintf "bitrate=%i" x 75 81 76 82 let to_string m = 77 Printf.sprintf "%%mp3(%s, quality=%d,samplerate=%d,bitrate=%d)"83 Printf.sprintf "%%mp3(%s,%s,samplerate=%d)" 78 84 (string_of_stereo m.stereo) 79 m.quality85 (string_of_bitrate_control m.bitrate) 80 86 m.samplerate 81 m.bitrate82 87 83 88 end -
trunk/liquidsoap/src/encoder/lame_encoder.ml
r7105 r7109 26 26 open Encoder.MP3 27 27 28 let create_encoder ~samplerate ~bitrate ~ quality ~stereo =28 let create_encoder ~samplerate ~bitrate ~stereo = 29 29 let enc = Lame.create_encoder () in 30 30 (* Input settings *) … … 33 33 (* Output settings *) 34 34 Lame.set_mode enc (if stereo then Lame.Stereo else Lame.Mono) ; 35 Lame.set_quality enc quality ; 35 begin 36 match bitrate with 37 | Encoder.MP3.Quality quality -> 38 Lame.set_quality enc quality 39 | Encoder.MP3.Bitrate bitrate -> 40 Lame.set_brate enc bitrate 41 end; 36 42 Lame.set_out_samplerate enc samplerate ; 37 Lame.set_brate enc bitrate ;38 43 Lame.init_params enc ; 39 44 enc … … 43 48 let e = create_encoder ~samplerate:mp3.samplerate 44 49 ~bitrate:mp3.bitrate 45 ~quality:mp3.quality46 50 ~stereo:mp3.stereo 47 51 in -
trunk/liquidsoap/src/lang/lang_parser.mly
r7106 r7109 120 120 stereo = true ; 121 121 samplerate = 44100 ; 122 bitrate = 128 ; 123 quality = 5 } 122 bitrate = Encoder.MP3.Bitrate 128 } 124 123 in 125 124 let mp3 = … … 132 131 { f with Encoder.MP3.samplerate = i } 133 132 | ("bitrate",{ term = Int i }) -> 134 { f with Encoder.MP3.bitrate = i } 133 { f with Encoder.MP3.bitrate = 134 Encoder.MP3.Bitrate i } 135 135 | ("quality",{ term = Int q }) -> 136 { f with Encoder.MP3.quality = q } 136 { f with Encoder.MP3.bitrate = 137 Encoder.MP3.Quality q } 137 138 138 139 | ("",{ term = Var s }) when String.lowercase s = "mono" -> -
trunk/liquidsoap/src/outputs/icecast2.ml
r7107 r7109 95 95 match enc with 96 96 | Encoder.MP3 m -> 97 { quality = Some (string_of_int m.Encoder.MP3.quality) ; 98 bitrate = Some m.Encoder.MP3.bitrate ; 97 let quality,bitrate = 98 match m.Encoder.MP3.bitrate with 99 | Encoder.MP3.Bitrate x -> None,(Some x) 100 | Encoder.MP3.Quality x -> (Some (string_of_int x)),None 101 in 102 { quality = quality ; 103 bitrate = bitrate ; 99 104 samplerate = Some m.Encoder.MP3.samplerate ; 100 105 channels = Some (if m.Encoder.MP3.stereo then 2 else 1)
