1 /*
2 * Copyright (c) 2010-2011, Texas Instruments Incorporated
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *
11 * * Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 *
15 * * Neither the name of Texas Instruments Incorporated nor the names of
16 * its contributors may be used to endorse or promote products derived
17 * from this software without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
26 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
28 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
29 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 *
31 * Contact information for paper mail:
32 * Texas Instruments
33 * Post Office Box 655303
34 * Dallas, Texas 75265
35 * Contact information:
36 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
37 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
38 * ============================================================================
39 *
40 */
42 /**
43 * @file gui.h
44 *
45 * @brief function declarations for the GUI functions
46 */
48 #ifndef __GUI_H__
49 #define __GUI_H__
51 #include<gst/gst.h>
53 #ifdef GST_APP_DEBUG
54 #define debug(args...) g_print(args)
55 #else
56 #define debug(args...)
57 #endif
59 #define NANOSEC 1e9
60 #define WINDOW_WIDTH 1200
61 #define WINDOW_HEIGHT 50
62 #define STRLEN 100
63 #define PLAY 0
64 #define OPEN 1
65 #define STOP 2
66 #define TITLE "Player"
67 /**
68 * @brief set the scale widget appropriately when a duration and position
69 * is obtained.
70 *
71 * @param [IN] totalDuration total duration of media file
72 * @param [IN] currPosition position of media file being played
73 *
74 * called from: timer callback function
75 */
76 void set_duration (gint64 totalDuration , gint64 currPosition);
78 /**
79 * @brief exits gtk_main loop and destroys the window widget
80 *
81 * called from: EOS and ERROR handlers
82 */
83 void exit_application(void);
85 /**
86 * @brief initialises GUI. TODO: one problem. NO ERROR HANDLING.
87 *
88 * @param [IN] argc pointer to number of arguments to the program
89 * @param [IN] argv pointer to argument string to the program
90 *
91 * called from: main()
92 */
93 void init_gui (int *argc, char **argv[], GstElement *inpipeline);
95 #endif