Index: libmpc/branches/r2d/include/mpc/mpc_types.h
===================================================================
--- libmpc/branches/r2d/include/mpc/mpc_types.h	(revision 137)
+++ libmpc/branches/r2d/include/mpc/mpc_types.h	(revision 147)
@@ -72,5 +72,5 @@
 typedef unsigned int mpc_uint_t;
 // FIXME : must be the same size as a pointer
-typedef unsigned int mpc_size_t;
+typedef size_t mpc_size_t;
 
 /// Libmpcdec error codes
Index: libmpc/branches/r2d/include/mpcdec/mpcdec.h
===================================================================
--- libmpc/branches/r2d/include/mpcdec/mpcdec.h	(revision 137)
+++ libmpc/branches/r2d/include/mpcdec/mpcdec.h	(revision 147)
@@ -57,7 +57,7 @@
 
 typedef struct mpc_frame_info_t {
-	mpc_uint32_t samples;	// number of samples in the frame
-	mpc_uint32_t bits;	// number of bits consumed by this frame
-	MPC_SAMPLE_FORMAT * buffer;	// frame samples buffer (size = samples * channels * sizeof(MPC_SAMPLE_FORMAT)
+	mpc_uint32_t samples;	/// number of samples in the frame
+	mpc_int32_t bits;	/// number of bits consumed by this frame (-1) if end of stream
+	MPC_SAMPLE_FORMAT * buffer;	/// frame samples buffer (size = samples * channels * sizeof(MPC_SAMPLE_FORMAT)
 } mpc_frame_info;
 
@@ -75,5 +75,10 @@
 // void mpc_decoder_set_seeking(mpc_decoder *p_dec, mpc_streaminfo *si, mpc_bool_t fast_seeking);
 
-// void mpc_decoder_set_streaminfo(mpc_decoder *p_dec, mpc_streaminfo *si);
+/**
+ * set the scf indexes for seeking use
+ * needed only for sv7 seeking
+ * @param d
+ */
+void mpc_decoder_reset_scf(mpc_decoder * d);
 
 /// Sets decoder sample scaling factor.  All decoded samples will be multiplied
@@ -92,10 +97,4 @@
 void mpc_decoder_decode_frame(mpc_decoder * d, mpc_bits_reader * r, mpc_frame_info * i);
 
-/// Seeks to the specified sample in the source stream.
-// mpc_bool_t mpc_decoder_seek_sample(mpc_decoder *p_dec, mpc_int64_t destsample);
-
-/// Seeks to specified position in seconds in the source stream.
-// mpc_bool_t mpc_decoder_seek_seconds(mpc_decoder *p_dec, double seconds);
-
 // init demuxer
 mpc_demux * mpc_demux_init(mpc_reader * p_reader);
@@ -106,4 +105,8 @@
 // get streaminfo
 void mpc_demux_get_info(mpc_demux * d, mpc_streaminfo * i);
+// seek
+mpc_status mpc_demux_seek_sample(mpc_demux * d, mpc_int64_t destsample);
+mpc_status mpc_demux_seek_second(mpc_demux * d, double seconds);
+
 
 #ifdef __cplusplus
Index: libmpc/branches/r2d/include/mpcdec/streaminfo.h
===================================================================
--- libmpc/branches/r2d/include/mpcdec/streaminfo.h	(revision 137)
+++ libmpc/branches/r2d/include/mpcdec/streaminfo.h	(revision 147)
@@ -64,5 +64,5 @@
     mpc_uint32_t         ms;                 ///< Mid/side stereo (0: off, 1: on)
 	mpc_uint32_t         fast_seek;          ///< True if stream supports fast-seeking (sv7)
-	mpc_uint32_t         frames_per_block;   ///< Number of frames in a block (sv8)
+	mpc_uint32_t         block_pwr;          ///< Number of frames in a block = 2^block_pwr (sv8)
     //@}
 
