diff src/tta/aud-tta.c @ 561:914c96de3244 trunk

[svn] Convert plugins to use InputPlayback.output instead of InputPlugin.output
author iabervon
date Sun, 28 Jan 2007 21:09:12 -0800
parents 4d8b92b55acf
children 8c64b5abdcda
line wrap: on
line diff
--- a/src/tta/aud-tta.c	Sun Jan 28 17:41:50 2007 -0800
+++ b/src/tta/aud-tta.c	Sun Jan 28 21:09:12 2007 -0800
@@ -69,11 +69,11 @@
 static void init ();
 static void cleanup ();
 static int  is_our_file (char *filename);
-static void play_file (char *filename);
-static void tta_pause (short paused);
-static void stop (void);
-static void seek (int time);
-static int  get_time (void);
+static void play_file (InputPlayback *playback);
+static void tta_pause (InputPlayback *playback, short paused);
+static void stop (InputPlayback *playback);
+static void seek (InputPlayback *playback, int time);
+static int  get_time (InputPlayback *playback);
 static void get_song_info (char *filename, char **title, int *length);
 static void file_info (char *filename);
 static void about ();
@@ -202,6 +202,7 @@
 static void *
 play_loop (void *arg)
 {
+    InputPlayback *playback = arg;
     int  bufsize = PCM_BUFFER_LENGTH  * info.BSIZE * info.NCH;
 
     ////////////////////////////////////////
@@ -213,7 +214,7 @@
 	while ((read_samples = get_samples (sample_buffer)) > 0)
 	{
 
-	    while ((tta_ip.output->buffer_free () < bufsize)
+	    while ((playback->output->buffer_free () < bufsize)
 		   && seek_position == -1)
 	    {
 		if (!playing)
@@ -222,7 +223,7 @@
 	    }
 	    if (seek_position == -1)
 	    {
-		produce_audio(tta_ip.output->written_time(),
+		produce_audio(playback->output->written_time(),
 			      ((info.BPS == 8) ? FMT_U8 : FMT_S16_LE),
 			      info.NCH,
 			      read_samples * info.NCH * info.BSIZE,
@@ -232,12 +233,12 @@
 	    else
 	    {
 		set_position (seek_position);
-		tta_ip.output->flush (seek_position * SEEK_STEP);
+		playback->output->flush (seek_position * SEEK_STEP);
 		seek_position = -1;
 	    }
 	}
-	tta_ip.output->buffer_free ();
-	tta_ip.output->buffer_free ();
+	playback->output->buffer_free ();
+	playback->output->buffer_free ();
 	xmms_usleep(10000);
     }
   DONE:
@@ -484,8 +485,9 @@
 }
 
 static void
-play_file (char *filename)
+play_file (InputPlayback *playback)
 {
+    char *filename = playback->filename;
     char *title;
     long datasize, origsize, bitrate;
 
@@ -510,7 +512,7 @@
     }
 
 
-    if (tta_ip.output->open_audio ((info.BPS == 8) ? FMT_U8 : FMT_S16_LE,
+    if (playback->output->open_audio ((info.BPS == 8) ? FMT_U8 : FMT_S16_LE,
 				   info.SAMPLERATE, info.NCH) == 0)
     {
 	tta_error (OUTPUT_ERROR);
@@ -547,22 +549,22 @@
     seek_position = -1;
     read_samples = -1;
 
-    pthread_create (&decode_thread, NULL, play_loop, NULL);
+    pthread_create (&decode_thread, NULL, play_loop, playback);
 }
 
 static void
-tta_pause (short paused)
+tta_pause (InputPlayback *playback, short paused)
 {
-    tta_ip.output->pause (paused);
+    playback->output->pause (paused);
 }
 static void
-stop (void)
+stop (InputPlayback *playback)
 {
     if (playing)
     {
 	playing = FALSE;
 	pthread_join (decode_thread, NULL);
-	tta_ip.output->close_audio ();
+	playback->output->close_audio ();
 	close_tta_file (&info);
 	read_samples = 0;
     }
@@ -581,10 +583,10 @@
 }
 
 static int
-get_time (void)
+get_time (InputPlayback *playback)
 {
-    if (playing && (read_samples || tta_ip.output->buffer_playing()))
-	return tta_ip.output->output_time();
+    if (playing && (read_samples || playback->output->buffer_playing()))
+        return playback->output->output_time();
 
     return -1;
 }