summaryrefslogtreecommitdiff
path: root/src/xine-engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/xine-engine')
-rw-r--r--src/xine-engine/info_helper.c13
-rw-r--r--src/xine-engine/info_helper.h10
-rw-r--r--src/xine-engine/xine.c8
3 files changed, 21 insertions, 10 deletions
diff --git a/src/xine-engine/info_helper.c b/src/xine-engine/info_helper.c
index 91631a946..36d083dc4 100644
--- a/src/xine-engine/info_helper.c
+++ b/src/xine-engine/info_helper.c
@@ -70,10 +70,16 @@ void xine_set_stream_info(xine_stream_t *stream, int info, int value) {
stream->stream_info [info] = value;
}
+void xine_clear_meta_info(xine_stream_t *stream, int info) {
+ if(meta_valid(info) && stream->meta_info [info]) {
+ free(stream->meta_info [info]);
+ stream->meta_info [info] = NULL;
+ }
+}
+
void xine_set_meta_info(xine_stream_t *stream, int info, const char *str) {
if(str && meta_valid(info)) {
- if (stream->meta_info [info])
- free(stream->meta_info [info]);
+ xine_clear_meta_info(stream, info);
stream->meta_info [info] = strdup(str);
chomp(stream->meta_info [info]);
}
@@ -84,8 +90,7 @@ void xine_set_metan_info(xine_stream_t *stream, int info, const char *buf,
if(meta_valid(info)) {
char *tmp;
- if (stream->meta_info [info])
- free(stream->meta_info [info]);
+ xine_clear_meta_info(stream, info);
if(len) {
tmp = malloc(len + 1);
diff --git a/src/xine-engine/info_helper.h b/src/xine-engine/info_helper.h
index 20fcd8fda..f7598d661 100644
--- a/src/xine-engine/info_helper.h
+++ b/src/xine-engine/info_helper.h
@@ -62,4 +62,14 @@ void xine_set_meta_info(xine_stream_t *stream, int info, const char *str);
*/
void xine_set_metan_info(xine_stream_t *stream, int info, const char *buf, int len);
+/*
+ * clear a stream meta info
+ *
+ * params :
+ * *stream the xine stream
+ * info meta info id (see xine.h, XINE_META_INFO_*)
+ *
+ */
+void xine_clear_meta_info(xine_stream_t *stream, int info);
+
#endif /* INFO_HELPER_H */
diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c
index a8cd857ad..dfbaf865d 100644
--- a/src/xine-engine/xine.c
+++ b/src/xine-engine/xine.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: xine.c,v 1.262 2003/11/11 18:45:01 f1rmb Exp $
+ * $Id: xine.c,v 1.263 2003/11/15 13:01:01 miguelfreitas Exp $
*/
/*
@@ -273,9 +273,7 @@ static void xine_close_internal (xine_stream_t *stream) {
for (i=0; i<XINE_STREAM_INFO_MAX; i++) {
stream->stream_info[i] = 0;
- if (stream->meta_info[i])
- free (stream->meta_info[i]);
- stream->meta_info[i] = NULL;
+ xine_clear_meta_info(stream, i);
}
}
@@ -406,7 +404,6 @@ xine_stream_t *xine_stream_new (xine_t *this,
pthread_mutex_init (&stream->demux_lock, NULL);
pthread_mutex_init (&stream->frontend_lock, NULL);
pthread_mutex_init (&stream->event_queues_lock, NULL);
- pthread_mutex_init (&stream->osd_lock, NULL);
pthread_mutex_init (&stream->counter_lock, NULL);
pthread_cond_init (&stream->counter_changed, NULL);
pthread_mutex_init (&stream->first_frame_lock, NULL);
@@ -1089,7 +1086,6 @@ void xine_dispose (xine_stream_t *stream) {
pthread_mutex_destroy (&stream->frontend_lock);
pthread_mutex_destroy (&stream->counter_lock);
- pthread_mutex_destroy (&stream->osd_lock);
pthread_mutex_destroy (&stream->event_queues_lock);
pthread_mutex_destroy (&stream->current_extra_info_lock);
pthread_cond_destroy (&stream->counter_changed);