Disclosed is a demultiplexer for demultiplexing a multiplexed stream, obtained on time division multiplexing a plurality of elementary streams. A buffer controller, forming this demultiplexer, writes a multiplexed stream, beginning from a location specified by a data write pointer of a ring buffer, configured for storing data of the multiplexed stream, in the manner of an endless loop. On receipt of an ES1 readout request, an ES1 readout control unit takes out, from an ES1 readout pointer storage unit, a readout pointer, as a start point of retrieving an area in the ring buffer where the oldest ES1 is stored. The ES1 readout control unit then retrieves and reads out the ES1, with a location specified by the ES1 readout pointer, as a start point, and sends the ES1, thus read out, to the source of the request. The ES1 readout control unit then updates the ES1 readout pointer and the data leading end pointer.