Commit graph

38 commits

Author SHA1 Message Date
Aurélien Zanelli
354f16a5ca rawparse: add 'decide_allocation' vfunc to let subclass parse an allocation query
And so send an allocation query. This could be used to check whether
downstream element supports some metas or not.

https://bugzilla.gnome.org/show_bug.cgi?id=760270
2016-01-28 10:02:54 -05:00
Aurélien Zanelli
6e8278c51e rawparse: use size of buffer we got from adapter
Otherwise position in stream could be wrong if subclass 'pre_push_frame'
method changes the buffer size.

https://bugzilla.gnome.org/show_bug.cgi?id=760270
2016-01-28 10:02:54 -05:00
Aurélien Zanelli
04d59ffd4d rawparse: rename 'set_buffer_flags' vfunc to 'pre_push_buffer'
to allow subclass to change other fields of the buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=760270
2016-01-28 10:02:54 -05:00
Jimmy Ohn
be714c7441 rawparse: fix duplicated format in handle_seek_pull
GstFormat variable are duplicated in handle_seek_pull function.
So we need to move this variable in condition statement.

https://bugzilla.gnome.org/show_bug.cgi?id=753243
2015-08-04 12:29:40 -03:00
Wonchul Lee
aa2ecf5e53 rawparse: send SEEKING query upstream first
Sometimes rawparse does not handle the seeking query
properly, the rawparse should send the query upstream
first. For example, upstream could support seeking in
TIME format (but not in BYTE format), so the BYTE format
seeking query that rawparse sends in push mode would
fail.

https://bugzilla.gnome.org/show_bug.cgi?id=722764
2014-11-22 17:51:01 +00:00
Vootele Vesterblom
9e6377d4b7 rawparse: fix handling of segment event in sink event handler 2014-10-23 16:47:25 +02:00
Sebastian Dröge
1dd83ca6ee rawparse: Check for 0-size after adjusting the size for the frame size
If we don't have a complete raw audio frame we would otherwise still
ask for a 0 sized buffer from the adapter.
2014-10-22 15:07:04 +02:00
Sebastian Dröge
ee0ccf64c5 rawparse: Don't try to retrieve 0 byte buffers from the adapter in multi-frame mode 2014-10-22 14:44:20 +02:00
Vineeth T M
14acb6fb37 gst: remove unnecessary GLIB_DISABLE_DEPRECATION_WARNINGS
There are unnecessary definitions for disabling deprecation warnings.
Since GLIB_DISABLE_DEPRECATION_WARNINGS is not needed anymore in these files,
removing the same.

https://bugzilla.gnome.org/show_bug.cgi?id=737559
2014-10-02 10:51:35 +03:00
Sebastian Dröge
25b5da587d rawparse: Reset negotiation state when going back to READY
After going back to READY we can accept new format settings again.
2014-08-28 11:37:56 +03:00
Sebastian Dröge
ae99043506 rawparse: Use the pad passed to us directly for default event handling 2014-06-22 14:21:35 +02:00
Justin Joy
9bd4a1b2e0 rawparse: default query should be forward on target pad
https://bugzilla.gnome.org/show_bug.cgi?id=731899
2014-06-22 14:21:35 +02:00
Wim Taymans
b15177645b rawparse: fix event order
Delay forwarding the segment event until we pushed caps.
Send STREAM_START in pull mode.
2013-09-12 14:14:03 +02:00
Tim-Philipp Müller
0002f7638b rawparse: send segment event in time format also in push mode
When converting the incoming segment from byte to time format,
don't just convert the start/stop/time values, but also change
the segment format to TIME.

https://bugzilla.gnome.org/show_bug.cgi?id=696361
2013-03-22 19:40:58 +00:00
Vincent Penquerc'h
b6f50c51f3 rawparse: fix caps leak 2013-02-28 16:55:36 +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
Mark Nauwelaerts
b807753453 ext, gst: only activate in pull mode if upstream is seekable 2012-09-11 17:47:33 +02:00
Sebastian Dröge
9c7d7498bb gst: Implement segment-done event 2012-07-05 13:18:47 +02:00
Wim Taymans
dbed726057 update for task api change 2012-06-20 10:40:42 +02:00
Alessandro Decina
cd21a65031 rawparse: fix compile warning 2012-04-05 09:08:02 +02:00
Mark Nauwelaerts
cc7918de19 rawparse: port to 0.11 2012-03-20 20:21:37 +01:00
Wim Taymans
bc38bc27b7 don't pass random pointers to pull_range 2012-03-16 21:47:39 +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
Vincent Penquerc'h
8147669971 plenty: fixup glib deprecations 2012-01-27 15:47:07 +00:00
Vincent Penquerc'h
7521b597f4 various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:08:27 +00:00
Tim-Philipp Müller
10d31a588d Update for pad API changes
GstProbeType, GstProbeReturn and GstActivateMode -> GstPad*
2011-11-01 00:45:25 +00:00
Sebastian Dröge
793a3563fa rawparse: Don't use GST_FLOW_IS_FATAL() 2010-09-21 12:26:36 +02:00
Sebastian Dröge
5c11f80c04 rawparse: Small cleanups and implement SEEKING query 2009-08-08 10:27:52 +02:00
David Schleef
ef5e486fcd Add interlaced support to videoparse
Add a virtual method in rawparse to set buffer flags.  This doesn't
use API from unreleased -base, since it defines GST_VIDEO_BUFFER_TFF
if it's not defined yet.
2009-04-21 18:55:05 -07:00
Wim Taymans
5e88627e2b gst/rawparse/gstrawparse.c: Add simple reverse playback.
Original commit message from CVS:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_push_buffer),
(gst_raw_parse_loop), (gst_raw_parse_handle_seek_push),
(gst_raw_parse_handle_seek_pull):
Add simple reverse playback.
2008-06-09 17:57:08 +00:00
Wim Taymans
409526e5e7 gst/rawparse/gstrawparse.*: Fix seeking, timestamps, duration and some more. Fixes #536309.
Original commit message from CVS:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_reset),
(gst_raw_parse_push_buffer), (gst_raw_parse_chain),
(gst_raw_parse_loop), (gst_raw_parse_sink_activatepull),
(gst_raw_parse_convert), (gst_raw_parse_sink_event),
(gst_raw_parse_handle_seek_push), (gst_raw_parse_handle_seek_pull),
(gst_raw_parse_src_query), (gst_raw_parse_get_fps):
* gst/rawparse/gstrawparse.h:
Fix seeking, timestamps, duration and some more. Fixes #536309.
2008-06-09 12:05:00 +00:00
Sebastian Dröge
252d4044bf gst/rawparse/gstrawparse.c: Handle framesizes > 4096 with multiple frames per buffer correctly in pull mode and handl...
Original commit message from CVS:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_push_buffer),
(gst_raw_parse_loop):
Handle framesizes > 4096 with multiple frames per buffer correctly
in pull mode and handle short reads better.
Also put offset and offset_end on outgoing buffers.
2008-01-19 16:13:31 +00:00
Sebastian Dröge
a0283af747 gst/rawparse/gstrawparse.c: Improve handling of unknown or too small upstream sizes in pull mode.
Original commit message from CVS:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_loop):
Improve handling of unknown or too small upstream sizes in
pull mode.
2008-01-19 15:53:38 +00:00
Sebastian Dröge
c7fcd9d5ae gst/rawparse/gstrawparse.c: Improve debugging a bit and for handling multiple frames per buffer in pull mode choose t...
Original commit message from CVS:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_loop),
(gst_raw_parse_handle_seek_push):
Improve debugging a bit and for handling multiple frames per buffer
in pull mode choose the next smallest multiply of framesize below
4096 instead of always handling 1024 frames.
2008-01-19 15:39:45 +00:00
Sebastian Dröge
19557fc2e6 gst/rawparse/gstrawparse.*: Implement pull mode.
Original commit message from CVS:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_class_init),
(gst_raw_parse_init), (gst_raw_parse_reset),
(gst_raw_parse_set_src_caps), (gst_raw_parse_push_buffer),
(gst_raw_parse_chain), (gst_raw_parse_loop),
(gst_raw_parse_sink_activate), (gst_raw_parse_sink_activatepull),
(gst_raw_parse_change_state), (gst_raw_parse_sink_event),
(gst_raw_parse_handle_seek_push), (gst_raw_parse_handle_seek_pull),
(gst_raw_parse_src_event), (gst_raw_parse_src_query):
* gst/rawparse/gstrawparse.h:
Implement pull mode.
2008-01-18 16:56:19 +00:00
David Schleef
7181404703 ext/musicbrainz/gsttrm.c: Don't emit signiture when going to READY, because it might not be ready.
Original commit message from CVS:
* ext/musicbrainz/gsttrm.c:
Don't emit signiture when going to READY, because it might
not be ready.
* ext/nas/nassink.c:
Remove useless call that sleeps for 5 seconds.  Yup, it calls
sleep(1) 5 times.  Go NAS.
* gst/librfb/gstrfbsrc.c:
* gst/librfb/rfbdecoder.c:
Initialize our debug categories properly.
* gst/rawparse/gstrawparse.c:
Don't register element details for a non-element.  Be much more
rude when subclass doesn't set a pad template (assert!).  Don't
unref the pad template; we don't own it.
* gst/videosignal/gstvideoanalyse.c:
Initialize debug category.
* tests/check/Makefile.am:
Ignore nassink element in tests because it has unavoidable
long timeouts.
2008-01-01 01:18:19 +00:00
Sebastian Dröge
086c50363a gst/rawparse/gstrawparse.c: Always seek on frame boundaries, will produce nothing useful otherwise.
Original commit message from CVS:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_src_event):
Always seek on frame boundaries, will produce nothing useful
otherwise.
2007-12-23 10:34:39 +00:00
Sebastian Dröge
96690aa992 Add new plugin rawparse that contains a base class for raw data parsers and the two elements audioparse and videopars...
Original commit message from CVS:
* configure.ac:
* gst/rawparse/Makefile.am:
* gst/rawparse/README:
* gst/rawparse/gstaudioparse.c: (gst_audio_parse_format_get_type),
(gst_audio_parse_endianness_get_type), (gst_audio_parse_base_init),
(gst_audio_parse_class_init), (gst_audio_parse_init),
(gst_audio_parse_set_property), (gst_audio_parse_get_property),
(gst_audio_parse_update_frame_size), (gst_audio_parse_get_caps):
* gst/rawparse/gstaudioparse.h:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_base_init),
(gst_raw_parse_class_init), (gst_raw_parse_init),
(gst_raw_parse_dispose),
(gst_raw_parse_class_set_src_pad_template),
(gst_raw_parse_class_set_multiple_frames_per_buffer),
(gst_raw_parse_reset), (gst_raw_parse_chain),
(gst_raw_parse_convert), (gst_raw_parse_sink_event),
(gst_raw_parse_src_event), (gst_raw_parse_src_query_type),
(gst_raw_parse_src_query), (gst_raw_parse_set_framesize),
(gst_raw_parse_set_fps), (gst_raw_parse_get_fps),
(gst_raw_parse_is_negotiated):
* gst/rawparse/gstrawparse.h:
* gst/rawparse/gstvideoparse.c: (gst_video_parse_format_get_type),
(gst_video_parse_endianness_get_type), (gst_video_parse_base_init),
(gst_video_parse_class_init), (gst_video_parse_init),
(gst_video_parse_set_property), (gst_video_parse_get_property),
(gst_video_parse_format_to_fourcc),
(gst_video_parse_update_frame_size), (gst_video_parse_get_caps):
* gst/rawparse/gstvideoparse.h:
* gst/rawparse/plugin.c: (plugin_init):
Add new plugin rawparse that contains a base class for raw data
parsers and the two elements audioparse and videoparse that can
be used to parse raw audio and video. These are inspired by the
old videoparse element which the new rawparse plugin deprecates.
2007-12-23 06:22:32 +00:00