merge down from merged-API-layer branch: cvs -q up -dP -j API_LAYER_MERGING_BASELINE...
[platform/upstream/flac.git] / src / plugin_winamp2 / in_flac.c
index 48af5f3..0db37f1 100644 (file)
@@ -35,9 +35,9 @@ static In_Module mod_;                      /* the input module (declared near t
 static char lastfn_[MAX_PATH];              /* currently playing file (used for getting info on the current file) */\r
 flac_config_t flac_cfg;\r
 \r
-static file_info_struct file_info_;\r
+static stream_data_struct stream_data_;\r
 static int paused;\r
-static FLAC__FileDecoder *decoder_;\r
+static FLAC__StreamDecoder *decoder_;\r
 static char sample_buffer_[SAMPLES_PER_WRITE * FLAC_PLUGIN__MAX_SUPPORTED_CHANNELS * (24/8) * 2];\r
 /* (24/8) for max bytes per sample, and 2 for DSPs */\r
 \r
@@ -50,7 +50,7 @@ static DWORD WINAPI DecodeThread(void *b);  /* the decode thread procedure */
 \r
 static void init()\r
 {\r
-       decoder_ = FLAC__file_decoder_new();\r
+       decoder_ = FLAC__stream_decoder_new();\r
        strcpy(lastfn_, "");\r
 \r
        InitConfig();\r
@@ -81,11 +81,11 @@ static int play(char *fn)
        if (decoder_ == 0) return 1;\r
        if (!(filesize = FileSize(fn))) return -1;\r
        /* init decoder */\r
-       if (!FLAC_plugin__decoder_init(decoder_, fn, filesize, &file_info_, &flac_cfg.output))\r
+       if (!FLAC_plugin__decoder_init(decoder_, fn, filesize, &stream_data_, &flac_cfg.output))\r
                return 1;\r
        strcpy(lastfn_, fn);\r
        /* open output */\r
-       maxlatency = mod_.outMod->Open(file_info_.sample_rate, file_info_.channels, file_info_.output_bits_per_sample, -1, -1);\r
+       maxlatency = mod_.outMod->Open(stream_data_.sample_rate, stream_data_.channels, stream_data_.output_bits_per_sample, -1, -1);\r
        if (maxlatency < 0)\r
        {\r
                FLAC_plugin__decoder_finish(decoder_);\r
@@ -95,10 +95,10 @@ static int play(char *fn)
        mod_.outMod->SetVolume(-666);\r
        mod_.outMod->SetPan(0);\r
        /* initialize vis stuff */\r
-       mod_.SAVSAInit(maxlatency, file_info_.sample_rate);\r
-       mod_.VSASetInfo(file_info_.sample_rate, file_info_.channels);\r
+       mod_.SAVSAInit(maxlatency, stream_data_.sample_rate);\r
+       mod_.VSASetInfo(stream_data_.sample_rate, stream_data_.channels);\r
        /* set info */\r
-       mod_.SetInfo(file_info_.average_bps, file_info_.sample_rate/1000, file_info_.channels, 1);\r
+       mod_.SetInfo(stream_data_.average_bps, stream_data_.sample_rate/1000, stream_data_.channels, 1);\r
        /* start playing thread */\r
        paused = 0;\r
        thread_handle = CreateThread(NULL, 0, DecodeThread, NULL, 0, &thread_id);\r
@@ -111,7 +111,7 @@ static void stop()
 {\r
        if (thread_handle)\r
        {\r
-               file_info_.is_playing = false;\r
+               stream_data_.is_playing = false;\r
                if (WaitForSingleObject(thread_handle, 2000) == WAIT_TIMEOUT)\r
                {\r
                        FLAC_plugin__show_error("Error while stopping decoding thread.");\r
@@ -149,7 +149,7 @@ static int ispaused()
 \r
 static int getlength()\r
 {\r
-       return file_info_.length_in_msec;\r
+       return stream_data_.length_in_msec;\r
 }\r
 \r
 static int getoutputtime()\r
@@ -159,7 +159,7 @@ static int getoutputtime()
 \r
 static void setoutputtime(int time_in_ms)\r
 {\r
-       file_info_.seek_to = time_in_ms;\r
+       stream_data_.seek_to = time_in_ms;\r
 }\r
 \r
 static void setvolume(int volume)\r
@@ -214,22 +214,22 @@ static void do_vis(char *data, int nch, int resolution, int position, unsigned s
 \r
 static DWORD WINAPI DecodeThread(void *unused)\r
 {\r
-       const unsigned channels = file_info_.channels;\r
-       const unsigned bits_per_sample = file_info_.bits_per_sample;\r
-       const unsigned target_bps = file_info_.output_bits_per_sample;\r
-       const unsigned sample_rate = file_info_.sample_rate;\r
+       const unsigned channels = stream_data_.channels;\r
+       const unsigned bits_per_sample = stream_data_.bits_per_sample;\r
+       const unsigned target_bps = stream_data_.output_bits_per_sample;\r
+       const unsigned sample_rate = stream_data_.sample_rate;\r
        const unsigned fact = channels * (target_bps/8);\r
 \r
-       while (file_info_.is_playing)\r
+       while (stream_data_.is_playing)\r
        {\r
                /* seek needed */\r
-               if (file_info_.seek_to != -1)\r
+               if (stream_data_.seek_to != -1)\r
                {\r
-                       const int pos = FLAC_plugin__seek(decoder_, &file_info_);\r
+                       const int pos = FLAC_plugin__seek(decoder_, &stream_data_);\r
                        if (pos != -1) mod_.outMod->Flush(pos);\r
                }\r
                /* stream ended */\r
-               else if (file_info_.eof)\r
+               else if (stream_data_.eof)\r
                {\r
                        if (!mod_.outMod->IsPlaying())\r
                        {\r
@@ -242,7 +242,7 @@ static DWORD WINAPI DecodeThread(void *unused)
                else\r
                {\r
                        /* decode samples */\r
-                       int bytes = FLAC_plugin__decode(decoder_, &file_info_, sample_buffer_);\r
+                       int bytes = FLAC_plugin__decode(decoder_, &stream_data_, sample_buffer_);\r
                        const int n = bytes / fact;\r
                        /* visualization */\r
                        do_vis(sample_buffer_, channels, target_bps, mod_.outMod->GetWrittenTime(), n);\r
@@ -250,15 +250,15 @@ static DWORD WINAPI DecodeThread(void *unused)
                        if (mod_.dsp_isactive())\r
                                bytes = mod_.dsp_dosamples((short*)sample_buffer_, n, target_bps, channels, sample_rate) * fact;\r
                        /* output */\r
-                       while (mod_.outMod->CanWrite()<bytes && file_info_.is_playing && file_info_.seek_to==-1)\r
+                       while (mod_.outMod->CanWrite()<bytes && stream_data_.is_playing && stream_data_.seek_to==-1)\r
                                Sleep(20);\r
-                       if (file_info_.is_playing && file_info_.seek_to==-1)\r
+                       if (stream_data_.is_playing && stream_data_.seek_to==-1)\r
                                mod_.outMod->Write(sample_buffer_, bytes);\r
                        /* show bitrate */\r
                        if (flac_cfg.display.show_bps)\r
                        {\r
-                               const int rate = FLAC_plugin__get_rate(mod_.outMod->GetWrittenTime(), mod_.outMod->GetOutputTime(), &file_info_);\r
-                               if (rate) mod_.SetInfo(rate/1000, file_info_.sample_rate/1000, file_info_.channels, 1);\r
+                               const int rate = FLAC_plugin__get_rate(mod_.outMod->GetWrittenTime(), mod_.outMod->GetOutputTime(), &stream_data_);\r
+                               if (rate) mod_.SetInfo(rate/1000, stream_data_.sample_rate/1000, stream_data_.channels, 1);\r
                        }\r
                }\r
        }\r
@@ -334,7 +334,7 @@ static void getfileinfo(char *filename, char *title, int *length_in_msec)
        if (!filename || !*filename) {\r
                filename = lastfn_;\r
                if (length_in_msec) {\r
-                       *length_in_msec = file_info_.length_in_msec;\r
+                       *length_in_msec = stream_data_.length_in_msec;\r
                        length_in_msec = 0;    /* force skip in following code */\r
                }\r
        }\r