avdemux: fix negative pts if start_time is bigger than the ts
The start time is supposed to be the ts of the first frame. FFmpeg uses fractions to represent timestamps and the start time may use a different base than the frame pts. So we may end up having the start time bigger than the pts because of rounding when converting to gst ts. See gstreamer/gst-libav#51 for details.