annotate m_property.h @ 30052:fb44c9cb05fa

Do not auto-generate the C code to handle PCI vendor and device names. This part of the code does not change so there is no point in generating it.
author diego
date Sun, 20 Dec 2009 21:11:39 +0000
parents 0f1b5b68af32
children c1a3f1bbba26
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25716
diff changeset
1 #ifndef MPLAYER_M_PROPERTY_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25716
diff changeset
2 #define MPLAYER_M_PROPERTY_H
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
3
26131
83c95bd31aab Add necessary #includes to pass 'make checkheaders'.
diego
parents: 26029
diff changeset
4 #include "m_option.h"
83c95bd31aab Add necessary #includes to pass 'make checkheaders'.
diego
parents: 26029
diff changeset
5
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
6 /// \defgroup Properties
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
7 ///
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
8 /// Properties provide an interface to query and set the state of various
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
9 /// things in MPlayer. The API is based on the \ref Options API like the
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
10 /// \ref Config, but instead of using variables, properties use an ioctl like
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
11 /// function. The function is used to perform various actions like get and set
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
12 /// (see \ref PropertyActions).
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
13 ///@{
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
14
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
15 /// \file
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
16
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
17 /// \defgroup PropertyActions Property actions
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
18 /// \ingroup Properties
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
19 ///@{
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
20
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
21 /// Get the current value.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
22 /** \param arg Pointer to a variable of the right type.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
23 */
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
24 #define M_PROPERTY_GET 0
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
25
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
26 /// Get a string representing the current value.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
27 /** Set the variable to a newly allocated string or NULL.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
28 * \param arg Pointer to a char* variable.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
29 */
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
30 #define M_PROPERTY_PRINT 1
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
31
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
32 /// Set a new value.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
33 /** The variable is updated to the value actually set.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
34 * \param arg Pointer to a variable of the right type.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
35 */
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
36 #define M_PROPERTY_SET 2
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
37
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
38 /// Set a new value from a string.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
39 /** \param arg String containing the value.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
40 */
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
41 #define M_PROPERTY_PARSE 3
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
42
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
43 /// Increment the current value.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
44 /** The sign of the argument is also taken into account if applicable.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
45 * \param arg Pointer to a variable of the right type or NULL.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
46 */
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
47 #define M_PROPERTY_STEP_UP 4
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
48
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
49 /// Decrement the current value.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
50 /** The sign of the argument is also taken into account if applicable.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
51 * \param arg Pointer to a variable of the right type or NULL.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
52 */
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
53 #define M_PROPERTY_STEP_DOWN 5
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
54
23393
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
55 /// Get a string containg a parsable representation.
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
56 /** Set the variable to a newly allocated string or NULL.
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
57 * \param arg Pointer to a char* variable.
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
58 */
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
59 #define M_PROPERTY_TO_STRING 6
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
60
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
61 /// Pass down an action to a sub-property.
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
62 #define M_PROPERTY_KEY_ACTION 7
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
63
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
64 /// Get a m_option describing the property.
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
65 #define M_PROPERTY_GET_TYPE 8
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
66
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
67 ///@}
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
68
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
69 /// \defgroup PropertyActionsArg Property actions argument type
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
70 /// \ingroup Properties
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
71 /// \brief Types used as action argument.
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
72 ///@{
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
73
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
74 /// Argument for \ref M_PROPERTY_KEY_ACTION
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
75 typedef struct {
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
76 const char* key;
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
77 int action;
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
78 void* arg;
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
79 } m_property_action_t;
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
80
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
81 ///@}
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
82
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
83 /// \defgroup PropertyActionsReturn Property actions return code
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
84 /// \ingroup Properties
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
85 /// \brief Return values for the control function.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
86 ///@{
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
87
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
88 /// Returned on success.
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
89 #define M_PROPERTY_OK 1
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
90
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
91 /// Returned on error.
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
92 #define M_PROPERTY_ERROR 0
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
93
18283
67d35fe89c8d Fix most of the mistakes pointed out by Diego.
albeu
parents: 18258
diff changeset
94 /// \brief Returned when the property can't be used, for example something about
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
95 /// the subs while playing audio only
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
96 #define M_PROPERTY_UNAVAILABLE -1
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
97
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
98 /// Returned if the requested action is not implemented.
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
99 #define M_PROPERTY_NOT_IMPLEMENTED -2
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
100
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
101 /// Returned when asking for a property that doesn't exist.
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
102 #define M_PROPERTY_UNKNOWN -3
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
103
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
104 /// Returned when the action can't be done (like setting the volume when edl mute).
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
105 #define M_PROPERTY_DISABLED -4
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
106
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
107 ///@}
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
108
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
109 /// \ingroup Properties
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
110 /// \brief Property action callback.
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
111 typedef int(*m_property_ctrl_f)(const m_option_t* prop,int action,void* arg,void *ctx);
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
112
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
113 /// Do an action on a property.
23393
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
114 /** \param prop_list The list of properties.
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
115 * \param prop The path of the property.
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
116 * \param action See \ref PropertyActions.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
117 * \param arg Argument, usually a pointer to the data type used by the property.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
118 * \return See \ref PropertyActionsReturn.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
119 */
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
120 int m_property_do(const m_option_t* prop_list, const char* prop,
23393
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
121 int action, void* arg, void *ctx);
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
122
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
123 /// Print a list of properties.
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
124 void m_properties_print_help_list(const m_option_t* list);
17914
f9cb6fc1608a Add an option to list the properties: -list-properties
albeu
parents: 17911
diff changeset
125
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
126 /// Expand a property string.
18283
67d35fe89c8d Fix most of the mistakes pointed out by Diego.
albeu
parents: 18258
diff changeset
127 /** This function allows to print strings containing property values.
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
128 * ${NAME} is expanded to the value of property NAME or an empty
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
129 * string in case of error. $(NAME:STR) expand STR only if the property
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
130 * NAME is available.
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27647
diff changeset
131 *
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
132 * \param prop_list An array of \ref m_option describing the available
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
133 * properties.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
134 * \param str The string to expand.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
135 * \return The newly allocated expanded string.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
136 */
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
137 char* m_properties_expand_string(const m_option_t* prop_list,char* str, void *ctx);
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
138
18189
faa148210f2b Add the declarations for mp_property_find/do.
albeu
parents: 17914
diff changeset
139 // Helpers to use MPlayer's properties
faa148210f2b Add the declarations for mp_property_find/do.
albeu
parents: 17914
diff changeset
140
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
141 /// Do an action with an MPlayer property.
22280
a5e5b0c45c03 Split command/property handling from mplayer.c to a new file command.c.
uau
parents: 19104
diff changeset
142 int mp_property_do(const char* name,int action, void* val, void *ctx);
18189
faa148210f2b Add the declarations for mp_property_find/do.
albeu
parents: 17914
diff changeset
143
23393
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
144 /// Get the value of a property as a string suitable for display in an UI.
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
145 char* mp_property_print(const char *name, void* ctx);
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
146
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
147 /// \defgroup PropertyImplHelper Property implementation helpers
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
148 /// \ingroup Properties
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
149 /// \brief Helper functions for common property types.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
150 ///@{
18189
faa148210f2b Add the declarations for mp_property_find/do.
albeu
parents: 17914
diff changeset
151
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
152 /// Clamp a value according to \ref m_option::min and \ref m_option::max.
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
153 #define M_PROPERTY_CLAMP(prop,val) do { \
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
154 if(((prop)->flags & M_OPT_MIN) && (val) < (prop)->min) \
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
155 (val) = (prop)->min; \
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
156 else if(((prop)->flags & M_OPT_MAX) && (val) > (prop)->max) \
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
157 (val) = (prop)->max; \
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
158 } while(0)
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
159
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
160 /// Implement get.
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
161 int m_property_int_ro(const m_option_t* prop,int action,
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
162 void* arg,int var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
163
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
164 /// Implement set, get and step up/down.
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
165 int m_property_int_range(const m_option_t* prop,int action,
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
166 void* arg,int* var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
167
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
168 /// Same as m_property_int_range but cycle.
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
169 int m_property_choice(const m_option_t* prop,int action,
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
170 void* arg,int* var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
171
27647
98478619a22c Add a m_property_flag_ro function for the default behaviour of a
reimar
parents: 26131
diff changeset
172 int m_property_flag_ro(const m_option_t* prop,int action,
98478619a22c Add a m_property_flag_ro function for the default behaviour of a
reimar
parents: 26131
diff changeset
173 void* arg,int var);
98478619a22c Add a m_property_flag_ro function for the default behaviour of a
reimar
parents: 26131
diff changeset
174
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
175 /// Switch betwen min and max.
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
176 int m_property_flag(const m_option_t* prop,int action,
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
177 void* arg,int* var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
178
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
179 /// Implement get, print.
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
180 int m_property_float_ro(const m_option_t* prop,int action,
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
181 void* arg,float var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
182
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
183 /// Implement set, get and step up/down
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
184 int m_property_float_range(const m_option_t* prop,int action,
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
185 void* arg,float* var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
186
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
187 /// float with a print function which print the time in ms
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
188 int m_property_delay(const m_option_t* prop,int action,
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
189 void* arg,float* var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
190
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
191 /// Implement get, print
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
192 int m_property_double_ro(const m_option_t* prop,int action,
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
193 void* arg,double var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
194
23416
ae4237717601 Move the time printing code out of the length property.
albeu
parents: 23394
diff changeset
195 /// Implement print
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
196 int m_property_time_ro(const m_option_t* prop,int action,
23416
ae4237717601 Move the time printing code out of the length property.
albeu
parents: 23394
diff changeset
197 void* arg,double var);
ae4237717601 Move the time printing code out of the length property.
albeu
parents: 23394
diff changeset
198
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
199 /// get/print the string
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
200 int m_property_string_ro(const m_option_t* prop,int action,void* arg, char* str);
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
201
23394
d4e8613ddc95 Make all the info available via the metadata API available via properties.
albeu
parents: 23393
diff changeset
202 /// get/print a bitrate
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
203 int m_property_bitrate(const m_option_t* prop,int action,void* arg,int rate);
23394
d4e8613ddc95 Make all the info available via the metadata API available via properties.
albeu
parents: 23393
diff changeset
204
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
205 ///@}
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
206
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
207 ///@}
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 23416
diff changeset
208
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25716
diff changeset
209 #endif /* MPLAYER_M_PROPERTY_H */