Show
Ignore:
Timestamp:
09/04/06 20:29:59 (6 years ago)
Author:
ath
Message:

Use some decent float-integer converstion routines, and make FmPipeline more useful.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • fm_server/trunk/src/main.c

    r111 r112  
    8686 
    8787 
    88  
    89 //gint buffer_elems = 0;                // element = 1 * channels_n 
    90 //gint buffer_int_size = 0;     // buffer_int_size = sizeof (int16_t) * buffer_elems 
    91 //gint buffer_fp_size = 0;      // buffer_int_size = sizeof (gfloat) * buffer_elems 
    92  
    93 gboolean 
    94 timeout                                 (gpointer       user_data) 
    95 { 
    96         /*g_print ("Timeout!\n"); 
    97          
    98         FmEngine *data = (FmEngine *) user_data; 
    99          
    100         if (fm_engine_is_running (data)) 
    101                 fm_engine_stop (data); 
    102         else 
    103                 fm_engine_start (data); 
    104         */ 
    105          
    106         exit (0); 
    107         return (TRUE); 
    108 } 
    109  
    110  
    11188gint 
    11289main                                    (gint           argc, 
     
    152129        fm_mixer_class_register (); 
    153130        fm_djmixer_class_register (); 
    154 /*      fm_effect_pan_class_register (); 
    155  
    156         fm_mixer_dj_class_register ();*/ 
     131        fm_effect_pan_class_register (); 
    157132#if HAVE_ALSA_ASOUNDLIB_H 
    158133        fm_output_alsa_class_register (); 
    159134#endif 
    160         //fm_output_oss_class_register (); 
    161135 
    162 //      test_case (); 
    163          
    164         /*RgcMessageNew *mess1; 
    165         mess1 = rgc_message_new_create ("cdj1", "FmInputCDJ"); 
    166         rgc_message_execute_new (mess1)*/ 
    167          
    168136        GMainLoop *main_loop; 
    169137        main_loop = g_main_loop_new (NULL, FALSE);       
    170138 
    171139        /*unlink ("/tmp/fmraw.raw"); 
    172         temp_fd = open ("/tmp/fmraw.raw", (O_WRONLY && O_SYNC));*/ 
    173         g_assert (temp_fd != -1); 
     140        temp_fd = open ("/tmp/fmraw.raw", (O_WRONLY && O_SYNC)); 
     141        g_assert (temp_fd != -1);*/ 
    174142 
    175         /*main_conn = fm_connection_unix_new ("/tmp/fm"); 
    176         main_connection = FM_CONNECTION (main_conn); 
    177         g_idle_add ((GSourceFunc) fm_connection_start, main_conn);*/ 
    178                  
    179         //g_timeout_add (100000, timeout, NULL); 
    180          
    181143        g_main_loop_run (main_loop); 
    182144         
     
    195157 
    196158 
    197 /*void 
    198 test_case                               (void) 
    199 { 
    200         FmPipeline *pipeline; 
    201         FmElement *input; 
    202         FmElement *output; 
    203          
    204         pipeline = fm_pipeline_new (); 
    205         input = FM_ELEMENT (fm_input_cdj_new ()); 
    206         output = FM_ELEMENT (fm_output_oss_new ()); 
    207          
    208         fm_element_connect_src (output, input); 
    209          
    210         fm_pipeline_set_sink (pipeline, output); 
    211          
    212         fm_pipeline_activate (pipeline); 
    213          
    214         fm_pipeline_run (pipeline); 
    215          
    216         g_object_set (G_OBJECT (input), "filename", "/tmp/b.mp3", NULL); 
    217          
    218         fm_input_cdj_load (FM_INPUT_CDJ (input)); 
    219 }*/ 
    220  
    221  
    222 /*void 
    223 test_case                               (void) 
    224 { 
    225         FmElement *input; 
    226          
    227         input = FM_ELEMENT (fm_input_cdj_new ()); 
    228          
    229         fm_element_activate (input); 
    230          
    231         g_object_set (G_OBJECT (input), "filename", "/tmp/b.mp3", NULL); 
    232         fm_input_cdj_load (FM_INPUT_CDJ (input)); 
    233          
    234         FmBuffer *buffer = fm_buffer_new (MAX_SAMPLES, FM_SAMPLES_FLOAT, 
    235                                           FM_INTERLEAVING_NORMAL, FM_CHANNELS_STEREO); 
    236         FM_BUFFER_REQUESTED (buffer) = 32; 
    237          
    238         FmBuffer *out_buffer = fm_buffer_new (MAX_SAMPLES, FM_SAMPLES_INT16, 
    239                                     FM_INTERLEAVING_NORMAL, FM_CHANNELS_STEREO); 
    240          
    241         while (TRUE) { 
    242                 fm_element_get_buffer (input, buffer); 
    243  
    244                 fm_buffer_convert (buffer, out_buffer); 
    245                                  
    246                 fm_buffer_dump_to_file (out_buffer, temp_fd); 
    247         } 
    248          
    249         fm_buffer_destroy (buffer); 
    250         fm_buffer_destroy (out_buffer); 
    251 }*/ 
    252  
    253 #define SEGMENT_SIZE 64 
    254  
    255 /*void 
    256 test_case                               (void) 
    257 { 
    258         FmGstThread *thread; 
    259          
    260         thread = fm_gst_thread_new (); 
    261          
    262         fm_gst_thread_load (thread, "/tmp/b.mp3"); 
    263          
    264                  
    265         FmBuffer *buffer = NULL; 
    266         buffer = fm_buffer_new (SEGMENT_SIZE, FM_SAMPLES_INT16, 
    267                                 FM_INTERLEAVING_NORMAL, FM_CHANNELS_STEREO); 
    268  
    269         FmBuffer *float_buffer = NULL; 
    270         float_buffer = fm_buffer_new (SEGMENT_SIZE, FM_SAMPLES_FLOAT, 
    271                                       FM_INTERLEAVING_NORMAL, FM_CHANNELS_STEREO); 
    272  
    273         FmBuffer *out_buffer = NULL;//g_print ("%d\n", BUF_READ); 
    274         out_buffer = fm_buffer_new (SEGMENT_SIZE, FM_SAMPLES_INT16, 
    275                                     FM_INTERLEAVING_NORMAL, FM_CHANNELS_STEREO); 
    276          
    277         while (TRUE) { 
    278                 fm_gst_thread_get_buffer (thread, buffer); 
    279                  
    280                 fm_buffer_convert (buffer, float_buffer); 
    281                 fm_buffer_convert (float_buffer, out_buffer); 
    282                                  
    283                 fm_buffer_dump_to_file (out_buffer, temp_fd); 
    284         } 
    285          
    286         fm_buffer_destroy (buffer); 
    287         fm_buffer_destroy (float_buffer); 
    288         fm_buffer_destroy (out_buffer); 
    289 }*/