#include "maemo-recorder.h"
#include "maemo-recorder-ui.h"
#include "maemo-recorder-file.h"
-
+#include "settings.h"
#define DEFAULT_REC_BLOCKSIZE "160"
{
case PIPELINE_PLAY_MP3:
ULOG_INFO("mp3 playback - queue");
- src = gst_element_factory_make ("filesrc", "source");
+ src = gst_element_factory_make ("gnomevfssrc", "source");
queue = gst_element_factory_make ("queue", "queue");
sink = gst_element_factory_make ("dspmp3sink", "sink");
g_object_set(G_OBJECT (queue),
- "max-size-buffers", 8192,
"min-threshold-bytes", 131072,
- "min-threshold-buffers", 2048,
NULL );
g_object_set(G_OBJECT(src),
"location", app->openFileName,
+ "blocksize", 65536,
NULL);
break;
switch (type)
{
case PIPELINE_REC:
- switch (app->filter)
- {
- case FORMAT_ILBC:
- case FORMAT_PCM:
- case FORMAT_PCMA:
- if (!filter)
- {
- ULOG_ERR("Could not create filter GstElement!");
- return FALSE;
- }
- gst_bin_add_many(GST_BIN(pipeline), src, filter, sink, NULL);
-
- if (!gst_element_link_many (src, filter, sink, NULL))
- {
- ULOG_ERR("gst_element_link failed for src, filter and sink!");
- return FALSE;
- }
- break;
- case FORMAT_WAV:
- gst_bin_add_many(GST_BIN(pipeline), src, parse, sink, NULL);
- if (!gst_element_link_many (src, parse, sink, NULL))
- {
- ULOG_ERR("gst_element_link failed for src, parse and sink!");
- }
- break;
-
- default:
- break;
+ switch (app->filter)
+ {
+ case FORMAT_ILBC:
+ case FORMAT_PCM:
+ case FORMAT_PCMA:
+ if (!filter)
+ {
+ ULOG_ERR("Could not create filter GstElement!");
+ return FALSE;
+ }
+ gst_bin_add_many(GST_BIN(pipeline), src, filter, sink, NULL);
+
+ if (!gst_element_link_many (src, filter, sink, NULL))
+ {
+ ULOG_ERR("gst_element_link failed for src, filter and sink!");
+ return FALSE;
+ }
+ break;
+ case FORMAT_WAV:
+ gst_bin_add_many(GST_BIN(pipeline), src, parse, sink, NULL);
+ if (!gst_element_link_many (src, parse, sink, NULL))
+ {
+ ULOG_ERR("gst_element_link failed for src, parse and sink!");
+ }
+ break;
+
+ default:
+ break;
- }
- break;
-
+ }
+ break;
+
case PIPELINE_PLAY:
- switch (app->filter)
- {
- case FORMAT_ILBC:
- case FORMAT_PCM:
- case FORMAT_PCMA:
- if (!filter)
- {
- ULOG_ERR("Could not create filter GstElement!");
- return FALSE;
- }
- gst_bin_add_many(GST_BIN(pipeline), src, filter, sink, NULL);
-
- if (!gst_element_link_many (src, filter, sink, NULL))
- {
- ULOG_ERR("gst_element_link failed for src, filter and sink!");
- return FALSE;
- }
-
- break;
- case FORMAT_WAV:
- gst_bin_add_many(GST_BIN(pipeline), src, parse, NULL);
- if (!gst_element_link_many (src, parse, NULL))
- {
- ULOG_ERR("gst_element_link failed for src, parse and sink!");
- return FALSE;
- }
- app->playPipeline = pipeline;
- g_signal_connect(parse, "pad_added",
- G_CALLBACK(new_pad_cb), app);
-
- break;
+ switch (app->filter)
+ {
+ case FORMAT_ILBC:
+ case FORMAT_PCM:
+ case FORMAT_PCMA:
+ if (!filter)
+ {
+ ULOG_ERR("Could not create filter GstElement!");
+ return FALSE;
+ }
+ gst_bin_add_many(GST_BIN(pipeline), src, filter, sink, NULL);
+
+ if (!gst_element_link_many (src, filter, sink, NULL))
+ {
+ ULOG_ERR("gst_element_link failed for src, filter and sink!");
+ return FALSE;
+ }
+
+ break;
+ case FORMAT_WAV:
+ gst_bin_add_many(GST_BIN(pipeline), src, parse, NULL);
+ if (!gst_element_link_many (src, parse, NULL))
+ {
+ ULOG_ERR("gst_element_link failed for src, parse and sink!");
+ return FALSE;
+ }
+ app->playPipeline = pipeline;
+ g_signal_connect(parse, "pad_added",
+ G_CALLBACK(new_pad_cb), app);
+
+ break;
- default:
- break;
- }
+ default:
+ break;
+ }
- break;
+ break;
case PIPELINE_PLAY_MP3:
default:
static gboolean destroyPipeline(AppData *data, PipeLineType type)
{
- GstState state;
- GstState pending;
- GstElement *pipeline = NULL;
+ GstState state;
+ GstState pending;
+ GstElement *pipeline = NULL;
- ULOG_INFO("%s() - Stopping playback/recording", G_STRFUNC);
+ ULOG_INFO("%s() - Stopping playback/recording", G_STRFUNC);
- switch (type)
- {
+ switch (type)
+ {
case PIPELINE_REC:
pipeline = data->recPipeline;
/*
data->playPipeline = NULL;
*/
break;
- }
+ }
- if (!GST_IS_ELEMENT(pipeline))
- return TRUE;
+ if (!GST_IS_ELEMENT(pipeline))
+ return TRUE;
- /* this unallocates everything */
- gst_element_set_state(GST_ELEMENT(pipeline), GST_STATE_NULL);
+ /* this unallocates everything */
+ gst_element_set_state(GST_ELEMENT(pipeline), GST_STATE_NULL);
- /* for some reason the state does not update manually */
- gst_element_get_state(pipeline, &state,
- &pending, GST_CLOCK_TIME_NONE);
- pipelineStateChanged(pipeline,
- state,
- state,
- pending,
- data);
+ /* for some reason the state does not update manually */
+ gst_element_get_state(pipeline, &state,
+ &pending, GST_CLOCK_TIME_NONE);
+ pipelineStateChanged(pipeline,
+ state,
+ state,
+ pending,
+ data);
- /*
- gst_object_unref(pipeline);
- */
+ /*
+ gst_object_unref(pipeline);
+ */
- return TRUE;
+ return TRUE;
}
break;
case GST_STATE_READY:
- //hildon_banner_show_information(GTK_WIDGET(data->mainView), NULL, "Ready...");
+ /* hildon_banner_show_information(GTK_WIDGET(data->mainView), NULL, "Ready..."); */
ULOG_INFO("%s() - Ready", G_STRFUNC);
gtk_entry_set_text(GTK_ENTRY(data->mainViewData.stateEntry),
RECORDER_MSG_READY);
GstMessage *message,
gpointer data)
{
- AppData *app = (AppData*)data;
+ AppData *app = (AppData*)data;
- switch (GST_MESSAGE_TYPE(message))
- {
- case GST_MESSAGE_WARNING:
- {
- GError *err;
- gchar *debug;
-
- gst_message_parse_error (message, &err, &debug);
- ULOG_WARN("%s() - Warning: %s", G_STRFUNC, err->message);
- g_error_free (err);
- g_free (debug);
- break;
- }
- case GST_MESSAGE_ERROR:
- {
- GError *err;
- gchar *debug;
-
- gst_message_parse_error (message, &err, &debug);
- ULOG_ERR("%s() - Error: %s", G_STRFUNC, err->message);
- g_error_free (err);
- g_free (debug);
- /* break; */
- /* flow through to eos */
- }
- case GST_MESSAGE_EOS:
- {
- ULOG_INFO("%s() - eos", G_STRFUNC);
-
- switch(getAppState(app))
- {
- case APPSTATE_PLAYING:
- /* stop playback after a short break*/
- g_timeout_add(STOP_DELAY, (GSourceFunc)cbStopPlayback, data);
- break;
-
- case APPSTATE_RECORDING:
- gst_element_set_state(GST_ELEMENT(app->recPipeline),
- GST_STATE_PAUSED);
- destroyPipeline(app, PIPELINE_REC);
- app->saved = FALSE;
- break;
- case APPSTATE_READY:
- default:
- /* destroyPipelines(app); */
- break;
- }
- break;
- }
- case GST_MESSAGE_STATE_CHANGED:
- {
- GstState old;
- GstState new;
- GstState pending;
-
- gst_message_parse_state_changed(message, &old, &new, &pending);
-
- pipelineStateChanged(NULL, old, new, pending, app);
-
- break;
- }
- default:
- /* unhandled message */
- ULOG_WARN("%s() - Unhandled message, type = %d", G_STRFUNC, message->type);
- break;
- }
-
- /* remove message from the queue */
- return TRUE;
+ switch (GST_MESSAGE_TYPE(message))
+ {
+ case GST_MESSAGE_WARNING:
+ {
+ GError *err;
+ gchar *debug;
+
+ gst_message_parse_error (message, &err, &debug);
+ ULOG_WARN("%s() - Warning: %s", G_STRFUNC, err->message);
+ g_error_free (err);
+ g_free (debug);
+ break;
+ }
+ case GST_MESSAGE_ERROR:
+ {
+ GError *err;
+ gchar *debug;
+
+ gst_message_parse_error (message, &err, &debug);
+ ULOG_ERR("%s() - Error: %s", G_STRFUNC, err->message);
+ g_error_free (err);
+ g_free (debug);
+ /* break; */
+ /* flow through to eos */
+ }
+ case GST_MESSAGE_EOS:
+ {
+ ULOG_INFO("%s() - eos", G_STRFUNC);
+
+ switch(getAppState(app))
+ {
+ case APPSTATE_PLAYING:
+ /* stop playback after a short break*/
+ g_timeout_add(STOP_DELAY, (GSourceFunc)cbStopPlayback, data);
+ break;
+
+ case APPSTATE_RECORDING:
+ gst_element_set_state(GST_ELEMENT(app->recPipeline),
+ GST_STATE_PAUSED);
+ destroyPipeline(app, PIPELINE_REC);
+ app->saved = FALSE;
+ break;
+
+ case APPSTATE_READY:
+ default:
+ /* destroyPipelines(app); */
+ break;
+ }
+ break;
+ }
+ case GST_MESSAGE_STATE_CHANGED:
+ {
+ GstState old;
+ GstState new;
+ GstState pending;
+
+ gst_message_parse_state_changed(message, &old, &new, &pending);
+
+ pipelineStateChanged(NULL, old, new, pending, app);
+
+ break;
+ }
+
+ default:
+ /* unhandled message */
+ ULOG_WARN("%s() - Unhandled message, type = %d", G_STRFUNC, message->type);
+ break;
+ }
+
+ /* remove message from the queue */
+ return TRUE;
}
static void cbDestroy(GtkWidget* widget, GdkEvent *event, gpointer data)
static gboolean cbCheckPosition (AppData *data)
{
- GstFormat fmt = GST_FORMAT_TIME;
- gint64 pos = 0, len = 0;
- static gboolean lengthSet = FALSE;
+ GstFormat fmt = GST_FORMAT_TIME;
+ gint64 pos = 0, len = 0;
+ static gboolean lengthSet = FALSE;
- g_assert(NULL != data);
+ g_assert(NULL != data);
- /* get length */
- if(!lengthSet && gst_element_query_duration(data->playPipeline, &fmt, &len))
- {
- if (len > 0)
- {
- gdouble size = 0;
- size = GST_TIME_TO_SECS(len);
- setLength(data, size); /* sets lengthEntry and adjustment */
- lengthSet = TRUE;
- }
- }
+ /* get length */
+ if(!lengthSet && gst_element_query_duration(data->playPipeline, &fmt, &len))
+ {
+ if (len > 0)
+ {
+ gdouble size = 0;
+ size = GST_TIME_TO_SECS(len);
+ setLength(data, size); /* sets lengthEntry and adjustment */
+ lengthSet = TRUE;
+ }
+ }
- /* calculate position */
+ /* calculate position */
if (gst_element_query_position(data->playPipeline, &fmt, &pos))
{
gdouble time = GST_TIME_TO_SECS(pos);
-
+
ULOG_DEBUG("pos = %lld, time = %f",
pos,
time
{
GstFormat fmt = GST_FORMAT_TIME;
- gint64 len;
- gdouble size = 0;
- /* create pipelines */
- /* check file type */
- switch (data->file_format)
- {
- case FORMAT_PCMA:
- case FORMAT_PCMU:
- case FORMAT_PCM:
- case FORMAT_ILBC:
- case FORMAT_WAV:
- destroyPipelines(data);
- data->filter = data->file_format;
- createPipeline(data, PIPELINE_PLAY);
- break;
- case FORMAT_MP3:
- destroyPipelines(data);
- data->filter = data->file_format;
- createPipeline(data, PIPELINE_PLAY_MP3);
- break;
- case FORMAT_NONE:
- default:
- ULOG_WARN("%s() - unknown file_format", G_STRFUNC);
- hildon_banner_show_information(GTK_WIDGET(data->mainView), GTK_STOCK_DIALOG_ERROR, _("Unknown filetype!"));
- return;
-
- break;
- }
-
- if (!GST_IS_ELEMENT(data->playPipeline))
- {
- hildon_banner_show_information(GTK_WIDGET(data->mainView), GTK_STOCK_DIALOG_ERROR, _("Could not create pipeline!"));
- return;
- }
+ gint64 len;
+ gdouble size = 0;
+ /* create pipelines */
+ /* check file type */
+ switch (data->file_format)
+ {
+ case FORMAT_PCMA:
+ case FORMAT_PCMU:
+ case FORMAT_PCM:
+ case FORMAT_ILBC:
+ case FORMAT_WAV:
+ destroyPipelines(data);
+ data->filter = data->file_format;
+ createPipeline(data, PIPELINE_PLAY);
+ break;
+
+ case FORMAT_MP3:
+ destroyPipelines(data);
+ data->filter = data->file_format;
+ createPipeline(data, PIPELINE_PLAY_MP3);
+ break;
+
+ case FORMAT_NONE:
+ default:
+ ULOG_WARN("%s() - unknown file_format", G_STRFUNC);
+ hildon_banner_show_information(GTK_WIDGET(data->mainView), GTK_STOCK_DIALOG_ERROR, _("Unknown filetype!"));
+ return;
+ break;
+ }
+
+ if (!GST_IS_ELEMENT(data->playPipeline))
+ {
+ hildon_banner_show_information(GTK_WIDGET(data->mainView), GTK_STOCK_DIALOG_ERROR, _("Could not create pipeline!"));
+ return;
+ }
gst_element_set_state(GST_ELEMENT(data->playPipeline), GST_STATE_READY);
gst_element_get_state(GST_ELEMENT(data->playPipeline), NULL, NULL, GST_CLOCK_TIME_NONE /* or ns */);
}
#endif
+static void cbSettings(GtkWidget* widget, AppData *data)
+{
+ edit_settings( widget, data );
+}
+
static void cbSaveAs(GtkWidget* widget, AppData *data)
{
GtkWidget* dialog = NULL;
GTK_WINDOW(data->mainView),
GTK_FILE_CHOOSER_ACTION_SAVE));
+ gtk_file_chooser_set_current_folder( GTK_FILE_CHOOSER(dialog),
+ get_default_dir() );
+
/* show it */
gtk_widget_show_all(dialog);
static void cbRec(GtkWidget* widget, AppData *data)
{
- g_assert(NULL != data);
+ g_assert(NULL != data);
- ULOG_DEBUG("%s() - begin", G_STRFUNC);
+ ULOG_DEBUG("%s() - begin", G_STRFUNC);
- if (APPSTATE_READY != getAppState(data))
- {
- ULOG_WARN("%s() - state different than READY -> return", G_STRFUNC);
- return;
- }
+ if (APPSTATE_READY != getAppState(data))
+ {
+ ULOG_WARN("%s() - state different than READY -> return", G_STRFUNC);
+ return;
+ }
- if (!closeFile(data))
- return;
+ if (!closeFile(data))
+ return;
+
+ /* clear filenames, use tmp file */
+ g_free(data->openFileName);
+ data->openFileName = NULL;
- /* clear filenames, use tmp file */
- g_free(data->openFileName);
- data->openFileName = NULL;
+ g_free(data->saveFileName);
+ data->saveFileName = NULL;
- g_free(data->saveFileName);
- data->saveFileName = NULL;
-
- switch (data->filter)
- {
- case FORMAT_PCM:
- data->saveFileName = g_strdup(DEFAULT_TMP_FILE);
- data->openFileName = g_strdup(DEFAULT_TMP_FILE);
+ switch (data->filter)
+ {
+ case FORMAT_PCM:
+ data->saveFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_FILE);
+ data->openFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_FILE);
break;
case FORMAT_PCMA:
- data->saveFileName = g_strdup(DEFAULT_TMP_PCMA_FILE);
- data->openFileName = g_strdup(DEFAULT_TMP_PCMA_FILE);
+ data->saveFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_PCMA_FILE);
+ data->openFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_PCMA_FILE);
break;
case FORMAT_PCMU:
- data->saveFileName = g_strdup(DEFAULT_TMP_PCMU_FILE);
- data->openFileName = g_strdup(DEFAULT_TMP_PCMU_FILE);
+ data->saveFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_PCMU_FILE);
+ data->openFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_PCMU_FILE);
break;
case FORMAT_WAV:
- data->saveFileName = g_strdup(DEFAULT_TMP_WAV_FILE);
- data->openFileName = g_strdup(DEFAULT_TMP_WAV_FILE);
+ data->saveFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_WAV_FILE);
+ data->openFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_WAV_FILE);
break;
case FORMAT_ILBC:
default:
- data->saveFileName = g_strdup(DEFAULT_TMP_ILBC_FILE);
- data->openFileName = g_strdup(DEFAULT_TMP_ILBC_FILE);
- break;
- }
-
- ULOG_INFO("%s() - creating pipelines", G_STRFUNC);
- /* start recording */
- /* create related pipelines */
- if (createPipeline(data, PIPELINE_REC))
- {
- ULOG_INFO("%s() - starting recording", G_STRFUNC);
- /* start recording */
- gst_element_set_state(GST_ELEMENT(data->recPipeline),
- GST_STATE_PLAYING);
-
- /* update display */
- gtk_entry_set_text(GTK_ENTRY(data->mainViewData.fileNameEntry),
- data->saveFileName);
-
- setAppState(data, APPSTATE_RECORDING);
- gtk_widget_set_sensitive(data->buttonSaveAs, TRUE);
- gtk_window_set_title(GTK_WINDOW(data->mainView), RECORDER_FILE_UNTITLED);
- data->file_format = data->filter;
- }
- else
- {
- ULOG_ERR("Could not create rec pipeline!");
- hildon_banner_show_information(GTK_WIDGET(data->mainView), GTK_STOCK_DIALOG_ERROR, _("Could not create pipeline"));
- setAppState(data, APPSTATE_READY);
- }
-
- ULOG_DEBUG("%s() - end", G_STRFUNC);
+ data->saveFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_ILBC_FILE);
+ data->openFileName = g_strdup_printf("%s/%s", get_default_dir(), DEFAULT_TMP_ILBC_FILE);
+ break;
+ }
+
+ ULOG_INFO("%s() - creating pipelines", G_STRFUNC);
+ /* start recording */
+ /* create related pipelines */
+ if (createPipeline(data, PIPELINE_REC))
+ {
+ ULOG_INFO("%s() - starting recording", G_STRFUNC);
+ /* start recording */
+ gst_element_set_state(GST_ELEMENT(data->recPipeline),
+ GST_STATE_PLAYING);
+
+ /* update display */
+ gtk_entry_set_text(GTK_ENTRY(data->mainViewData.fileNameEntry),
+ data->saveFileName);
+
+ setAppState(data, APPSTATE_RECORDING);
+ gtk_widget_set_sensitive(data->buttonSaveAs, TRUE);
+ gtk_window_set_title(GTK_WINDOW(data->mainView), RECORDER_FILE_UNTITLED);
+ data->file_format = data->filter;
+ }
+ else
+ {
+ ULOG_ERR("Could not create rec pipeline!");
+ hildon_banner_show_information(GTK_WIDGET(data->mainView), GTK_STOCK_DIALOG_ERROR, _("Could not create pipeline"));
+ setAppState(data, APPSTATE_READY);
+ }
+
+ ULOG_DEBUG("%s() - end", G_STRFUNC);
}
static void cbPlay(GtkWidget* widget, AppData *data)
RECORDER_MSG_STOPPED);
}
break;
+
case APPSTATE_RECORDING:
{
gdouble len = -1.0;
GtkWidget *item_pcmu;
GtkWidget *item_ilbc;
GtkWidget *item_pcm;
-
+ GtkWidget *item_settings;
/*
GtkWidget *item_radio_type1;
*/
item_file_open = gtk_menu_item_new_with_label(_("Open..."));
item_file_save_as = gtk_menu_item_new_with_label(_("Save as..."));
item_others = gtk_menu_item_new_with_label (_("Recording format"));
+ item_settings = gtk_menu_item_new_with_label (_("Settings"));
item_pcma = gtk_radio_menu_item_new_with_label(
group, "PCM A-law");
item_pcm = gtk_radio_menu_item_new_with_label_from_widget(
GTK_RADIO_MENU_ITEM(item_pcma), "WAV");
- /* default is iLBC */
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item_ilbc), TRUE);
- data->filter = FORMAT_ILBC;
-
+ data->filter = get_default_filter();
+
+ if (data->filter == FORMAT_ILBC)
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item_ilbc), TRUE);
+ else if (data->filter == FORMAT_WAV)
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item_pcm), TRUE);
+ else if (data->filter == FORMAT_PCMA)
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item_pcma), TRUE);
+ else
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item_ilbc), TRUE);
+ data->filter = FORMAT_ILBC;
+ }
+
data->radio_pcma = item_pcma;
data->radio_ilbc = item_ilbc;
data->radio_pcm = item_pcm;
gtk_menu_append( menu_others, item_pcma );
gtk_menu_append( menu_others, item_ilbc);
+ gtk_menu_append( main_menu, item_settings );
+
gtk_menu_append( main_menu, item_close );
/* Add others submenu to the "Others" item */
GTK_SIGNAL_FUNC (cbOpen), data);
g_signal_connect( G_OBJECT( item_file_save_as), "activate",
GTK_SIGNAL_FUNC (cbSaveAs), data);
+ g_signal_connect( G_OBJECT( item_settings ), "activate",
+ GTK_SIGNAL_FUNC (cbSettings), data);
+
g_signal_connect( G_OBJECT( item_close ), "activate",
GTK_SIGNAL_FUNC (cbItemClose), data);
gtk_container_add (GTK_CONTAINER(window), vbox);
gtk_box_pack_start (GTK_BOX(vbox), table, FALSE, TRUE, 0);
gtk_box_pack_start (GTK_BOX(vbox), scale, FALSE, FALSE, 0);
-// gtk_box_pack_start (GTK_BOX(vbox), hbox, TRUE, TRUE, 0);
+/* gtk_box_pack_start (GTK_BOX(vbox), hbox, TRUE, TRUE, 0); */
hildon_window_add_toolbar(window, GTK_TOOLBAR(toolBar));
static gboolean seekToZero(AppData *data, GstElement *pipeline)
{
+ gint plType;
g_assert(NULL != pipeline);
ULOG_DEBUG("Seeking to zero");
GST_SEEK_TYPE_NONE, GST_CLOCK_TIME_NONE))
{
ULOG_ERR("seekToZero failed! Trying to destroy and re-create pipeline");
- gint plType = data->playPipelineType;
+ plType = data->playPipelineType;
/* gst_element_set_state(pipeline, GST_STATE_READY); */
destroyPipeline(data, plType);
if (secs > 0)
{
- g_object_set (G_OBJECT (data->mainViewData.adjustment),
+ g_object_set(G_OBJECT(data->mainViewData.adjustment),
"upper", secs,
NULL);
- gtk_adjustment_changed(GTK_ADJUSTMENT(data->mainViewData.adjustment));
+ gtk_adjustment_changed(GTK_ADJUSTMENT(data->mainViewData.adjustment));
}
if (secs >= 60.0)
GST_STATE_PAUSED);
if (seekToZero(data, GST_ELEMENT(data->playPipeline)))
{
- gtk_adjustment_set_value(
+ gtk_adjustment_set_value(
GTK_ADJUSTMENT(data->mainViewData.adjustment), 0);
- gtk_adjustment_value_changed(GTK_ADJUSTMENT(data->mainViewData.adjustment));
+ gtk_adjustment_value_changed(GTK_ADJUSTMENT(data->mainViewData.adjustment));
}
setAppState(data, APPSTATE_READY);
gtk_tool_button_set_stock_id(GTK_TOOL_BUTTON(data->buttonPlay), GTK_STOCK_MEDIA_PLAY);