diff options
Diffstat (limited to 'src/xine-engine')
-rw-r--r-- | src/xine-engine/info_helper.c | 13 | ||||
-rw-r--r-- | src/xine-engine/info_helper.h | 10 | ||||
-rw-r--r-- | src/xine-engine/xine.c | 8 |
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); |