Changeset 113
- Timestamp:
- 09/07/06 15:59:34 (5 years ago)
- Location:
- fm_server/trunk/src
- Files:
-
- 2 added
- 3 modified
-
fm_input_cdj.c (modified) (2 diffs)
-
fm_input_gst/fm_input_gst.c (modified) (7 diffs)
-
fm_input_gst/gstfmsink.c (modified) (2 diffs)
-
src_type_conv.c (added)
-
src_type_conv.h (added)
Legend:
- Unmodified
- Added
- Removed
-
fm_server/trunk/src/fm_input_cdj.c
r104 r113 18 18 19 19 #include <rgc_server.h> 20 /*#ifdef G_OS_WIN3221 #include <windows.h>22 #endif*/23 20 24 21 #include <unistd.h> … … 236 233 rgc_signal_change_owner (input_cdj->input, input_cdj, "tick"); 237 234 rgc_signal_change_owner (input_cdj->input, input_cdj, "ready"); 235 rgc_signal_change_owner (input_cdj->input, input_cdj, "found_tag"); 238 236 239 237 return TRUE; -
fm_server/trunk/src/fm_input_gst/fm_input_gst.c
r112 r113 188 188 reset_status (FmInputGst *input_gst) 189 189 { 190 g_print ("RESET STATUS!\n"); 190 191 input_gst->current_pos_samples = 0; 191 // input_gst->bytes_behind_us = 0;192 192 input_gst->seek_at_sample = -1; 193 194 if (input_gst->common) 195 input_gst->common->gst_seek_to_sample = -1; 193 196 } 194 197 … … 419 422 } 420 423 424 void 425 fm_input_gst_state_changed (void) 426 { 427 428 429 } 430 421 431 422 432 gboolean … … 432 442 FmInputGstCommon *common = input_gst->common; 433 443 FmChunk *chk = common->read_chunk; 434 //g_print ("tick!\n"); 444 445 if (!chk) 446 return; 435 447 436 448 GValue *pos_val = g_value_init_int64 (input_gst->current_pos_samples * common->nsec_for_sample); … … 682 694 GValue *tag_name; 683 695 684 gint count = gst_tag_list_get_tag_size (list, tag);685 g_return_if_fail (count == 1);686 687 G_CONST_RETURN GValue *val = gst_tag_list_get_value_index (list, tag, 0);696 gint i; 697 for (i = 0; i < gst_tag_list_get_tag_size (list, tag); i++) { 698 699 G_CONST_RETURN GValue *val = gst_tag_list_get_value_index (list, tag, i); 688 700 689 if (strcmp (tag, GST_TAG_ARTIST) == 0) { 690 tag_name = g_value_init_string ("artist"); 691 } else if (strcmp (tag, GST_TAG_TITLE) == 0) { 692 tag_name = g_value_init_string ("artist"); 693 } else 694 return; 695 696 rgc_signal_emit (input_gst, "found_tag", tag_name, val, NULL); 697 g_value_destroy (tag_name); 701 if (strcmp (tag, GST_TAG_ARTIST) == 0) { 702 tag_name = g_value_init_string ("artist"); 703 } else if (strcmp (tag, GST_TAG_TITLE) == 0) { 704 tag_name = g_value_init_string ("title"); 705 } else { 706 g_print ("ignoring tag \"%s\"\n", tag); 707 continue; 708 } 709 710 rgc_signal_emit (input_gst, "found_tag", tag_name, val, NULL); 711 g_value_destroy (tag_name); 712 } 698 713 } 699 714 … … 704 719 gpointer data) 705 720 { 706 FmInputGst *input_gst = FM_INPUT_GST(data); 707 708 g_print ("Got %s message\n", GST_MESSAGE_TYPE_NAME (message)); 721 FmInputGst *input_gst = FM_INPUT_GST (data); 722 FmInput *input = FM_INPUT (data); 723 724 //g_print ("Got %s message\n", GST_MESSAGE_TYPE_NAME (message)); 709 725 710 726 switch (GST_MESSAGE_TYPE (message)) { … … 718 734 g_free (debug); 719 735 720 //g_main_loop_quit (loop); 736 input_gst->play_when_ready = FALSE; 737 input->state = FM_INPUT_STOP; 738 fm_input_state_changed (input); 739 721 740 break; 722 741 } … … 731 750 break; 732 751 } 752 753 case GST_MESSAGE_STATE_CHANGED: { 754 GstState oldstate, newstate, pending; 755 gst_message_parse_state_changed (message, &oldstate, &newstate, &pending); 756 g_print ("state changed: old %d, new %d, pending %d\n", oldstate, newstate, pending); 757 break; 758 } 759 733 760 default: 761 g_print ("Got %s message\n", GST_MESSAGE_TYPE_NAME (message)); 734 762 /* unhandled message */ 735 763 break; -
fm_server/trunk/src/fm_input_gst/gstfmsink.c
r109 r113 245 245 246 246 switch (GST_EVENT_TYPE (event)) { 247 247 248 case GST_EVENT_EOS: 248 249 { … … 250 251 common->write_chunk->eos_offset_samples = sink->offset_samples; 251 252 g_print(" got EOS at offset %lld\n", common->write_chunk->eos_offset_samples); 252 // 253 sink->seek_in_progress = FALSE; 254 sink->seek_target = -1; 253 255 254 256 break;
