I am looking to develop an audio player that repetitively plays audio files. I am using the sox library. I have tried the following code snippet but it only plays the audio file once and doesn't play it next time.
int main(int argc, char *argv[])
{

        if (argc != 4) {
                printf ("Incorrect Arguments\n");
                exit (-1);
        }


        int i, sox_status, status;
        /*      Sox File Descriptor     */
        sox_format_t *sox_fd1, *sox_fd2;

        size_t sox_size = 1, sox_tsize = 0;

        sox_sample_t sox_buf[1000];
        sox_uint64_t seek = 0;
        /*      Initialization of all format handlers   */
        sox_format_init ();
        /*      Open Wav file for reading       */
        sox_fd1 = sox_open_read (argv[1], NULL, NULL, "wav");
        sox_fd2 = sox_open_write ("default", &sox_fd1->signal, NULL, "alsa", NULL, NULL);

        for (i = 0; i < 5; i++) {

           while (sox_size) {
                sox_size = sox_read (sox_fd1, sox_buf, 100000);
                sox_write (sox_fd2, sox_buf, sox_size);
           }
                sox_size = 1;
                sox_status = sox_seek (sox_fd1, 0L, SOX_SEEK_SET);
        }

        /*      Close Wav file  */
        sox_close (sox_fd1);
        sox_close (sox_fd2);

        /*      De-initialization of file format handlers       */
        sox_format_quit ();
        return 0;
}
It seems that sox_seek is not functioning properly, but the function sox_seek returns successfully. What can be the problem?