baseparse: Don't return more data than asked for in pull_range()

Even when pulling a new 64KB buffer from upstream, don't return
more data than was asked for in the pull_range() method and then
return less later, as that confused subclasses like h264parse.

Add a unit test that when a subclass asks for more data, it always
receives a larger buffer on the next iteration, never less.

Fixes gstreamer/gstreamer#530
33 jobs for !427 with baseparse-530-fix-regression in 57 minutes and 18 seconds (queued for 5 seconds)
detached
Status Job ID Name Coverage
  Preparation
passed #2221242
gst indent

00:00:42

passed #2221240
manifest

00:00:21

 
  Build
passed #2221262
gstreamer
build cerbero cross-android universal

00:11:49

passed #2221269
gst-ios-13.2
build cerbero cross-ios universal

00:18:15

passed #2221264
gstreamer
build cerbero cross win32

00:09:48

passed #2221266
gstreamer
build cerbero cross win64

00:06:38

passed #2221260
gstreamer
build cerbero fedora x86_64

00:09:23

passed #2221268
gst-macos-10.15
build cerbero macos x86_64

00:08:46

passed #2221251
build clang fedora x86_64

00:04:01

passed #2221244
build fedora x86_64

00:05:20

manual #2221257
docker windows 1809 allowed to fail manual
build msys2
passed #2221246
build nodebug fedora x86_64

00:03:41

passed #2221247
build static fedora x86_64

00:02:59

passed #2221249
build static nodebug fedora x86_64

00:02:49

passed #2221253
docker windows 1809
build vs2017 amd64

00:08:51

manual #2221255
docker windows 1809 allowed to fail manual
build vs2017 x86
 
  Test
passed #2221272
gstreamer
check fedora

00:03:17

passed #2221274
gstreamer
integration testsuites fedora 1/4

00:13:38

passed #2221275
gstreamer
integration testsuites fedora 2/4

00:13:51

passed #2221276
gstreamer
integration testsuites fedora 3/4

00:12:24

passed #2221277
gstreamer
integration testsuites fedora 4/4

00:10:43

passed #2221282
gstreamer
valgrind bad

00:05:02

passed #2221279
gstreamer
valgrind base

00:06:22

passed #2221504
gstreamer
valgrind core

00:09:53

passed #2221283
gstreamer
valgrind ges

00:09:36

passed #2221760
gstreamer
valgrind good

00:25:27

passed #2221281
gstreamer
valgrind ugly

00:02:02

failed #2221278
gstreamer
valgrind core

00:20:27

failed #2221280
gstreamer
valgrind good

00:13:39

failed #2221505
gstreamer
valgrind good

00:08:44

 
  Integrate
passed #2221284
cross-android universal examples

00:05:04

passed #2221286
gst-ios-13.2
cross-ios universal examples

00:03:13

passed #2221285
documentation

00:04:00