Commit graph

189 commits

Author SHA1 Message Date
Sebastian Dröge 037928dcf6 Improve and fix LATENCY query handling
This now follows the design docs everywhere, especially the maximum latency
handling.

https://bugzilla.gnome.org/show_bug.cgi?id=744106
2015-02-11 14:16:21 +01:00
Jan Schmidt 52166768ed resindvd: Don't send meaningless segment position downstream
Don't place a meaningless value in the position field in
outgoing segments - values have to be in the range start->stop.

https://bugzilla.gnome.org/show_bug.cgi?id=740558
2015-02-08 06:16:12 +11:00
Vincent Penquerc'h 612cdeec80 resindvd: avoid crashing in pathological case
When we'd see an unknown stream type, then a SDDS stream.
Then we'd get to the end of the switch with a NULL temp stream
pointer, and dereference it.

Coverity 1139708
2014-04-09 14:37:48 +01:00
Vincent Penquerc'h db7934233f resindvd: guard against overflow in audio subtitle streams
Turns out there was the same issue as with subtitles.

There is space for a single audio stream, but up to 255
may be used based on a uint8_t value in a struct, which may
or may not be read from the (untrusted) data.
A comment in ifo_types.h says this value is either 0 or 1, so
we can ensure this here without drawbacks.

Coverity 1139585
2014-04-08 14:24:31 +01:00
Vincent Penquerc'h 380f95ea01 resindvd: guard against overflow in menu subtitle streams
There is space for a single subtitle stream, but up to 255
may be used based on a uint8_t value in a struct, which may
or may not be read from the (untrusted) data.
A comment in ifo_types.h says this value is either 0 or 1, so
we can ensure this here without drawbacks.

Coverity 1139586
2014-04-08 14:21:53 +01:00
Jan Schmidt 9d31536adf resindvd: Merge changes across from master mpegdemux
Merge various changes and fixes from the master mpegdemux
Performance improvement from the way streams are organised,
return flow combining, language tag event generation,
adjustments and fixes in debug output, and things like that.
2014-01-16 20:16:47 +11:00
Tim-Philipp Müller 078b82d6d1 resindvdsrc: fix minor memory leak when creating title info message 2014-01-15 11:52:09 +00:00
Jan Schmidt d56d00cccd resindvd: Remove racy glib warning.
Sometimes, the pad probes can be called twice - for OOB events
travelling downstream. Clear out the pad block id, so it only
gets removed once.
2013-12-10 22:48:47 +11:00
Edward Hervey 97426a1caa all: Fix for GST_DISABLE_GST_DEBUG
Where applicable, remove methods that don't do anything different than
the default implementation.
2013-07-29 09:42:12 +02:00
Sebastian Dröge b5e7ed0428 resindvd: Add support for group-id in the stream-start event 2013-07-23 10:33:31 +02:00
Sebastian Dröge e56efddd4a resindvd: Send stream-start event before anything else on the mpeg demuxer srcpads 2013-07-22 09:19:06 +02:00
Sebastian Dröge e51cd4fe2f gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
Tim-Philipp Müller 4c76427ba7 resindvd: handle non-utf8 dvd disc titles better
Maybe something based on the code in bug #688367
and the language encodings would work even better
though (now it will try things based on the locale).

https://bugzilla.gnome.org/show_bug.cgi?id=690097
2013-01-07 10:37:53 +00:00
Tim-Philipp Müller caa9014bce resindvd, frei0r: link to libgmodule-2.0 in plugins that use g_module_* API
Probably needed for other plugins as well.
2012-11-30 20:01:16 +00:00
Tim-Philipp Müller 9e1b75fda3 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Tim-Philipp Müller 32ba17cd0f Use gst_element_class_set_static_metadata()
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-10-17 17:46:34 +01:00
Jan Schmidt 6e4a9e2e24 resindvd: Remove caps lock from parsetter element.
All the members it used to protect in 0.10 are protected by
the stream lock now.
2012-10-02 22:20:20 +10:00
Jan Schmidt 6122e07795 resindvd: Update overridden caps when the DAR changes
Send a new caps event downstream when we receive new orders
from the VM, if there are existing caps.
2012-10-01 23:43:47 +10:00
Jan Schmidt 3054545dad resindvd: Port parsetter element
Port the DVD element which overrides the MPEG encoded pixel-aspect-ratio
to match that requested by the DVD VM.
2012-10-01 23:28:07 +10:00
Jan Schmidt 3c1a1dfec5 resindvd: Fiddle with segment handling for DVD.
Clarify some of the terms used, and make sure to extend the
stop time when the position moves past the end of the current
segment (as for still frames, for example).

Also, make sure to reset the position value of the segment the
demuxer outputs when collecting a seamless segment.
2012-09-30 04:08:50 +10:00
Jan Schmidt 34510b71ca resindvd: Don't send spurious 'close segment' events. Make a single segment
With the new 1.0 segment semantics, there's no need to close the
previous segment before sending out a new one, so don't do it.

Also, adjust the outgoing segment to just be one contiguous
timeline, with a base of 0. Fixes some repeating timestamps when
segments change.
2012-09-26 14:57:54 +10:00
Jan Schmidt c90cdadbe4 resindvd: Fix segment handling in the demuxer.
Transfer the incoming segment base time to the src
segment the demuxer sends downstream. Add some
(disabled) debug to the bin for tracking outgoing
timestamps.
2012-09-18 00:27:22 +10:00
Mark Nauwelaerts 5fad6e86d7 use gst_element_factory_get_metadata to replace obsolete API 2012-09-15 19:13:47 +02:00
Mark Nauwelaerts 578861abea replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:27:49 +02:00
Wim Taymans b8f913555d ffmpegcolorspace is no more 2012-09-14 16:45:34 +02:00
Jan Schmidt 16f5120d96 resindvd: Start with a larger subpicture queue for preroll.
Shrink the queue once we're prerolled. Fixes the Fringe S1
DVD. Also, ensure we only fire no_more_pads once.
2012-09-12 23:05:47 -07:00
Jan Schmidt c5e0bc6464 resindvd: Disable input-selector syncing
Until segments are better worked out. Also, use
internal input-selector for audio as well
2012-09-12 23:05:47 -07:00
Mark Nauwelaerts b807753453 ext, gst: only activate in pull mode if upstream is seekable 2012-09-11 17:47:33 +02:00
Tim-Philipp Müller a79edf27d0 gst_message_new_duration -> gst_message_new_duration_changed 2012-09-02 01:48:12 +01:00
Jan Schmidt f2d0c6a89e resindvd/mpegdemux: Send both PTS and DTS downstream
Now that we can.
2012-09-01 16:09:59 -07:00
Jan Schmidt 8f719fea02 resindvd: Plug a video parser in front of decoder
Seems to make playback both better and worse. The parser needs some
fixing, it seems :-/
2012-08-31 14:22:59 -07:00
Jan Schmidt 211828979b resindvd: Add some GAP event stuff to make still-frames start to work
And remove the dead audiomunge element. It isn't needed now, we just
send GAP events
2012-08-31 13:12:41 -07:00
Jan Schmidt 1218cff3dc resindvd: Initial partial port to 0.11 2012-08-31 12:46:29 -07:00
Tim-Philipp Müller 2483c82bd7 video/x-dvd-subpicture -> subpicture/x-dvd 2012-08-20 23:37:00 +01:00
Tim-Philipp Müller 489b102a43 gst_tag_list_free -> gst_tag_list_unref 2012-08-04 16:31:30 +01:00
Vincent Penquerc'h afba4ce869 resindvd: rename the lib from libresindvd to libgstresindvd
For consistency.
2012-06-14 15:33:29 +01:00
Vincent Penquerc'h 54f7ab5cf6 resindvd: guard against not finding some data on a DVD
May possibly help with a particular DVD.

https://bugzilla.gnome.org/show_bug.cgi?id=673118
2012-06-14 15:32:11 +01:00
Sebastian Dröge cda192b3b7 gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 18:02:56 +02:00
Sebastian Dröge 1318a97e0a gst: Update versioning 2012-04-04 14:44:34 +02:00
Sebastian Dröge 860ccd414d Merge remote-tracking branch 'origin/0.10'
Conflicts:
	NEWS
	RELEASE
	common
	configure.ac
	docs/libs/gst-plugins-bad-libs-sections.txt
	docs/plugins/gst-plugins-bad-plugins.args
	docs/plugins/gst-plugins-bad-plugins.hierarchy
	docs/plugins/gst-plugins-bad-plugins.interfaces
	docs/plugins/inspect/plugin-adpcmdec.xml
	docs/plugins/inspect/plugin-adpcmenc.xml
	docs/plugins/inspect/plugin-assrender.xml
	docs/plugins/inspect/plugin-audiovisualizers.xml
	docs/plugins/inspect/plugin-autoconvert.xml
	docs/plugins/inspect/plugin-bayer.xml
	docs/plugins/inspect/plugin-bz2.xml
	docs/plugins/inspect/plugin-camerabin2.xml
	docs/plugins/inspect/plugin-celt.xml
	docs/plugins/inspect/plugin-dataurisrc.xml
	docs/plugins/inspect/plugin-debugutilsbad.xml
	docs/plugins/inspect/plugin-dtmf.xml
	docs/plugins/inspect/plugin-dtsdec.xml
	docs/plugins/inspect/plugin-dvbsuboverlay.xml
	docs/plugins/inspect/plugin-dvdspu.xml
	docs/plugins/inspect/plugin-faac.xml
	docs/plugins/inspect/plugin-faad.xml
	docs/plugins/inspect/plugin-gsm.xml
	docs/plugins/inspect/plugin-h264parse.xml
	docs/plugins/inspect/plugin-mms.xml
	docs/plugins/inspect/plugin-modplug.xml
	docs/plugins/inspect/plugin-mpeg2enc.xml
	docs/plugins/inspect/plugin-mpegdemux2.xml
	docs/plugins/inspect/plugin-mpegtsdemux.xml
	docs/plugins/inspect/plugin-mpegvideoparse.xml
	docs/plugins/inspect/plugin-mplex.xml
	docs/plugins/inspect/plugin-pcapparse.xml
	docs/plugins/inspect/plugin-rawparse.xml
	docs/plugins/inspect/plugin-rtpmux.xml
	docs/plugins/inspect/plugin-rtpvp8.xml
	docs/plugins/inspect/plugin-scaletempo.xml
	docs/plugins/inspect/plugin-schro.xml
	docs/plugins/inspect/plugin-sdp.xml
	docs/plugins/inspect/plugin-segmentclip.xml
	docs/plugins/inspect/plugin-shm.xml
	docs/plugins/inspect/plugin-videomaxrate.xml
	docs/plugins/inspect/plugin-videoparsersbad.xml
	docs/plugins/inspect/plugin-vp8.xml
	docs/plugins/inspect/plugin-y4mdec.xml
	ext/celt/gstceltdec.c
	ext/dts/gstdtsdec.c
	ext/modplug/gstmodplug.cc
	ext/opus/gstopusenc.c
	gst-libs/gst/video/gstbasevideocodec.c
	gst-libs/gst/video/gstbasevideocodec.h
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideodecoder.h
	gst-libs/gst/video/gstbasevideoencoder.c
	gst-libs/gst/video/gstbasevideoencoder.h
	gst/adpcmdec/Makefile.am
	gst/audiovisualizers/gstbaseaudiovisualizer.c
	gst/h264parse/gsth264parse.c
	gst/mpegdemux/mpegtsparse.c
	gst/mpegtsdemux/mpegtsbase.c
	gst/mpegtsdemux/mpegtspacketizer.c
	gst/mpegtsdemux/mpegtsparse.c
	gst/mpegtsdemux/tsdemux.c
	gst/mpegtsdemux/tsdemux.h
	gst/mxf/mxfdemux.c
	gst/rawparse/gstaudioparse.c
	gst/videoparsers/gsth263parse.c
	gst/videoparsers/gsth264parse.c
	sys/d3dvideosink/d3dvideosink.c
	sys/decklink/gstdecklinksink.cpp
	sys/dvb/gstdvbsrc.c
	sys/shm/gstshmsrc.c
	sys/vdpau/h264/gstvdph264dec.c
	sys/vdpau/mpeg/gstvdpmpegdec.c
	tests/examples/opencv/gst_element_print_properties.c
	win32/common/config.h
2012-03-29 17:41:53 +02:00
Vincent Penquerc'h 9ebacafc6a rsndvdsrc: post a message with title number and durations
https://bugzilla.gnome.org/show_bug.cgi?id=672165
2012-03-16 11:27:17 +00:00
Wim Taymans 3fae1ff05d use gst_caps_merge instead of gst_caps_union 2012-03-13 09:54:14 +01:00
Stefan Sauer b84271faa6 resindvd: send duration message on duration updates
When we know a new duration, report it. Add more logging.
2012-03-04 19:57:14 +01:00
Wim Taymans 1119f6ee41 Merge branch 'master' into 0.11
Conflicts:
	ext/chromaprint/gstchromaprint.c
	ext/mpeg2enc/Makefile.am
	ext/voaacenc/gstvoaacenc.c
	gst/dvbsuboverlay/gstdvbsuboverlay.c
	gst/mpegtsdemux/mpegtsbase.c
	gst/sdp/gstsdpdemux.c
	gst/videoparsers/gsth264parse.c
	sys/d3dvideosink/d3dvideosink.c
	tests/examples/camerabin/gst-camera-perf.c
	tests/examples/camerabin/gst-camerabin-test.c
	tests/examples/camerabin2/gst-camerabin2-test.c
	tests/examples/mxf/mxfdemux-structure.c
	tests/examples/scaletempo/demo-main.c
2012-02-10 16:46:50 +01:00
Wim Taymans de1f89bf07 GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:37:13 +01:00
Vincent Penquerc'h 7a9fff74c6 resindvd: fix wedge in preroll when playbin2 deinterlacing is enabled
When deinterlacing is enabled, an extra colorspace element is added.
Colorspace is a basetransform, and is then the only basetransform
element on the video path. A while ago, basetransform started delaying
events till caps were set on its source pad. These things conspired
to end up sending the DVD highlight events onto a blocked pad on
subtitleoverlay.

Ensuring these highlight events are only sent once we're in playing
mode fixes the issue.

https://bugzilla.gnome.org/show_bug.cgi?id=668762
2012-02-01 12:05:26 +00:00
Vincent Penquerc'h 8147669971 plenty: fixup glib deprecations 2012-01-27 15:47:07 +00:00
Sebastian Dröge a2a4300241 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	ext/kate/gstkateenc.c
	gst/colorspace/colorspace.c
	gst/mpegvideoparse/mpegvideoparse.c
2012-01-25 13:22:43 +01:00
Vincent Penquerc'h 4a1ce3f8d2 resindvd: fix caps refcount error
/me bad monkey.
2012-01-23 22:20:40 +00:00
Vincent Penquerc'h 1c0ccc45f4 resindvd: fix preroll on titles with no audio track
https://bugzilla.gnome.org/show_bug.cgi?id=599469
2012-01-23 11:04:26 +00:00