GUI : Implemented comments for code review
[glsdk/dual-decode.git] / include / gui.h
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