I don't see how that's relevant.  Why did we set m_seekable false if we can
actually seek?  There's no code to set it back to true after we ignore it
and seek somehow magically starts working again.

Your statements make it sound like m_seekable is redundant, which IMO is
dangerous.