From: Marko Nykanen Date: Wed, 16 Dec 2009 20:29:02 +0000 (+0200) Subject: fix misreported audiolenght, playback timer X-Git-Tag: 0.3.3~1 X-Git-Url: http://git.maemo.org/git/?p=maemo-recorder;a=commitdiff_plain;h=e545cea0193cd7384e73962046a11532401b6135 fix misreported audiolenght, playback timer --- diff --git a/debian/changelog b/debian/changelog index fb1ca50..43adb72 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +recorder (0.3.3) unstable; urgency=low + + * Fix misreported audio-length + * Playback timer + + -- Marko Nykanen Wed, 16 Dec 2009 21:01:45 +0200 + recorder (0.3.2) unstable; urgency=low * simpler ui diff --git a/src/maemo-recorder-ui.c b/src/maemo-recorder-ui.c index 6d95261..ab39db7 100644 --- a/src/maemo-recorder-ui.c +++ b/src/maemo-recorder-ui.c @@ -302,8 +302,8 @@ static gboolean createPipeline(AppData *app, PipeLineType type) break; case FORMAT_WAV: - gst_bin_add_many(GST_BIN(pipeline), src, parse, sink, NULL); - if (!gst_element_link_many (src, parse, sink, NULL)) + gst_bin_add_many(GST_BIN(pipeline), src, filter, parse, sink, NULL); + if (!gst_element_link_many (src, filter, parse, sink, NULL)) { ULOG_ERR("gst_element_link failed for src, parse and sink!"); } @@ -574,6 +574,7 @@ static gboolean cbBus(GstBus *bus, GST_STATE_PAUSED); destroyPipeline(app, PIPELINE_REC); app->saved = FALSE; + setAppState(data, APPSTATE_READY); break; case APPSTATE_READY: @@ -653,7 +654,6 @@ static gboolean cbCheckPosition (AppData *data) { gdouble time = GST_TIME_TO_SECS(pos); guint mins = 0; - gdouble secs; gchar* tmp; ULOG_DEBUG("pos = %lld, time = %f", @@ -665,13 +665,13 @@ static gboolean cbCheckPosition (AppData *data) GTK_ADJUSTMENT(data->mainViewData.adjustment), time); gtk_adjustment_value_changed(GTK_ADJUSTMENT(data->mainViewData.adjustment)); - if (secs >= 60.0) + if (time >= 60.0) { - mins = secs / 60; - secs -= mins * 60.0; + mins = time / 60; + time -= mins * 60.0; } - tmp = g_strdup_printf("%02u:%02d", mins, (int)secs); + tmp = g_strdup_printf("%02u:%02d", mins, (int)time); gtk_label_set_text(GTK_LABEL(data->mainViewData.ctime), tmp); @@ -1328,6 +1328,7 @@ static void cbStop(GtkWidget* widget, GdkEventButton *event, AppData *data) ULOG_INFO("%s() - Setting playPipeline state to PAUSED", G_STRFUNC); gst_element_set_state(GST_ELEMENT(data->playPipeline), GST_STATE_PAUSED); + setAppState(data, APPSTATE_READY); /* flow through */ case APPSTATE_PAUSED: case APPSTATE_READY: @@ -1347,9 +1348,8 @@ static void cbStop(GtkWidget* widget, GdkEventButton *event, AppData *data) case APPSTATE_RECORDING: { gdouble len = -1.0; - gst_element_set_state(GST_ELEMENT(data->recPipeline), - GST_STATE_PAUSED); - destroyPipeline(data, PIPELINE_REC); + gst_element_send_event(GST_ELEMENT(data->recPipeline), + gst_event_new_eos()); gtk_widget_set_sensitive(data->buttonSaveAs, TRUE); data->saved = FALSE; @@ -1366,8 +1366,6 @@ static void cbStop(GtkWidget* widget, GdkEventButton *event, AppData *data) break; } - setAppState(data, APPSTATE_READY); - ULOG_DEBUG("%s() - end", G_STRFUNC); } diff --git a/src/maemo-recorder.h b/src/maemo-recorder.h index 35e6196..ad450f7 100644 --- a/src/maemo-recorder.h +++ b/src/maemo-recorder.h @@ -37,7 +37,7 @@ #define SERVICE_NAME_FULL "com.nokia.maemo_recorder" #define DEFAULT_CHANNELS 1 -#define DEFAULT_RATE 16000 +#define DEFAULT_RATE 22050 #define GST_TYPE_ILBC "audio/x-iLBC" #define ILBC_RATE DEFAULT_RATE @@ -57,7 +57,7 @@ #define GST_TYPE_PCMA "audio/x-alaw" #define GST_TYPE_PCMU "audio/x-mulaw" #define GST_TYPE_PCM "audio/x-raw-int" -#define PCM_RATE 16000 +#define PCM_RATE 22050 #define PCM_WIDTH 16 #define PCM_DEPTH 16 #define PCM_ENDIANNESS 1234