Changeset 113 for fm_server/trunk/src/fm_input_gst/fm_input_gst.c
- Timestamp:
- 09/07/06 15:59:34 (6 years ago)
- Files:
-
- 1 modified
-
fm_server/trunk/src/fm_input_gst/fm_input_gst.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
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;
