For this add a "mode" property that defaults to "interlaced" for now as
most decoders/demuxers don't properly set the "interlaced" field on the
caps yet.
If this property is set to "auto" the element will work in passthrough
mode unless the caps contain the "interlaced" field.
Don't allow setting filename via img-done signal parameter but force app
use filename property. Don't stop capture when setting filename property.
Update check unit test based on the change.
Sending the flush-start event forward before taking the stream lock actually
works, in contrast to deadlocking in downstream preroll_wait (hunk 1).
After that we get the chain function being stuck in a busy loop. This is fixed
by updating the minimum frame size inside the synchronization loop because the
subclass asks for more data in this way (hunk 2).
Finally, this leads to a very probable crash because the subclass can find a
valid frame with a size greater than the currently available data in the
adapter. This makes the subsequent gst_adapter_take_buffer call return NULL,
which is not expected (hunk 3).
No need to unref buffers if pad_push returns something non-FLOW_OK.
In fact, this will cause assertions or crashes. However, we do need
to unref the input buffer whenever we don't pass it downstream. Also,
a non-OK flow return is not an error, so don't post error messages on
the bus - the pipeline may just be shutting down. Miscellaneous other
clean-ups and crack removal. Plenty of work left for those who feel
like it.
When sending the stream change message(s) to the demuxer, also include the
logical stream id along with the physical ID, so that the demuxer can remap
logical->physical MPEG stream ID.
Handle the new DVD commands, so that we can handle commands from a player
to change angle, jump to menus etc. Use the new GstNavigation event parsing
functions, instead of hand-rolled stuff.
Send GstNavigation notification messages when the mouse enters a button
or leaves it, so UI can turn the mouse cursor to a hand icon.
Make the highlights re-appear correctly when jumping back into menus
by making sure to set the flushing_seek flag for user-action initiated
seeks.
Fiddle some debug related to tracking down the issue.
Add a workaround for an apparent libdvdnav bug where it loses nav packets
during multiangle titles, and add some keypress bindings to switch the angle.