last batch of changes and fixes based on the libFLAC++ unit tests
diff --git a/src/libFLAC/metadata_iterators.c b/src/libFLAC/metadata_iterators.c
index b34ae89..46968c4 100644
--- a/src/libFLAC/metadata_iterators.c
+++ b/src/libFLAC/metadata_iterators.c
@@ -118,10 +118,10 @@
 typedef struct {
 	FLAC__bool got_error;
 	FLAC__bool got_streaminfo;
-	FLAC__StreamMetadata_StreamInfo *streaminfo;
+	FLAC__StreamMetadata *streaminfo;
 } level0_client_data;
 
-FLAC__bool FLAC__metadata_get_streaminfo(const char *filename, FLAC__StreamMetadata_StreamInfo *streaminfo)
+FLAC__bool FLAC__metadata_get_streaminfo(const char *filename, FLAC__StreamMetadata *streaminfo)
 {
 	level0_client_data cd;
 	FLAC__FileDecoder *decoder = FLAC__file_decoder_new();
@@ -171,7 +171,7 @@
 	(void)decoder;
 
 	if(metadata->type == FLAC__METADATA_TYPE_STREAMINFO && 0 != cd->streaminfo) {
-		*(cd->streaminfo) = metadata->data.stream_info;
+		*(cd->streaminfo) = *metadata;
 		cd->got_streaminfo = true;
 	}
 }