implement gui/tui
[gst-scaletempo-demo-rj.git] / src / play.h
blob161c2aea43e09f3e28b0749e10e23be36f975a9b
1 /* play.h
2 * Copyright (C) 2008 Rov Juvano <rovjuvano@users.sourceforge.net>
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #ifndef _MY_APP_PLAY_H_INCLUDED_
19 #define _MY_APP_PLAY_H_INCLUDED_
21 #include <gst/gst.h>
23 GstElement * build_pipeline (const gchar * uri, const gchar * filter_name);
25 gboolean change_rate (GstElement * pipeline, gfloat new_rate, gboolean abs);
26 gboolean seek (GstElement * pipeline, gint seconds, gboolean abs);
27 gboolean play (GstElement * pipeline);
28 gboolean pause (GstElement * pipeline);
29 gboolean play_pause (GstElement * pipeline);
31 gboolean get_position (GstElement * pipeline, gint64 * pos);
32 gboolean get_duration (GstElement * pipeline, gint64 * dur);
34 void set_change_rate_around (gboolean (*change_rate)(GstElement * pipeline, gfloat rate, gboolean abs));
35 void set_rate_changed_cb (void (*rate_changed)(GstElement * object, gdouble new_rate, gpointer data));
36 void set_seek_around (gboolean (*seek)(GstElement * pipeline, gint seconds, gboolean abs));
37 void set_play_around (gboolean (*play)(GstElement * pipeline));
38 void set_pause_around (gboolean (*pause)(GstElement * pipeline));
39 void set_playing_started_cb (void (*func)(GstElement * pipeline));
40 void set_playing_paused_cb (void (*func)(GstElement * pipeline));
41 void set_play_pause_around (gboolean (*play_pause)(GstElement * pipeline));
42 void set_stop_cb (void (*stop)(GstElement * pipeline));
43 void set_unknown_key_cb (void(*unknown_key)(const gchar * key));
45 #endif /* _MY_APP_PLAY_H_INCLUDED_ */