annotate m_property.h @ 26110:69790f7caffa

configure: Set CONFIG_ENCODERS=yes in config.mak unconditionally config.h already had "#define CONFIG_ENCODERS 1" unconditionally, but the config.mak value depended on whether MEncoder was enabled. Encoders need to be enabled as some encoder code is used by MPlayer too. The inconsistent values broke compilation with --disable-mencoder after libavcodec Makefile made compilation of i386/dsputilenc_mmx.o depend on the config.mak value.
author uau
date Mon, 03 Mar 2008 03:02:36 +0000
parents 4129c8cfa742
children 83c95bd31aab
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
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
4 /// \defgroup Properties
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
5 ///
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
6 /// Properties provide an interface to query and set the state of various
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
7 /// things in MPlayer. The API is based on the \ref Options API like the
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
8 /// \ref Config, but instead of using variables, properties use an ioctl like
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
9 /// function. The function is used to perform various actions like get and set
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
10 /// (see \ref PropertyActions).
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
11 ///@{
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
12
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
13 /// \file
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
14
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
15 /// \defgroup PropertyActions Property actions
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
16 /// \ingroup Properties
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
17 ///@{
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
18
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
19 /// Get the current value.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
20 /** \param arg Pointer to a variable of the right type.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
21 */
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
22 #define M_PROPERTY_GET 0
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
23
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
24 /// Get a string representing the current value.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
25 /** Set the variable to a newly allocated string or NULL.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
26 * \param arg Pointer to a char* variable.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
27 */
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
28 #define M_PROPERTY_PRINT 1
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
29
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
30 /// Set a new value.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
31 /** The variable is updated to the value actually set.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
32 * \param arg Pointer to a variable of the right type.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
33 */
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
34 #define M_PROPERTY_SET 2
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
35
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
36 /// Set a new value from a string.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
37 /** \param arg String containing the value.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
38 */
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
39 #define M_PROPERTY_PARSE 3
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
40
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
41 /// Increment the current value.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
42 /** The sign of the argument is also taken into account if applicable.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
43 * \param arg Pointer to a variable of the right type or NULL.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
44 */
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
45 #define M_PROPERTY_STEP_UP 4
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
46
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
47 /// Decrement the current value.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
48 /** The sign of the argument is also taken into account if applicable.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
49 * \param arg Pointer to a variable of the right type or NULL.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
50 */
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
51 #define M_PROPERTY_STEP_DOWN 5
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
52
23393
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
53 /// Get a string containg a parsable representation.
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
54 /** 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
55 * \param arg Pointer to a char* variable.
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
56 */
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
57 #define M_PROPERTY_TO_STRING 6
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 /// Pass down an action to a sub-property.
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
60 #define M_PROPERTY_KEY_ACTION 7
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
61
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
62 /// Get a m_option describing the property.
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
63 #define M_PROPERTY_GET_TYPE 8
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
64
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
65 ///@}
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 /// \defgroup PropertyActionsArg Property actions argument type
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
68 /// \ingroup Properties
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
69 /// \brief Types used as action argument.
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
70 ///@{
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
71
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
72 /// Argument for \ref M_PROPERTY_KEY_ACTION
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
73 typedef struct {
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
74 const char* key;
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
75 int action;
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
76 void* arg;
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
77 } m_property_action_t;
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
78
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
79 ///@}
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
80
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
81 /// \defgroup PropertyActionsReturn Property actions return code
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
82 /// \ingroup Properties
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
83 /// \brief Return values for the control function.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
84 ///@{
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
85
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
86 /// Returned on success.
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
87 #define M_PROPERTY_OK 1
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
88
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
89 /// Returned on error.
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
90 #define M_PROPERTY_ERROR 0
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
91
18283
67d35fe89c8d Fix most of the mistakes pointed out by Diego.
albeu
parents: 18258
diff changeset
92 /// \brief Returned when the property can't be used, for example something about
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
93 /// the subs while playing audio only
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
94 #define M_PROPERTY_UNAVAILABLE -1
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
95
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
96 /// Returned if the requested action is not implemented.
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
97 #define M_PROPERTY_NOT_IMPLEMENTED -2
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
98
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
99 /// 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
100 #define M_PROPERTY_UNKNOWN -3
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
101
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
102 /// 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
103 #define M_PROPERTY_DISABLED -4
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
104
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
105 ///@}
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
106
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
107 /// \ingroup Properties
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
108 /// \brief Property action callback.
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
109 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
110
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
111 /// Do an action on a property.
23393
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
112 /** \param prop_list The list of properties.
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
113 * \param prop The path of the property.
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
114 * \param action See \ref PropertyActions.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
115 * \param arg Argument, usually a pointer to the data type used by the property.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
116 * \return See \ref PropertyActionsReturn.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
117 */
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
118 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
119 int action, void* arg, void *ctx);
17911
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
120
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
121 /// Print a list of properties.
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
122 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
123
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
124 /// Expand a property string.
18283
67d35fe89c8d Fix most of the mistakes pointed out by Diego.
albeu
parents: 18258
diff changeset
125 /** This function allows to print strings containing property values.
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
126 * ${NAME} is expanded to the value of property NAME or an empty
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
127 * string in case of error. $(NAME:STR) expand STR only if the property
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
128 * NAME is available.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
129 *
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
130 * \param prop_list An array of \ref m_option describing the available
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
131 * properties.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
132 * \param str The string to expand.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
133 * \return The newly allocated expanded string.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
134 */
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
135 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
136
18189
faa148210f2b Add the declarations for mp_property_find/do.
albeu
parents: 17914
diff changeset
137 // Helpers to use MPlayer's properties
faa148210f2b Add the declarations for mp_property_find/do.
albeu
parents: 17914
diff changeset
138
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
139 /// 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
140 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
141
23393
a5e55cb59bbc Rework the property API to allow sub properties such as
albeu
parents: 22280
diff changeset
142 /// 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
143 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
144
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
145 /// \defgroup PropertyImplHelper Property implementation helpers
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
146 /// \ingroup Properties
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
147 /// \brief Helper functions for common property types.
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
148 ///@{
18189
faa148210f2b Add the declarations for mp_property_find/do.
albeu
parents: 17914
diff changeset
149
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
150 /// 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
151 #define M_PROPERTY_CLAMP(prop,val) do { \
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
152 if(((prop)->flags & M_OPT_MIN) && (val) < (prop)->min) \
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
153 (val) = (prop)->min; \
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
154 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
155 (val) = (prop)->max; \
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
156 } while(0)
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
157
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
158 /// Implement get.
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
159 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
160 void* arg,int var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
161
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
162 /// 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
163 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
164 void* arg,int* var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
165
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
166 /// 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
167 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
168 void* arg,int* var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
169
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
170 /// Switch betwen min and max.
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
171 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
172 void* arg,int* var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
173
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
174 /// Implement get, print.
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
175 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
176 void* arg,float var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
177
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
178 /// 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
179 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
180 void* arg,float* var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
181
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
182 /// 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
183 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
184 void* arg,float* var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
185
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
186 /// Implement get, print
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
187 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
188 void* arg,double var);
52f95509cd05 Add the new property API and implement a couple properties.
albeu
parents:
diff changeset
189
23416
ae4237717601 Move the time printing code out of the length property.
albeu
parents: 23394
diff changeset
190 /// Implement print
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
191 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
192 void* arg,double var);
ae4237717601 Move the time printing code out of the length property.
albeu
parents: 23394
diff changeset
193
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
194 /// get/print the string
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
195 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
196
23394
d4e8613ddc95 Make all the info available via the metadata API available via properties.
albeu
parents: 23393
diff changeset
197 /// get/print a bitrate
25716
fc8d4bd1689a All the m_property stuff works fine with constant m_option_t
reimar
parents: 25553
diff changeset
198 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
199
18258
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
200 ///@}
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
201
96568be4bfdc Doxygen attack!
albeu
parents: 18189
diff changeset
202 ///@}
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 23416
diff changeset
203
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25716
diff changeset
204 #endif /* MPLAYER_M_PROPERTY_H */