]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-11547: [core] Fix broken record_sample_rate variable.
authorAndrey Volk <andrey@signalwire.com>
Mon, 3 Dec 2018 20:31:36 +0000 (00:31 +0400)
committerAndrey Volk <andywolk@gmail.com>
Thu, 20 Dec 2018 22:17:27 +0000 (02:17 +0400)
src/switch_core_file.c
src/switch_ivr_async.c

index 4cd4600c48feb6a35097754cef40e6984232b1d5..8fc0008b7894c141bb2d9ec26ae18b32a3a777cc 100644 (file)
@@ -81,10 +81,13 @@ SWITCH_DECLARE(switch_status_t) switch_core_perform_file_open(const char *file,
        }
 
        fh->samples_in = 0;
-       fh->samplerate = 0;
-       fh->native_rate = 0;
-       fh->channels = 0;
-       fh->real_channels = 0;
+
+       if (!(flags & SWITCH_FILE_FLAG_WRITE)) {
+               fh->samplerate = 0;
+               fh->native_rate = 0;
+               fh->channels = 0;
+               fh->real_channels = 0;
+       }
        
        if (!fh->samplerate) {
                if (!(fh->samplerate = rate)) {
index 23d669214f518c78cc110a42364ac50dcd7e5d82..f318fd987495b17f24f16cfdfcdf93ccf119553c 100644 (file)
@@ -1322,7 +1322,7 @@ static switch_bool_t record_callback(switch_media_bug_t *bug, void *user_data, s
 
                        switch_core_session_get_read_impl(session, &rh->read_impl);
                        if (rh->fh) {
-                               switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Record session sample rate: %d -> %d\n", rh->fh->native_rate, rh->read_impl.actual_samples_per_second);
+                               switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Record session sample rate: %d -> %d\n", rh->fh->native_rate, rh->fh->samplerate);
                                rh->fh->native_rate = rh->read_impl.actual_samples_per_second;
                                if (switch_core_file_has_video(rh->fh, SWITCH_TRUE)) {
                                        switch_core_media_bug_set_media_params(bug, &rh->fh->mm);