View | Details | Raw Unified | Return to bug 10937
Collapse All | Expand All

(-)muine-0.8.6.orig/libmuine/metadata.c (+15 lines)
Lines 41-46 Link Here
41
#include "metadata.h"
41
#include "metadata.h"
42
#include "macros.h"
42
#include "macros.h"
43
43
44
/* FLAC 1.1.3 has FLAC_API_VERSION_CURRENT == 8 */
45
#if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT < 8
46
#define LEGACY_FLAC
47
#else
48
#undef LEGACY_FLAC
49
#endif
50
44
struct _Metadata {
51
struct _Metadata {
45
	char *title;
52
	char *title;
46
53
Lines 829-850 Link Here
829
836
830
	flac_decoder = FLAC__stream_decoder_new ();
837
	flac_decoder = FLAC__stream_decoder_new ();
831
838
839
#ifdef LEGACY_FLAC
832
	FLAC__stream_decoder_set_read_callback (flac_decoder, FLAC_read_callback);
840
	FLAC__stream_decoder_set_read_callback (flac_decoder, FLAC_read_callback);
833
	FLAC__stream_decoder_set_write_callback (flac_decoder, FLAC_write_callback);
841
	FLAC__stream_decoder_set_write_callback (flac_decoder, FLAC_write_callback);
834
	FLAC__stream_decoder_set_metadata_callback (flac_decoder, FLAC_metadata_callback);
842
	FLAC__stream_decoder_set_metadata_callback (flac_decoder, FLAC_metadata_callback);
835
	FLAC__stream_decoder_set_error_callback (flac_decoder, FLAC_error_callback);
843
	FLAC__stream_decoder_set_error_callback (flac_decoder, FLAC_error_callback);
844
#endif
836
845
837
	callback_data = g_new0 (CallbackData, 1);
846
	callback_data = g_new0 (CallbackData, 1);
838
	callback_data->handle = handle;
847
	callback_data->handle = handle;
839
	callback_data->comment = comment;
848
	callback_data->comment = comment;
849
#ifdef LEGACY_FLAC
840
	FLAC__stream_decoder_set_client_data (flac_decoder, callback_data);
850
	FLAC__stream_decoder_set_client_data (flac_decoder, callback_data);
851
#endif
841
852
842
	/* by default, only the STREAMINFO block is parsed and passed to
853
	/* by default, only the STREAMINFO block is parsed and passed to
843
	 * the metadata callback.  Here we instruct the decoder to also
854
	 * the metadata callback.  Here we instruct the decoder to also
844
	 * pass us the VORBISCOMMENT block if there is one. */
855
	 * pass us the VORBISCOMMENT block if there is one. */
845
	FLAC__stream_decoder_set_metadata_respond (flac_decoder, FLAC__METADATA_TYPE_VORBIS_COMMENT);
856
	FLAC__stream_decoder_set_metadata_respond (flac_decoder, FLAC__METADATA_TYPE_VORBIS_COMMENT);
846
857
858
#ifdef LEGACY_FLAC
847
	FLAC__stream_decoder_init (flac_decoder);
859
	FLAC__stream_decoder_init (flac_decoder);
860
#else
861
	FLAC__stream_decoder_init_stream (flac_decoder, FLAC_read_callback, NULL, NULL, NULL, NULL, FLAC_write_callback, FLAC_metadata_callback, FLAC_error_callback, callback_data);
862
#endif
848
863
849
	/* this runs the decoding process, calling the callbacks as appropriate */
864
	/* this runs the decoding process, calling the callbacks as appropriate */
850
	if (FLAC__stream_decoder_process_until_end_of_metadata (flac_decoder) == 0) {
865
	if (FLAC__stream_decoder_process_until_end_of_metadata (flac_decoder) == 0) {

Return to bug 10937