libmadで『decoding error 0x0235 (bad main_data_begin pointer) at byte offset 0』というエラーが多発して困っています。

コールバック関数output()の戻り値をMAD_FLOW_CONTINUEにしているときは発生せず、MAD_FLOW_STOPにすると発生します。
必ず発生するわけではなく、decode()関数に入った1フレーム目では発生しません。
1フレーム+次フレームの冒頭8byteのデータは正常に取得しています。

多分使い方が間違っているのだと思いますがどう間違っているのかがわかりません。
どなたか教えていただけないでしょうか。
よろしくお願いします。