Andoni Morales Alastruey
c580ff26a4
hlsdemux: don't leak the first buffer
2011-03-30 09:19:22 +02:00
Andoni Morales Alastruey
ec1d03e1b4
hlsdemux: clean up code a little bit
2011-03-30 09:19:22 +02:00
Andoni Morales Alastruey
1450233a21
hlsdemux: only check for the end of playlist when the queue is empty
2011-03-30 09:19:22 +02:00
Andoni Morales Alastruey
b765260098
hlsdemux: make sure to stop fragments cache if something cancelled it
2011-03-30 09:19:22 +02:00
Andoni Morales Alastruey
fe883740c5
hlsdemux: reuse the code in reset() to free resources in dispose()
2011-03-30 09:19:21 +02:00
Andoni Morales Alastruey
5a40a62ff4
hlsdemux: use a typefinder to set the caps in the source pad
2011-03-30 09:19:21 +02:00
Andoni Morales Alastruey
3fa4b22149
hlsdemux: add more comments and document better all the threads involved
2011-03-30 09:19:21 +02:00
Andoni Morales Alastruey
8a683fc035
hlsdemux: handle 404 from the source element
2011-03-30 09:19:21 +02:00
Andoni Morales Alastruey
cbba7c8bc5
hlsdemux: stop the fetcher in the PAUSED_TO_READY transition, not when disposing()
2011-03-30 09:19:21 +02:00
Andoni Morales Alastruey
b9a0b4ddd4
hlsdemux: make sure we don't stop the fetcher twice from different threads
2011-03-30 09:19:21 +02:00
Andoni Morales Alastruey
6a0aec0639
hlsdemux: query the uri upstream before updating the playlist
2011-03-30 09:19:20 +02:00
Andoni Morales Alastruey
9aff2de625
hlsdemux: Add HTTP live streaming demuxer element
...
Based on previous work by Marc-André Lureau
2011-03-30 09:19:20 +02:00
Thiago Santos
dfe64965d7
jifmux: Add GstTagXmpWriter support
...
Adds GstTagXmpWriter interface to jifmux element
2011-03-29 17:55:58 -03:00
Thiago Santos
3061e8d7c8
qtmux: Adding GstTagXmpWriter interface
...
Adds GstTagXmpWriter interface support to qtmux
2011-03-29 17:55:58 -03:00
David Schleef
4a8ba50cb2
mpegtsmux: Fix 64-bit printf format problem
2011-03-27 13:57:05 -07:00
Tim-Philipp Müller
c10ef4df20
dccpserversink: fix list iteration code
...
Fix suboptimal list iteration code, and add some FIXMEs.
2011-03-27 17:22:52 +01:00
Tim-Philipp Müller
9bd9b8bf72
patchdetect: link against libm
...
Link against libm. Include math-compat.h header. Don't link against
orc, since it's not actually used.
https://bugzilla.gnome.org/show_bug.cgi?id=645711
2011-03-26 12:45:24 +00:00
Jan Schmidt
5111540ceb
Use correct clock when checking whether to write a new PCR
...
The PCR clocks against the 27MHz SCR clock, so check it correctly
to avoid writing the PCR too often.
Partially fixes : #611046
2011-03-26 16:18:22 +11:00
Jan Schmidt
9a26173a57
Rewrite M2TS packet output
...
Make sure we only write the bottom 30 bits of the PCR to the m2ts header.
Don't use floating point computation for it, and remove weird bit fiddling
that messes up the PCR in a way I can't find any
justification/documentation for.
Don't accidentally lose PCR packets from the output.
Fix the description for the m2ts-mode property so it's clear it's a flag,
and which setting does what.
Fixes : #611061 #644429
Partially fixes : #645006
2011-03-26 16:18:22 +11:00
Jan Schmidt
2721e943e2
Fix a FIXME, and some whitespace/code style bits.
...
Also, add a new copyright notice for me.
2011-03-26 16:18:22 +11:00
Sebastian Dröge
1911cb8706
aiffparse: Add float caps to the template caps
2011-03-25 08:33:37 +01:00
René Stadler
379d5adfce
mpegtsdemux: ensure cleanup of pes/section filter helper structures
...
In particular, the section_filter would not be cleared for a private section
stream, leaking a GstAdapter. Seen on bug #645502 .
2011-03-24 22:42:08 +02:00
René Stadler
1d8482c0c6
mpegtsdemux: don't leak pad name
...
As seen on bug #645502 .
2011-03-24 22:41:12 +02:00
René Stadler
cfb22fe985
h264parse: free PPS NAL buffers on cleanup
...
Obviously a typo. Fixes bug #645502 .
2011-03-24 22:39:04 +02:00
René Stadler
3e4e198c5e
h264parse: don't leak all NAL buffers
...
gst_buffer_replace() doesn't steal the ref. Partial fix for bug #645502 .
2011-03-24 21:53:13 +02:00
Janne Grunau
bc91adcf55
mpegtsdemux: fix stream_info descriptor parsing
2011-03-24 15:18:34 +01:00
Arun Raghavan
4dda05ad66
dcaparse: Bump rank to primary+1
...
Seems to work fine with a reasonably wide range of media, so bumping
rank.
2011-03-24 18:43:22 +05:30
Sebastian Dröge
e6a4b71b90
aiffparse: Add support for 32 bit and 64 bit floating point formats
2011-03-24 10:13:47 +01:00
Sebastian Dröge
5c97b148a9
aiffparse: The SSND header is 16 bytes large, not 8 + 16 bytes
...
Fixes bug #645568 and playback in pull mode for sample widths > 8 that
are not a multiple of 2 bytes (e.g. 24 bit samples).
2011-03-24 09:59:20 +01:00
Sebastian Dröge
dbc2f7c4a8
aiffparse: Use gst_util_uint64_scale_ceil() instead of a custom function
2011-03-24 09:29:35 +01:00
David Schleef
0249d55cd8
patchdetect: new element
...
Detects Munsell ColorChecker in a video image and automatically
white balances and color corrects based on the detected values.
This element is only a demonstration at this stage, it needs to
be separated into two elements.
2011-03-23 21:33:49 -07:00
David Schleef
ec6e7c42e2
sdi: Add raw SDI muxing/demuxing elements
2011-03-23 21:33:48 -07:00
Thiago Santos
d2e1f1bdc6
camerabin2: Only mark video capture as finished after EOS
...
Instead of probing the videosink sinkpad for passing EOS, better
to wait for EOS from the bus.
This makes sure the filesink has already processed it and is
ready to close the file. This is used to notify applications
that camerabin2 is idle and can be shut down.
2011-03-23 16:50:12 -03:00
Robert Swain
6a686316d5
basecamerasrc: camerabin2: wrappercamerabinsrc: Add read-only max-zoom prop
...
This is not implemented in any of our real sources to which wrappercamerabinsrc
might connect but this is optional and can be implemented at any time. A
limit on the software zoom level using video{crop,scale} would be arbitrary.
2011-03-23 16:48:11 -03:00
Thiago Santos
aa7b962891
camerabin2: Improve idle property usage
...
Use resource warning messages to notify camerabin2 that a capture
as aborted or couldn't be started, making it decrement the
processing counter and making the idle property more reliable.
2011-03-23 16:13:32 -03:00
Thiago Santos
6913db30f8
camerabin2: No need to force audiosrc to null on stop_capture
...
Setting the audio source to null isn't needed and it could
make the EOS that is still flowing be dropped if autoaudiosrc
is used because its pads go flushing before the EOS gets pushed
from the real source.
2011-03-23 16:13:32 -03:00
Thiago Santos
3dc9a0e9c6
camerabin2: Adds new idle property
...
Adds idle property (just like camerabin1), a boolean that
is true when camerabin2 isn't processing and can be shut down
without losing data.
2011-03-23 16:13:32 -03:00
Thiago Santos
19628ec3f3
camerabin2: Adding properties for image capture settings
...
Adds properties for selecting image encoder and muxer for
image capture
2011-03-23 16:13:32 -03:00
Thiago Santos
223697c2b9
camerabin2: More debug log
...
Small refactoring and adding more debug log to encodebin related
paths
2011-03-23 16:13:32 -03:00
Arun Raghavan
ec23bc2768
dcaparse: Expose frame size in caps
...
This exports the size of the frame (number of bytes from one sync point
to the next) as the "frame_size" field in caps.
2011-03-23 22:42:16 +05:30
Arun Raghavan
e83f53dbed
dcaparse: Expose block size in caps
...
This sets the "block_size" field on caps as the number of samples
encoded in one frame.
2011-03-23 22:42:16 +05:30
Mark Nauwelaerts
c558a066fb
qtmux: use running time for synchronization
...
See also #432612 .
2011-03-22 20:53:08 +01:00
Mark Nauwelaerts
82a152533d
h264parse: chain up to parent finalize
2011-03-22 13:50:27 +01:00
Chris E Jones
1c4f32b279
scaletempo: Correctly handle newsegment events with stop==-1
...
Fixes bug #645420 .
2011-03-22 13:46:42 +01:00
David Schleef
a02c4d6c4c
zebrastripe: Add new GstVideoFilter2 base class
...
An experiment. Not completely happy with it.
2011-03-21 13:42:37 -07:00
Mart Raudsepp
b69450af92
mpegtspacketizer: Handle all ISO8859-x encodings in get_encoding()
...
... according to ETSI EN 300 468, "Selection of character table"
2011-03-21 19:57:39 +01:00
Janne Grunau
3ebc8a43e2
mpegtsdemux: do not try to parse packets containing section data as PES
2011-03-21 19:30:17 +01:00
Janne Grunau
bf046719a2
mpegtsdemux: add stream types for DSM CC A, B, C, D
2011-03-21 19:27:08 +01:00
Janne Grunau
74a8e966f5
mpegtsdemux: fix playback if PMT is seen before PAT
...
The stream for the PMT pid has to be cleared since the version checking
in the packetizer won't emit the same PMT again otherwise.
2011-03-21 19:24:08 +01:00
Andreas Frisch
5867b69aa3
h264parse: Set parsed=true in the srcpad caps
...
Fixes bug #645412 .
2011-03-21 16:52:02 +01:00
Benjamin Gaignard
8c48375817
fpsdisplaysink: add "frames-dropped" and "frames-rendered" properties
...
https://bugzilla.gnome.org/show_bug.cgi?id=643469
2011-03-18 12:46:32 +00:00
Sebastian Dröge
bdf51f12d2
dvbsuboverlay: Remove some unused variables in the I420 blending function
2011-03-18 09:33:26 +01:00
Raimo Järvi
9e7d1ba888
dvbsuboverlay: Fix using alpha values in blitting.
...
Use each pixel's own alpha value instead of average alpha value when
calculating color components. Fixes bug #639763 .
2011-03-18 09:27:08 +01:00
Tim-Philipp Müller
d8f5745186
mpegaudioparse: add FIXME for making the base class use xing seek tables better
2011-03-17 20:52:07 +00:00
Lasse Laukkanen
fbe4f5f610
camerabin: Add an assertion to preview pipeline generation
...
Adds an assertion in case the preview pipeline is NULL and also
explicitly initializes preview caps to NULL for clarity.
2011-03-15 09:18:31 -03:00
Sebastian Dröge
48e8c093dc
dcaparse: Add depth and endianness to the caps
...
Some decoders can only handle specific endianness or a fixed
depth and this allows better negotiation.
Fixes bug #644208 .
2011-03-14 18:26:53 +01:00
Tim-Philipp Müller
0276663d0c
mpegtsmux: fix broken pad caps refcount handling
...
gst_caps_make_writable() takes ownership of the caps passed in, but
the caller doesn't own a ref to the caps here, because GST_PAD_CAPS
doesn't return a ref. Looks like the code relied on a caps leak
elsewhere for this to work properly.
2011-03-14 12:42:33 +00:00
Tim-Philipp Müller
70e71562b7
mpegtsmux: don't error out if downstream fails to handle the newsegment event
...
If downstream doesn't handle the newsegment event, don't error out (esp.
not without posting a proper error message on the bus), but just continue.
If there's a problem, we'll find out when we start pushing buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=644395
2011-03-14 12:42:33 +00:00
Andreas Frisch
aac497b635
mpegtsmux: remove unused variable
2011-03-14 12:42:33 +00:00
Thiago Santos
ba878f7427
camerabin2: Set queues to silent
...
Optimize a little by setting queues to silent
2011-03-11 18:41:16 -03:00
Thiago Santos
b2f39d1844
camerabin2: Refactoring encodebin usage
...
Refactor some common code regarding encodebin usage in camerabin2
2011-03-11 18:40:52 -03:00
Thiago Santos
79bb475abe
camerabin2: Some memleak fixes
2011-03-11 18:26:43 -03:00
Robert Swain
5fd15521e2
basecamerasrc: wrappercamerabinsrc: camerabin2: Expose/add floating point
...
zoom property
2011-03-11 18:26:43 -03:00
Robert Swain
b38bf37218
wrappercamerabinsrc: Remove dead definition
...
This definition is unused in this code.
2011-03-11 18:26:43 -03:00
Thiago Santos
18602e6e4e
wrappercamerabinsrc: Avoid clearing recording caps
...
When recording 2 videos in sequence with the same video-capture-caps,
the second video would get a not-negotiated error because the
src caps were being cleared without any intention of
renegotiating it back to the requested capture caps.
This patch avoids this caps reset procedure unless a new
caps was set.
2011-03-11 18:26:42 -03:00
Sebastian Dröge
935675a060
diracparse: Add correct template caps and element details
2011-03-11 14:37:06 +01:00
Tim-Philipp Müller
90c96fc17b
camerabin2: don't leak element name strings
...
Don't leak string copy returned by gst_element_get_name(). Also, check
for certain elements by checking the plugin feature / factory name, not
the assigned object name.
2011-03-11 10:34:23 +00:00
Tim-Philipp Müller
53a9b430f3
build: remove more tarkin/theoraexp build cruft
2011-03-11 10:26:01 +00:00
David Schleef
d247cf8e6d
theora,tarkin: Remove ancient unused code
2011-03-10 13:44:16 -08:00
Mark Nauwelaerts
e76fc42417
qtmux: provide for PTS metadata when so configured
...
... and not only when sort-of feeling like it.
In any case, if it turns out all really is in order,
and presumably DTS == PTS, then no ctts will be produced anyway.
2011-03-10 17:06:31 +01:00
Mark Nauwelaerts
4f8f8407a0
qtmux: also track original PTS buffer timestamp in reorder dts-method
2011-03-10 17:06:12 +01:00
Thiago Santos
3d1a7b0021
camerabin2: Force EOS on audio src
...
We can't rely on audio sources pushing EOS when going PAUSED->READY
because this is a basesrc bahavior and when used inside autoaudiosrc
the ghostpad goes flushing before the real source pushes the EOS,
so it is dropped.
2011-03-10 08:56:48 -03:00
Thiago Santos
42ade52136
wrappercamerabinsrc: No need for starting segment
2011-03-10 08:56:48 -03:00
Thiago Santos
ba16894da3
gstcamerabin2: Set encodebin's videorate and audiorate properties
...
Listen to encodebin's element-added signal to be able to set
skip-to-first on both audiorates and videorates.
2011-03-10 08:56:48 -03:00
Thiago Santos
fc9c9b0f24
camerabin2: Handle audio elements states
...
Audio elements are put into bin only when needed, so we need
to be careful with their states as camerabin2 won't manage
them if they are outside the bin.
Also we should reset their pad's flushing status before
starting a new capture.
2011-03-10 08:56:48 -03:00
Thiago Santos
8fe75f8067
camerabin: adding audio related properties
...
Adds 4 audio properties related to audio recording
* audio-src
* mute
* audio-supported-capture-caps
* audio-capture-caps
2011-03-10 08:56:48 -03:00
Thiago Santos
abdb0bbfa6
camerabin2: Adding audio support for video recordings
...
Adds an audio source and audio capsfilter/queue/convert, creating
a new branch on camerabin2 that is used to feed encodebin with
audio buffers for video recording.
2011-03-10 08:56:47 -03:00
Thiago Santos
992917b6aa
camerabin2: Add logging for stop-capture signal
2011-03-10 08:42:01 -03:00
Thiago Santos
bcc6d99bbe
camerabin2: Add viewfinder caps related properties
...
Adds properties to check what caps are supported on the
viewfinder (from the camerasrc viewfinder pad) and another
one to set a caps for the viewfinder.
2011-03-10 08:42:01 -03:00
Thiago Santos
582c150658
wrappercamerabinsrc: Fix newsegment pushing
...
Send update newsegments instead of non-update ones
for the video branch when starting recordings
2011-03-10 08:42:01 -03:00
Thiago Santos
d3a5058611
camerabin2: Set some queue's properties
...
Sets viewfinder queue to leaky and tell image branch
queue to don't care about durations
2011-03-10 08:42:01 -03:00
Thiago Santos
4624e88b08
wrappercamerabinsrc: Ready is enough for forcing a caps change
2011-03-10 08:42:01 -03:00
Thiago Santos
b56d9d3ba0
wrappercamerabinsrc: Check for downstream caps on first captures
...
Use video_renegotiate and image_renegotiate booleans to make
the videosrc negotiate the capture caps on the first capture because
the caps might be set before wrappercamerabinsrc goes into PLAYING
and pads drop the internal renegotiate event.
This is required as the output-selector is using the 'none' negotiation
mode.
2011-03-10 08:42:01 -03:00
Thiago Santos
4da517ae87
wrappercamerabinsrc: Avoid fixating capture caps
...
When setting the internal capsfilter caps for capture we should put
the full caps instead of trying to fixate it ourselves. This way we let
the elements (and mostly the source) select the best format instead
of defaulting to what the pad fixation function picks.
2011-03-10 08:42:00 -03:00
Thiago Santos
b3abf91232
camerabin2: Moving preview image properties to basecamerasrc
...
Moves preview image related properties to basecamerasrc as that
should be present on all camerasrcs
2011-03-10 08:42:00 -03:00
Thiago Santos
0255584d90
camerabin2: Move preview helper functions to basecamerabinsrc
...
Move preview helper functions to baseacamerabinsrc so they can
be reused by multiple camerabin2 sources.
2011-03-10 08:42:00 -03:00
Thiago Santos
060611b060
camerabin2: Add viewfinder-sink property
...
Adds a property to set the viewfinder's sink of camerabin2
2011-03-10 08:42:00 -03:00
René Stadler
64db3d805f
fieldanalysis: fix double free() crashes
2011-03-09 13:19:50 +02:00
Byeong-ryeol Kim
acb66eb7f4
videofilters: link to libm
...
https://bugzilla.gnome.org/show_bug.cgi?id=644176
2011-03-08 11:19:41 +00:00
David Schleef
82c60bdc44
zebrastripe: New element
...
Adds zebra stripes to overexposed video.
2011-03-07 00:14:29 -08:00
Edward Hervey
8d050d2116
videoparsers: Fix unitialized variables
...
Makes macosx compiler happy
2011-03-04 12:15:32 +01:00
Edward Hervey
605352f118
rtpvp8: Fix unitialized variable
...
Makes macosx compiler happy.
2011-03-04 12:15:32 +01:00
Tim-Philipp Müller
a4b4eeb86c
fieldanalysis: add backup files for compiling without orc
2011-03-04 09:25:49 +00:00
Tim-Philipp Müller
e9b29e9dc7
h263parse: allocate H263Params struct on the stack
...
It's flat and not kept around for longer.
2011-03-03 08:51:28 +00:00
Tim-Philipp Müller
88cd418bc9
h263parse: minor clean-ups
...
const-ify some arguments and re-indent header a little.
2011-03-03 08:51:21 +00:00
benjamin gaignard
588db0bf51
fpsdisplay: fix sync property default value
2011-03-03 09:51:11 +02:00
Robert Swain
14fb720149
fieldanalysis: Add fieldanalysis element
...
This element analyses video buffers to identify if they are progressive,
interlaced or telecined and outputs buffers with appropriate flags for a
downstream element (which will be the deinterlace element, after some
forthcoming modifications) to be able to output progressive frames and
adjust timestamps resulting in a progressive stream.
2011-03-01 18:45:52 +01:00
David Schleef
a68137c4dc
Revert "aacparse: allow parsed frames on sink pad"
...
This reverts commit e49b89d5c5
.
2011-02-26 13:55:51 -08:00
David Schleef
0bb6b6f245
colorspace: set dithering enum directly
2011-02-25 20:00:41 -08:00
David Schleef
afc7483247
colorspace: Add support for r210
2011-02-25 20:00:41 -08:00
David Schleef
e49b89d5c5
aacparse: allow parsed frames on sink pad
2011-02-25 20:00:41 -08:00
Edward Hervey
715529c963
Revert "Check that collectpads exists before removing pad"
...
This reverts commit 6d8740476c
.
Depends on a core commit that was reverted
2011-02-21 12:14:59 +01:00
David Schleef
6d8740476c
Check that collectpads exists before removing pad
...
The core now calls release pad from finalize, at which point
the collectpads might have already been freed.
2011-02-20 23:58:26 -08:00
David Schleef
cad8a864ff
colorspace: Fix YUV->RGB matrixing
2011-02-20 23:03:47 -08:00
David Schleef
ab953ddf2f
colorspace: Add dithering
...
Dithering only happens when a 16-bit-per-channel format is
involved.
2011-02-20 23:03:47 -08:00
David Schleef
f64b66ab23
colorspace: fix a few formats
2011-02-20 14:15:28 -08:00
David Schleef
6fcdba78a8
colorspace: Add 16-bit-per-channel handling
2011-02-20 12:39:38 -08:00
David Schleef
3192e69c0c
colorspace: Fix memleak
2011-02-20 12:17:59 -08:00
Tim-Philipp Müller
493082abd7
videoparsers: change plugin filename from libgsth263parse* to libgstvideoparsersbad*
...
Due to a registry bug you may need to manually remove your
registry file to make the new plugin appear with >0 features.
2011-02-18 15:27:10 +00:00
Tim-Philipp Müller
6e321d2d87
mpegtspacketizer: fix log message printf format
2011-02-18 15:17:17 +00:00
Tim-Philipp Müller
b96cf817a0
videoparsers: fix build
...
Add includes and link against new libgstbaseparse in the
build tree.
2011-02-18 12:39:55 +00:00
David Schleef
de968b6c7d
mpegtsdemux: Fix disting of headers
2011-02-17 14:43:38 -08:00
David Schleef
e9ea237d03
videoparsers: Add dirac parser
2011-02-17 14:43:35 -08:00
David Schleef
fa3ff9e5ed
baseparse: Create baseparse library
2011-02-17 13:57:56 -08:00
David Schleef
0a786810af
dvdsubdec: make up clut values if they weren't set
2011-02-17 13:51:04 -08:00
David Schleef
455aaa3fbd
mpegtsmux: fix release_pad
...
Remove bogus freeing of pad element_private data that we
never set (collectpads uses it, which causes confusion here).
Also, check that our collectpads instance exists before using
it. Partial fix for #636011 .
2011-02-17 13:47:52 -08:00
Janne Grunau
92d5ea2926
mpegtsdemux: use G_GUINT64_FORMAT as format specifier for guint64
...
fixes compilation on 32bit
2011-02-17 12:51:07 -08:00
David Schleef
df1a470d5d
colorspace: Fix memory leak
2011-02-17 12:45:17 -08:00
Janne Grunau
535bf57d1f
mpegtsdemux: relicense gstmpegdefs.h, gstmpegdesc.h and gstmpegdesc.c to LGPL only
...
with permission from the license header:
"""
This library is licensed under 2 different licenses and you
can choose to use it under the terms of either one of them. The
two licenses are the MPL 1.1 and the LGPL.
"""
2011-02-17 17:57:17 +01:00
Janne Grunau
22ecf13e42
mpegtsdemux: add MPEG TS demuxer rewrite from Edward Hervey
...
with contributions from Miquel Angel Farre Guiu and Zaheer Abbas Merali
2011-02-17 17:56:59 +01:00
Mark Nauwelaerts
2bb835f69a
baseparse: tune QUERY_SEEKING response
...
Even if we currently do not have a duration yet, assume seekable if
it looks like we'll likely be able to determine it later on
(which coincides with needed information to perform seeking).
2011-02-17 14:13:08 +01:00
Mark Nauwelaerts
99baf8ae17
baseparse: tune QUERY_SEEKING response
...
Even if we currently do not have a duration yet, assume seekable if
it looks like we'll likely be able to determine it later on
(which coincides with needed information to perform seeking).
Fixes #641047 .
2011-02-17 13:00:59 +01:00
Teemu Katajisto
7e9fb16c48
camerabin: application element memory leak fixes
...
If videobin/imagebin was never set to READY state the ownership
of elements created and set by application were never taken by
bin and therefore gst_object_sink is called for these elements
before unreffing (they may still be in floating state and not
unreffed properly without sinking first)
2011-02-11 09:22:59 -03:00
Arun Raghavan
3f683e0288
baseparse: Update min/max bitrate before first posting them
...
This avoids posting an initial min-bitrate of G_UINTMAX and max-bitrate
of 0.
https://bugzilla.gnome.org/show_bug.cgi?id=641857
2011-02-09 18:30:51 +01:00
Arun Raghavan
cfc3f5e43b
mpegaudioparse: Post CBR bitrate as nominal bitrate
...
Even if VBR headers are missing, we can't guarantee that a stream is in
fact a CBR stream, so it's safer to let baseparse calculate the average
bitrate rather than assume a CBR stream. However, in order to make
/some/ metadata available before the requisite number of frames have
been parsed, this posts the bitrate from the non-VBR headers as the
nominal bitrate.
https://bugzilla.gnome.org/show_bug.cgi?id=641858
2011-02-09 18:30:48 +01:00
Luciana Fujii Pontello
fa45b1fe2d
camerabin: Always take photo when preview-caps is set
...
When filename is not set, but preview-caps is set, take the photo and
send its preview.
2011-02-09 13:42:07 +02:00
Luciana Fujii Pontello
2522a672a9
camerabin: Events with select-all in input-selector
...
When select-all was set, input-selector wasn't handling upstream events.
Now input-selector forwards the event to all of its sink pads. This
changes the input-selector internal to camerabin until it is replaced
with a better solution.
2011-02-09 13:42:06 +02:00
Thiago Santos
15366355a4
wrappercamerabinsrc: Do not re-set the clock if it is null
...
Avoids not needed work and doesn't assert when trying to
unref the null reference
2011-02-08 11:24:59 -03:00
Mark Nauwelaerts
c85e8e8015
amrparse: a valid amr-wb frame should not have reserved frame type index
...
See #639715 .
2011-02-07 19:59:21 +01:00
Thiago Santos
186d317a2f
imagecapturebin: Fix property setting
...
Set the property on the child and not on itself causing infinite
looping
2011-02-03 19:10:07 -03:00
Thiago Santos
48b05a3002
wrappercamerabinsrc: Fix preview messages
...
Image previews where being posted in sync with the buffers
timestamps, this makes no sense as previews should be posted ASAP.
Also adds some debugging messages.
2011-02-03 19:09:20 -03:00
Thiago Santos
1a62d9374b
wrappercamerabinsrc: Handle src state change to avoid losing timestamps
...
Camerabin2 uses state changes to force the source to renegotiate its
caps to the capture formats. The state changes makes the source lose
its clock and base_time, causing it to stop timestamping the buffers.
We still need a proper way to make sources renegotiate its caps, so this
patch is a hack to make the source continue timestamping buffers even
after changing state. The patch works by getting the clock and base
time before doing the state change to NULL and setting them back
after putting it to PLAYING again. It also cares to drop the first
new segment after this state change.
2011-02-03 19:09:20 -03:00
Thiago Santos
869a61343c
camerabin2: Add preview-filter property
...
Adds a property to select a custom element for preview pipeline
buffers processing
2011-02-03 19:09:20 -03:00
Thiago Santos
675632b382
camerabin2: Add custom filter properties
...
Adds custom filter properties for camerabin2. Custom filters
can be added to video/image/preview branches.
2011-02-03 19:09:20 -03:00
Edward Hervey
4724ecfd06
camerabin: Initialize variables
...
Makes compilers happy
2011-02-03 16:24:24 +01:00
Mark Nauwelaerts
c32a99559d
dccp: use socklen_t where appropriate rather than specific type
...
In particular, fixes Cygwin build where socklen_t is defined as int
in line with native win32 api definition.
2011-02-01 21:36:41 +01:00
Tim-Philipp Müller
17c2b30e9b
rtpvp8: also link against libgstbase-0.10 for adapter and bit reader API
...
https://bugzilla.gnome.org/show_bug.cgi?id=641178
2011-02-01 20:05:23 +00:00
Tim-Philipp Müller
149cca83d0
id3mux: map new GST_TAG_ENCODED_BY to ID3v2 TENC frame
...
https://bugzilla.gnome.org/show_bug.cgi?id=627268
2011-02-01 14:40:54 +00:00
Tim-Philipp Müller
c57a9e4ba9
videoparsers: dist h264parse.h, fixing make distcheck
...
Spotted by Nathanael D. Noblet
2011-01-31 17:45:19 +00:00
Teemu Katajisto
ad019102e5
camerabin: optimize setting new caps for preview image pipeline
...
Avoid re-creating and linking of preview image pipeline when
setting new preview image caps. Backported from camerabin2.
https://bugzilla.gnome.org/show_bug.cgi?id=639502
2011-01-31 12:25:55 -03:00
Tim-Philipp Müller
9ae14406e8
rtpvp8: fix LIBS and CFLAGS order in Makefile.am
2011-01-30 17:08:11 +00:00
Sjoerd Simons
216189ea36
rtpvp8depay: Accept packets with only one byte of data
...
When fragmenting partions it can happen that an RTP packet only caries 1
byte of RTP data.
2011-01-30 14:52:00 +00:00
Sjoerd Simons
0bee149c74
rtpvp8pay: Treat the frame header just like any other partition
...
When setting up the initial mapping just act as if the global frame
information is another partition. This saves special-casing it later in
the actual packetizing code.
2011-01-30 14:51:47 +00:00
Sjoerd Simons
39a16a3233
rtpvp8: Add simple payloaders and depayloaders for VP8
...
Minimal implementation of http://www.webmproject.org/code/specs/rtp/ ,
version 0.3.2
2011-01-30 14:51:15 +00:00
Mark Nauwelaerts
d0b942980e
videoparsers: add h264parse
...
Functionally equivalent to (legacy)h264parse and re-uses the latter's low
level NAL parsing, but otherwise based on GstBaseParse, and replacing
some property configuration with caps negotiation.
2011-01-28 12:50:25 +01:00
Mark Nauwelaerts
0df8bb33a6
h264parse: rename to legacyh264parse
2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
0c5d139ba7
h263parse: move to videoparsers and separate plugin registration
2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
1664b3000f
h263parse: update to latest baseparse
2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
46308f8c53
h263parse: shuffle code to untangle h263parse and parameter parsing
2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
daed6713db
h263parse: provide for proper debug category, min frame size and code style
2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
5ad0a3c641
h263parse: remove redundant get_caps
...
.. as src pad already set to use fixed_caps
2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
0e6fbe2420
h263parse: simplify valid_frame parsing
...
... considering that baseparse takes care of skipping etc
2011-01-28 12:16:59 +01:00
Arun Raghavan
b33b88e4bb
h263parse: Add an h263parse element
...
This adds an h263parse element for parsing H.263 streams, breaking them
up into frame-sized buffers, and exporting metadata such as profile and
level.
https://bugzilla.gnome.org/show_bug.cgi?id=622276
2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
8e4b8b813d
ac3parse: improve handling of dependent substream frames
...
In particular, timestamps of these should track main-stream timestamps.
2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
7f805f17b2
baseparse: tune default duration estimate update interval
...
Rather than a fixed default frame count, estimate frame count to aim for
an interval duration depending on fps if available, otherwise use old
fixed default.
2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
479865c1b3
baseparse: reverse playback; mind keyframes for fragment boundary
2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
57babfca39
amrparse: properly check for sufficient available data prior to access
2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
3ba3339993
baseparse: ensure non-empty candidate frames
2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
ac8080f003
baseparse: clarify some debug statements
2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
16342223ee
baseparse: properly track upstream timestamps
...
... rather than with a delay.
2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
b97e560f1a
baseparse: need proper frame duration to obtain sensible frame bitrate
2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
559b3ead93
baseparse: proper initial values for index tracking variables
2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
f3da619dd2
baseparse: arrange for consistent event handling
2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
18b347296c
baseparse: header style cleaning
2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
2c872ad913
baseparse: provide some more initial frame metadata in parse_frame
...
... and document accordingly.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
6a45c4f65e
baseparse: refactor passthrough into format flags
...
Also add a format flag to signal baseparse that subclass/format can provide
(parsed) timestamp rather than an estimated one. In particular, such "strong"
timestamp then allows to e.g. determine duration.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
1c89488c50
baseparse: introduce a baseparse frame to serve as context
...
... and adjust subclass parsers accordingly
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
400198b2cd
baseparse: restrict duration scanning to pull mode and avoid extra set_caps call
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
3e9d5c4bf8
baseparse: update some documentation
...
Also add some more debug.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
829507b650
baseparse: allow increasing min_size for current frame parsing only
...
Also check that subclass actually either directs to skip bytes or
increases expected frame size to avoid going nowhere in bogus
indefinite looping.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
18b69e9320
baesparse: fix refactor regression in loop based parsing
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
f4f7306e37
baseparse: pass all available data to subclass rather than minimum
...
Also reduce some adapter calls and add a few debug statements.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
e54e2a9616
baseparse: fix reverse playback handling
2011-01-28 12:16:56 +01:00
Mark Nauwelaerts
695c9599f4
baseparse: minor typo and debug statement cleanup
2011-01-28 12:16:56 +01:00
Mark Nauwelaerts
fcd0f5cb7a
baseparse: reduce locking
...
... which is either already mute and/or implicitly handled by STREAM_LOCK.
2011-01-28 12:16:56 +01:00
Thiago Santos
68bff61732
camerabin2: Do not forget to unref some stuff
...
Cleanup properly by unrefing the encoding profile and preview caps
2011-01-26 14:31:13 -03:00
Thiago Santos
b66dde5746
camerabin2: Add names to some elements
...
Adds names to instances of some elements to make debugging easier
2011-01-26 14:31:13 -03:00
Thiago Santos
6395b45908
camerabin2: Handle videosink states more carefully
...
When going to ready, camerabin2 could create an empty file
if the videosink was put to ready. This patch only puts videosink
to ready on the PAUSED_TO_READY state change if it is on PAUSED
or PLAYING.
2011-01-26 14:31:12 -03:00
Mark Nauwelaerts
3da135ce02
baseparse: avoid loop in frame locating interpolation
2011-01-26 17:16:49 +01:00
Thiago Santos
25062fc384
wrappercamerabinsrc: Remove unused macro
2011-01-24 18:36:58 -03:00
Thiago Santos
a791f5070c
wrappercamerabinsrc: Check the start time of buffers
...
Be careful when trying to create a newsegment event to avoid
start times of -1 from invalid buffer timestamps
2011-01-24 18:05:20 -03:00
Vincent Penquerc'h
c3d05d6006
dvdspu: don't write clipped lines to the output buffer
...
We may not increment the output pointer, but it'll still be just
off the end of the allocated area.
https://bugzilla.gnome.org/show_bug.cgi?id=602847
2011-01-24 19:47:46 +01:00
Thiago Santos
4ec3189575
camerabin2: Update porting file
...
Adds porting information about using encodebin on camerabin2
2011-01-24 14:50:30 -03:00
Thiago Santos
bccae0f994
camerabin2: Add image-done message
...
Post an image-done message when a new image is saved to disk
2011-01-24 14:50:30 -03:00
Thiago Santos
a715b46c7f
camerabin2: Implement tagsetter interface
2011-01-24 14:50:30 -03:00
Thiago Santos
ccb1960a42
camerabin2: Add a property to select the encoding profile
...
Adds a video-profile to allow selecting which encoding profile
to use for video recordings
2011-01-24 14:50:29 -03:00
Thiago Santos
e5f267f682
camerabin2: Removing videorecordingbin
...
Removing videorecordingbin as we now use encodebin for it
2011-01-24 14:50:29 -03:00
Thiago Santos
f1d02cf0c0
camerabin2: Move to encodebin
2011-01-24 14:50:29 -03:00
Thiago Santos
31dbc2eeba
wrappercamerabinsrc: Set output-selector pad-negotiation-mode to none
...
Use output-selector none negotiation mode as it was the default before
the last changes. This likely needs to be fixed to use 'active' on
camerabin2
2011-01-24 14:50:29 -03:00
Thiago Santos
3a495eaafc
wrappercamerabinsrc: Handle state change failures
...
When its internal element fails to change state, don't act as
if succeeded.
2011-01-24 14:50:29 -03:00
Thiago Santos
9863feb328
camerabin2: Implement previewing
...
Implement previewing functionality using 2 properties. A boolean
(post-previews) that indicates if previews should be posted, and a
GstCaps (preview-caps) to provide the desired preview caps.
wrappercamerabinsrc implements previewing by supplying the captured
image to a pipeline to adapt it to the required caps before posting.
2011-01-24 14:50:29 -03:00
Thiago Santos
aa671439e1
camerabin2: Add methods for preview image message posting
...
Adds a helper struct and functions for implementing a preview message
in camerabin2.
2011-01-24 14:50:29 -03:00
Thiago Santos
bc1f57a645
wrappercamerabinsrc: Use drop_eos function from camerabingeneral
...
There was already a event probe function for dropping EOS on
camerabingenereal, so use that instead of replicating the code
2011-01-24 14:50:28 -03:00
Thiago Santos
0b3ad60269
camerabin: add names for more elements
2011-01-24 11:07:28 -03:00
Mark Nauwelaerts
289cd65abd
flacparse: mind gst_buffer_unref not liking NULL
...
Fixes #639950 .
2011-01-19 18:41:59 +01:00
Thiago Santos
cbbdfee98a
mxfdemux: Fix unitialized variable warning
2011-01-18 18:18:03 -03:00
Thiago Santos
a6a982e8be
audioparsers: baseparse: Be careful to not lose the event ref
...
Don't unref the event if it hasn't been handled, because the caller
assumes it is still valid and might reuse it.
I ran into this problem when transcoding an AVI (with mp3 inside)
to gpp.
https://bugzilla.gnome.org/show_bug.cgi?id=639555
2011-01-15 13:48:26 -03:00
Mark Nauwelaerts
b496bf923c
qtmux: set src pads when starting file
...
... rather than at _init time, so they are also available following a
pad (de)activation cycle.
https://bugzilla.gnome.org/show_bug.cgi?id=639338
2011-01-14 00:38:56 +00:00
Luciana Fujii Pontello
b55775a9d3
camerabin: Enable conversion flags
...
Camerabin default should just work, so we need to enable audio, image
and video conversions.
https://bugzilla.gnome.org/show_bug.cgi?id=639456
2011-01-13 18:15:13 -03:00
Tim-Philipp Müller
aba0899b19
dcaparse: fix sync word for 14-bit little endian coding
...
Fix copy'n'paste bug that made us look for the raw little endian
sync word twice instead of looking for the 14-bit LE sync word
as well. Fixes parsing of such streams (see #636234 for sample file).
2011-01-13 17:10:13 +00:00
Tim-Philipp Müller
095eaa1752
docs: minor baseparse docs/comment fixes
...
Remove copy'n'paste leftovers.
2011-01-13 16:28:24 +00:00
Teemu Katajisto
85a355fd84
camerabin: set pad-negotiation-mode to active for output-selector
...
Fixes #639413 .
2011-01-13 15:00:21 +02:00
Stefan Kost
f9dfd1effb
asfmux: use g_error_free instead of g_free
2011-01-12 16:56:28 +02:00
Edward Hervey
a2b5e7863e
y4mdec: Default colorspace is I420
...
https://bugzilla.gnome.org/show_bug.cgi?id=639296
2011-01-12 12:00:24 +01:00
Edward Hervey
ee0c9ae2f3
mpegtspacketizer: Don't forget the GType when using caps_new_simple()
2011-01-10 19:11:22 +01:00
Tim-Philipp Müller
d4441a3025
mpegtsdemux: fix silly way of creating caps
2011-01-10 11:25:47 +00:00
Karol Sobczak
0b4dfa685d
mpegtsdemux: fix re-syncing on invalid data after seek
...
Or possibly even at startup. If we couldn't find a sync within
the first few bytes, we'd just push more data into the adapter
but never discard any of the invalid data at the beginning, so
would never be able to re-sync.
https://bugzilla.gnome.org/show_bug.cgi?id=639063
2011-01-10 11:18:52 +00:00
Tim-Philipp Müller
b700377e22
camerabin: use private input-selector that still has "select-all" property
...
The "select-all" property was removed when input-selector was moved
to core, but camerabin uses this, so make camerabin use a private
copy until a better fix is found.
2011-01-08 02:43:41 +00:00
Tim-Philipp Müller
f6591e5938
smoothwave: remove old 0.8 example containing code with sideeffects in g_return_if_fail()
...
May just as well remove it rather than fix it, so it doesn't show
up in greps for this any longer.
2011-01-08 00:20:35 +00:00
Tim-Philipp Müller
e5f1cdd0e9
Revert "mpegvideoparse: fix timestamp generation"
...
This reverts commit 2271608c43
.
This patch needs more work so it doesn't cause grave playback
regressions (multi-second freezes) with some files that have
slightly broken timestamps but play fine everywhere else.
https://bugzilla.gnome.org/show_bug.cgi?id=636279
https://bugzilla.gnome.org/show_bug.cgi?id=632222
2011-01-07 18:49:02 +00:00
Tim-Philipp Müller
89fed534e8
mpegtsdemux: fix PAT and PMT info-related object leaks
2011-01-07 02:12:11 +00:00
Edward Hervey
6b9e2628b7
jpegparse: Fix unitialized variable on macosx
2011-01-06 12:51:27 +01:00
Edward Hervey
0a55306c40
jp2kdecimator: Fix unitialized variables on macosx
2011-01-06 12:50:14 +01:00
Edward Hervey
063be2f972
flacparse: Fix unitialized variable on macosx
2011-01-06 12:49:43 +01:00
David Schleef
84406fde30
y4mdec: Fix copyright
2011-01-05 18:27:14 -08:00
Edward Hervey
c627cd40e7
y4m: Fix unitialized variables on macosx
2011-01-05 16:43:45 +01:00
Tim-Philipp Müller
ed8e27b237
dvbsuboverlay: some more minor clean-ups
2011-01-05 13:44:04 +00:00
Janne Grunau
43bfb0009a
dvbsuboverlay: fix leak of "clear screen" DVBSubtitles structs
2011-01-04 15:06:17 +00:00
Janne Grunau
9f02f693de
dvbsuboverlay: fix two minor deinitialization memory leaks
2011-01-04 13:51:55 +00:00
Tim-Philipp Müller
eec67aeee6
camerabin2: fix cflags and libs order in Makefile.am
2011-01-03 23:49:51 +00:00
Janne Grunau
994156c1b8
dvbsuboverlay: remove unnecessary RGB -> YUV conversion by using YUV palettes
...
the default CLUTs still use RGB -> YUV conversions since the standard defines
them as RGBA values.
2011-01-03 20:23:24 +00:00
Mark Nauwelaerts
38c9342978
qtmux: adjust nasty case timestamp tracking
...
That is, all sorts of problems arise with re-ordered input timestamps that
tend to defy automagic handling for every case, so allow for a few variations
that can be tried depending on circumstances.
Also try to document accordingly.
Also fixes #638288 .
2011-01-03 17:40:52 +01:00
Felipe Contreras
460785352c
qtmux: get rid of timestamp overprotectiveness
...
Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
2011-01-03 17:40:52 +01:00
Mark Nauwelaerts
cd690c2bc3
qtmux: simplify and fix pts_offset storing
...
In particular, only write a ctts atom if and only if ever a non-zero offset.
2011-01-03 17:40:52 +01:00
Mark Nauwelaerts
8f174304ee
qtmux: add some more documentation
2011-01-03 17:40:51 +01:00
Mark Nauwelaerts
1ff6806cd4
qtmux: remove large-file property
...
Rather, auto-determine if 64-bits fields are needed for a valid result, and
stick to plain 32-bits if not needed.
API: GstQTMux:large-file (removed)
2011-01-03 17:40:51 +01:00
David Schleef
73d85fa438
colorspace: Disable matrixing on big-endian
...
It's broken until someone writes better Orc code. Fixes #631232 .
2011-01-02 16:13:56 -08:00
David Schleef
94f6f34ace
mpegtsmux: Set adaptation flag when appropriate
...
Specifically, when there's stuff to go into the adaptation
header.
2011-01-02 14:52:34 -08:00
David Schleef
ea113a79aa
mpegtsmux: Set random_access_indicator for keyframes
2011-01-02 14:52:34 -08:00
Tim-Philipp Müller
21fb0dc586
gaudieffects: dist python examples
2011-01-02 13:30:11 +00:00
David Schleef
68493aadab
dtmf: Fix build failure caused by previous commit
2010-12-31 00:37:30 -08:00
David Schleef
edd1f791ca
mpegdemux: Fix c99-ism
2010-12-30 19:25:46 -08:00
David Schleef
04c44d18c9
legacyresample: Use math-compat header
2010-12-30 19:25:46 -08:00
David Schleef
2f5c92f1c8
change M_PI to G_PI
2010-12-30 19:25:46 -08:00
David Schleef
512c66d8ba
frei0r: convert uint32_t to guint32
2010-12-30 19:25:46 -08:00
David Schleef
57095d302d
dtmf: build fixes for MSVC
...
Use gint16 and G_PI.
2010-12-30 18:39:21 -08:00
David Schleef
5fed7a264c
dtmf: reindent
2010-12-30 18:39:12 -08:00
David Schleef
0073550300
dataurisrc: use g_ascii_strcasecmp()
2010-12-30 18:08:32 -08:00
Tim-Philipp Müller
c6c3d9781b
selector: move input-selector and output-selector to core
...
https://bugzilla.gnome.org/show_bug.cgi?id=614306
2010-12-31 01:41:36 +00:00
Tim-Philipp Müller
222be5f0e9
valve: move valve element/plugin to core
...
https://bugzilla.gnome.org/show_bug.cgi?id=630808
2010-12-31 01:41:18 +00:00
Thiago Santos
95597d8f0e
camerabin2: Various leak fixes
...
Various leak fixes and some code reorganization
2010-12-29 13:24:06 -03:00
Thiago Santos
890c4ab4fd
wrappercamerabinsrc: Implement video capture renegotiate
...
Handle caps renegotiation from camerabin2's renegotiate event
to allow video capture to be done with the user's requested
resolution.
2010-12-29 13:24:06 -03:00
Thiago Santos
203508079a
camerabin2: Fix renegotiate event pushing
...
Use a hack to make the event upstream to reach the camera source
instead of going downstream and being useless.
This was already fixed this way for image srcpad renegotiate and
video srcpad was left unfixed.
2010-12-29 13:24:05 -03:00
Thiago Santos
1c761196f7
wrappercamerabinsrc: Refactor internal pipeline
...
Instead of linking 3 src pads from tee to the ghostpads, use 2
srcpads and add an output-selector to completely split caps
negotiation of video/image modes. I don't think there is an
use case that would require image and video pads to be used
at the same time.
2010-12-29 13:24:05 -03:00
Thiago Santos
07279bac7b
camerabin: mode can be only image or video
...
No need to check if camerabin is on video mode if it isn't on
image mode as those are the only 2 modes available.
Additionally, if mode gets corrupted somehow and would be neither
image or video it would cause a null pointer dereferencing some
lines of code below, so this is safer.
2010-12-28 17:16:05 -03:00
Thiago Santos
895c07ef04
camerabin: Remove unused variable
2010-12-28 16:55:11 -03:00
Thiago Santos
a2f54e26f2
asfmux: Fix plugin package name/origin
2010-12-27 16:58:26 -03:00
Alessandro Decina
143efa727e
dvbsuboverlay: fix compiler warnings
2010-12-27 13:20:28 +01:00
Tim-Philipp Müller
7a21a19499
dvbsuboverlay: clean-up: allocate flat array of rectangles
...
instead of an array of pointers to individually-allocated rectangles.
2010-12-27 11:10:53 +00:00
Tim-Philipp Müller
e35a3ddbf9
dvbsuboverlay: clean-up: merge private data struct into main struct
2010-12-25 16:31:00 +00:00
Tim-Philipp Müller
f8dc80a8b7
dvbsuboverlay: clean-up: dvb sub parser helper doesn't need to be a GObject
2010-12-25 16:30:50 +00:00
Vincent Penquerc'h
4422cca1d3
mve: do not use the pad buffer allocation functions in demuxers
...
https://bugzilla.gnome.org/show_bug.cgi?id=637929
2010-12-24 14:18:58 +01:00
Vincent Penquerc'h
29c6a95417
mpegdemux: do not use the pad buffer allocation functions in demuxers
...
https://bugzilla.gnome.org/show_bug.cgi?id=637931
2010-12-24 14:17:51 +01:00
Tim-Philipp Müller
e6d0435a8e
mpeg4videoparse: try harder to make buffer metadata writable before modifying
...
Also, check buffer for NULL-ness before dereferencing it.
https://bugzilla.gnome.org/show_bug.cgi?id=637824
2010-12-23 22:03:16 +00:00
Thiago Santos
1ff89c5f83
videorecordingbin: Fix leaks
2010-12-23 14:24:45 -03:00
Thiago Santos
2513e9f01b
wrappercamerabinsrc: Add converters for viewfinder branch
...
Viewfinder branch should have converters as it has to work
always anyway.
2010-12-23 13:24:56 -03:00
Thiago Santos
450f54b020
viewfinderbin: Remove leaks
...
Removing various leaks from viewfinderbin
2010-12-23 13:24:56 -03:00
Thiago Santos
58d4315965
camerabin2: more logs
2010-12-23 13:24:56 -03:00
Thiago Santos
e94c5b3b9b
wrappercamerabinsrc: Handle camerabin2 custom renegotiate events
2010-12-23 13:24:55 -03:00
Thiago Santos
1e6be5ec56
camerabin2: Use custom renegotiate event
...
Adds a custom renegotiate event that is pushed to the camerasrc pad
that needs renegotiation due to the user selecting a new capture
caps for that pad.
This is a way of notifying the source that it should update its caps, even
if it doesn't use pad allocs.
2010-12-23 13:24:55 -03:00
Thiago Santos
b1a361b566
wrappercamerabinsrc: Add local mode
2010-12-23 13:24:55 -03:00
Thiago Santos
85bf8f2335
camerabin2: Adds properties for capture caps
...
Adds properties for selecting caps for video and image captures
2010-12-23 13:24:55 -03:00
Teemu Katajisto
a7fe67700e
camerabin2: remove abreviations from imagecapturebin
2010-12-23 13:24:55 -03:00
Thiago Santos
539f10f4d9
basecamerasrc: More cleanup
...
Remove old legacy code copied from camerabin(1) that should be handled
by caps negotiation on camerabin2
2010-12-23 13:24:54 -03:00
Thiago Santos
029e63a31e
wrappercamerabinsrc: Remove unused variable
...
Remove wait_for_prepara variable that wasn't being used
2010-12-23 13:24:54 -03:00
Thiago Santos
99210b0a3a
camerabin2: Rename v4l2camerasrc to wrappercamerabinsrc
...
Use a better name for the element that wraps single pad src element
into a 3pad source required by camerabin2.
2010-12-23 13:24:43 -03:00
Thiago Santos
b822ad3cd3
v4l2camerasrc: remove video filter property code
...
Removes some unused custom video filter element property code
2010-12-23 13:20:36 -03:00
Thiago Santos
706740845b
viewfinderbin: Fix video-sink property again
...
Avoid switching the element on the set_property function, instead wait
for the next NULL -> READY transition.
2010-12-23 13:20:36 -03:00
Thiago Santos
07d58dbf84
v4l2camerasrc: add video-src property
...
Adds a property to select the src element to be used internally
on v4l2camerasrc. Yeah, I know, this element should have a better
name.
2010-12-23 13:20:35 -03:00
Thiago Santos
b81677032c
camerabin2: adds PORTING document
...
Adds a PORTING document to explain the differences from
camerabin to camerabin2 and help application developers on
porting from one to another.
2010-12-23 13:20:35 -03:00
Thiago Santos
4938c2e9ea
camerabin2: Move basecamerasrc to gst-libs
...
Move the base camera src class to gst-libs/gst/basecamerabinsrc to
allow it to be included from the tests.
2010-12-23 13:20:31 -03:00
Teemu Katajisto
4a28d5f478
camerabin2: add videorecordingbin::video-muxer property
2010-12-23 13:18:58 -03:00
Teemu Katajisto
c76aeb77e5
camerabin2: add videorecordingbin::video-encoder property
2010-12-23 13:18:58 -03:00
Teemu Katajisto
78dc07987e
camerabin2: remove abbreviations from videorecordingbin
2010-12-23 13:18:58 -03:00
Teemu Katajisto
7409211055
camerabin2: imagecapturebin: release objects and memory allocations
2010-12-23 13:18:58 -03:00
Thiago Santos
59c48d3443
camerabin2: Add camera-src property
...
Adds a property to select the camera source element to be used.
Changing only happens on the next NULL->READY transition
2010-12-23 13:18:57 -03:00
Thiago Santos
adc3cdc6aa
camerabin2: Rename variables
...
Use better name for the variables, making the code clearer. Also
keep a ref for some internal elements to avoid fetching them
by name when needed later.
2010-12-23 13:18:57 -03:00
Thiago Santos
201e9ac221
camerabin2: Add properties for supported capture caps
...
Adds 2 property for getting the supported image/video capture
caps from the camera source.
2010-12-23 13:18:57 -03:00
Thiago Santos
f52d805166
camerabin2: Put enums inside their classes .c
...
Remove global list of properties' enums and put them
inside their classes .c
2010-12-23 13:18:57 -03:00
Thiago Santos
014b8f97f8
viewfinderbin: Fixes to video-sink handling
...
Handle video-sink more carefully, checking if it should
be already added to the bin, and removing old ones when
replacing.
2010-12-23 13:18:57 -03:00
Teemu Katajisto
89142163b1
camerabin2: add imagecapturebin::image-muxer property
2010-12-23 13:18:57 -03:00
Teemu Katajisto
87e0cbff38
camerabin2: add imagecapturebin::image-encoder property
2010-12-23 13:18:57 -03:00
Teemu Katajisto
e5d388698a
camerabin2: remove abreviations from imagecapturebin
2010-12-23 13:18:57 -03:00
André Dieb Martins
7c47fc497f
camerabin2: implement viewfinderbin::video-sink property to override default video output
2010-12-23 13:18:56 -03:00
Thiago Santos
80ff930012
basecamerasrc: Make construct_pipeline optional
...
Construct pipeline should be optional. Subclasses that don't
have internal elements don't need it.
2010-12-23 13:18:56 -03:00
Stefan Kost
ba2368d0bc
basecamerasrc: write more details on the api docs
2010-12-23 12:11:59 -03:00
Stefan Kost
4b23fe6872
basecamerasrc: use the enum type for mode
2010-12-23 12:11:59 -03:00
Stefan Kost
17d5914c59
basecamerasrc: comment cleanups
2010-12-23 12:11:59 -03:00
Tim-Philipp Müller
e29a1073b1
mpeg4videoparse: ensure buffer metadata is writable before modifying it
...
https://bugzilla.gnome.org/show_bug.cgi?id=637824
2010-12-22 21:46:00 +00:00
Edward Hervey
bcb8eab616
id3mux: Set to GST_RANK_PRIMARY
...
We want it to take precedence over any other id3 formatter.
2010-12-22 18:13:36 +01:00
Sebastian Dröge
825052ba3d
autoconvert: Fix some more leaks and reorganize unref code
2010-12-21 18:01:28 +01:00
benjamin gaignard
f0ebcba6c4
autoconvert: Avoid some leaks in autoconvert
...
unref sink and src pad after gst_pad_by_direction calls unref
element if gst_auto_convert_activate_element failed.
See bug #637553 .
2010-12-21 17:50:20 +01:00
Olivier Crête
8c371e5c35
autoconvert: Use gst_caps_can_intersect()
2010-12-19 17:40:12 +05:30
Sebastian Dröge
5e5092e92c
qtmux: Free AtomInfo structs
2010-12-19 12:53:34 +01:00
Sebastian Dröge
435bc16497
qtmux: Free tag string after use
2010-12-19 12:50:30 +01:00
Sebastian Dröge
b297490b2a
imagecapturebin: Don't leak pad and sink
2010-12-19 12:09:41 +01:00
Sebastian Dröge
9605ff9aa8
imagecapturebin: Don't leak pad template created from static pad template
2010-12-19 12:05:11 +01:00
Sebastian Dröge
073916c9fb
imagecapturebin: Don't leak location string
2010-12-19 12:03:03 +01:00
Sebastian Dröge
1f8ba27334
jifmux: Don't leak taglist
2010-12-19 12:00:25 +01:00
Sebastian Dröge
ec85dfaa61
autovideoconvert: Don't leak pad templates created from static pad templates
2010-12-19 11:38:03 +01:00
Sebastian Dröge
530eca9984
autovideoconvert: Add autoconvert child before chaining up to parent state change function
...
...and remove/unlink autoconvert child when going back to NULL.
2010-12-19 11:21:27 +01:00
Lasse Laukkanen
699e0abd49
qtmux: allow zero duration tracks
2010-12-17 19:30:28 +01:00
Tim-Philipp Müller
767c29cc2f
dvbsuboverlay: use GST_LOG etc. for logging
...
The dvbsub routines were originally designed as a mini lib with a
log callback (which from the looks of it in our case would always
be called and always assemble the string even with debug output
disabled). Some of these debug statements can probably be removed
or cleaned up some more.
2010-12-17 10:50:56 +00:00
Tim-Philipp Müller
c64df2ebc2
dvbsuboverlay: remove some unused defines
2010-12-17 10:50:47 +00:00
Tim-Philipp Müller
d9f83ad938
dvbsuboverlay: fix atomic access
2010-12-17 10:50:36 +00:00
Janne Grunau
b73ae45460
dvbsuboverlay: fix rendering artefacts
...
Initialize source x position for odd height special case.
2010-12-16 15:33:59 +00:00
Edward Hervey
b191fb2b05
dvbsuboverlay: The enable property is a boolean and not an integer
2010-12-16 11:29:07 +01:00
Sebastian Dröge
2561bb8fa7
autoconvert: Rename autocolorspace to autovideoconvert
...
This doesn't just convert between color spaces.
2010-12-16 09:59:42 +01:00
Benjamin Gaignard
c8d9cc5770
bayer2rgb: Add framerate to the sink caps
...
Fixes bug #637224 .
2010-12-15 21:28:06 +01:00
Benjamin Gaignard
27ac6c3e47
autocolorspace: Add autoconvert based video format convert element
...
Fixes bug #636106 .
2010-12-15 21:14:38 +01:00
Sebastian Dröge
a99e13cd5a
dvbsuboverlay: Rename DVB subtitling media type to subpicture/x-dvb
2010-12-15 21:11:29 +01:00
Sebastian Dröge
18061222b9
mpegtsdemux: Rename DVB subtitling media type to subpicture/x-dvb
2010-12-15 21:11:11 +01:00
Sebastian Dröge
a71c3f7e48
dvbsuboverlay: Don't draw anything on the video if the enable property is set to FALSE
2010-12-15 20:54:35 +01:00
Sebastian Dröge
65598884d2
dvbsuboverlay: Add #defines for the property default values
2010-12-15 20:53:21 +01:00
Sebastian Dröge
e9fa2fcd8b
dvbsuboverlay: Use g_atomic_int_get() for reading the max_page_timeout field
2010-12-15 20:51:12 +01:00
Sebastian Dröge
61c2b173c6
mpegtsdemux: Mark array static const and use G_N_ELEMENTS instead of sizeof
2010-12-15 20:49:57 +01:00
Janne Grunau
431ea2c697
mpegtsdemux: add DESC_DVB_SUBTITLING descriptor for language parsing
2010-12-15 20:47:25 +01:00
Janne Grunau
eaf1b316b0
mpegtsdemux: enable gather_pes only for DVB subtitle private streams
2010-12-15 20:47:25 +01:00
Janne Grunau
9b3b1aedea
dvbsuboverlay: use atomic instructions to set/get enable property
2010-12-15 20:47:25 +01:00
Janne Grunau
533453186e
dvbsuboverlay: add property to limit page_time_out to a setable maximum
2010-12-15 20:47:25 +01:00
Janne Grunau
36b101cfb8
dvbsuboverlay: implement display definition segment subtitle windows
...
simplifies subtitle scaling in blit_i420()
2010-12-15 20:47:25 +01:00
Janne Grunau
4d8220b033
dvbsuboverlay: scale subtitles according to the display size
...
Display size is either transmitted in the display definition segment or
implicitly defined to 720x576. The subtitle window information also present in
the display definition segment is not yet used.
2010-12-15 20:47:25 +01:00
Janne Grunau
83a84ba230
dvbsuboverlay: implement display definition segment parsing
2010-12-15 20:47:25 +01:00
Janne Grunau
2f6f78caa3
dvbsuboverlay: fix luma stride for scaled subtitles (display width != width)
2010-12-15 20:47:24 +01:00
David Schleef
9fd41486a2
y4mdec: Add y4mdec
...
Feel the y4m love. It seeks. It works in pitivi.
2010-12-14 01:27:05 -08:00
Mark Nauwelaerts
aae382bcc6
jpegparse: avoid leaking tag event
2010-12-13 16:25:29 +01:00
Mark Nauwelaerts
01e9b677a8
ac3parse: relax bsid checking
...
... to the widest possible spec interpretation.
Fixes #637062 .
2010-12-13 15:29:33 +01:00
Matthew Ife
51c63587a1
rfbsrc: fail more gracefully if source gets disconnected or geometry changes
...
Don't get caught in an infinite loop if the source gets disconnected and also
support gracefully failing upon detecting the frame geometry has increased
(rather than segfaulting).
https://bugzilla.gnome.org/show_bug.cgi?id=635397
2010-12-12 23:36:56 +00:00
Mark Nauwelaerts
2056f4a633
jpegparse: avoid leaking converted comment string
2010-12-12 22:14:59 +01:00
Sebastian Dröge
ec300d007d
ssim: Set classification to Filter/Analyzer/Video instead of Filter/Converter/Video
...
Fixes bug #636109 .
2010-12-12 12:01:38 +01:00
Jan Schmidt
a4f2ab78ff
gaudieffects: Avoid divide by 0 in burn element
2010-12-12 02:24:00 +11:00
Thiago Santos
b6d5763e05
basecamerasrc: Remove ghostpads
...
Remove ghost pads from basecamerasrc. Different implementations
of camera sources might not use ghostpads and use default pads.
2010-12-08 15:38:30 -03:00
Thiago Santos
91d8bbd8a1
basecamerasrc: Removing ununsed methods
...
Remove one unused method _finish_image_capture()
2010-12-08 15:38:30 -03:00
Thiago Santos
db72d691ca
camerabin2: Cleanup
...
Removing commented code
2010-12-08 15:38:30 -03:00
Thiago Santos
24bc280806
basecamerasrc: Move start/stop capture signals to basecamerasrc
...
Move start/stop signals and ready-for-capture to basecamerasrc
as this should be present on all camera sources
2010-12-08 15:38:30 -03:00
Thiago Santos
87eddd54d5
basecamerasrc: Add mode property
...
Move mode property from v4l2camerasrc to basecamerasrc, as all
camera sources should handle it.
2010-12-08 15:38:29 -03:00
Thiago Santos
b11342d325
camerabin2: Reset all elements on video recording branch before capture
...
We need to reset the elements from the video recording branch, including
the queue and capsfilter in order to clear the eos state and activate
the pads.
This makes it possible to record multiple videos with camerabin2 in a
sequence, otherwise the source would get a unexpected return and
push EOS, stopping the whole pipeline.
2010-12-08 15:38:29 -03:00
Thiago Santos
5776a17c86
camerabin2: More debug logs
...
Sprinkle some more debugging logs
2010-12-08 15:38:29 -03:00
Thiago Santos
122a7bd556
camerabin2: Various fixes
...
As video recording bin's state is locked, we should always
remember of setting it to NULL when camerabin2 goes to NULL
Be more careful when using elements that might not
have been created yet
And do not set location property recursively on videorecordingbin
2010-12-08 15:38:29 -03:00
Thiago Santos
0685b8921e
viewfinderbin: Improve elements creation
...
Be more careful with cleanup of elements. Also add some logs and
improve docs a little.
2010-12-08 15:38:29 -03:00
Thiago Santos
19e52f35ee
camerabin2: remove unused code
...
General cleanup, removing unused bits
2010-12-08 15:38:28 -03:00
Thiago Santos
ba878c95b2
camerabin2: adds location property
...
Adds a location property to enable applications to select
the captured files names. Locations are handled just like
multifilesink ones
Also disables -Wformat-nonliteral to allow to use non-literals
on g_strdup_printf on camerabin and generate a sequence of
locations for captures.
2010-12-08 15:38:28 -03:00
Thiago Santos
5b3deecab9
camerabin2: Fix set/get property function names
...
Add more consistency to the function names by using
gst_camera_bin as the other functions.
2010-12-08 15:38:28 -03:00
Thiago Santos
cb915196e2
camerabin2: Handle vidbin state change individually
...
Keep vidbin state locked to avoid it going to playing without
being used and leaving an empty file created.
Check the docs on the code for details on the handling.
2010-12-08 15:38:28 -03:00
Thiago Santos
0ae8df4312
camerabin2: Keep it under --enable-experimental
...
camerabin2 is still under heavy development, activate it only if
the --enable-experimental flag is on.
Also add a note to the docs.
2010-12-08 15:38:28 -03:00
Thiago Santos
5be441adff
v4l2camerasrc: Add ready-for-capture property
...
Adds property that informs if v4l2camerasrc is available
for starting a new capture.
It is useful for applications to know (via deep-notify) when the
property changes and a new capture is possible. Note, however, that
starting a new capture from the notify callback will cause a deadlock.
2010-12-08 15:38:28 -03:00
Thiago Santos
bd89d22da9
camerabin2: Update v4l2camerasrc to use start/stop signals
...
Removes the old logic for v4l2camerasrc that used the mode
property switching to start/stop captures to make it identical
to camerabin2 behavior and to allow the future addition of
pausing a video recording.
This also removes the MODE_PREVIEW as it became useless.
2010-12-08 15:38:28 -03:00
Thiago Santos
b4d73cb9a8
camerabin2: Cleanup capturing flag
...
Cleanup capturing flag when the source switches back to the
viewfinder mode
2010-12-08 15:38:28 -03:00
Thiago Santos
9df40915d6
v4l2camerasrc: Remove unnecessary padding
2010-12-08 15:38:28 -03:00
Thiago Santos
91b7f2d99e
v4l2camerasrc: Implement video capture
...
Implements video capture on v4l2camerasrc by using the mode property,
when mode is set to video, the pad probe pushes a new segment
and starts pushing buffers on the pad, when it the property is
sent back to preview, the pad probe pushes an EOS and stops
pushing buffers.
This is controlled by a Recording State variable, that is protected
by the GST_OBJECT_LOCK. I don't think locking for every buffer is
nice, so we could find an alternative lockless way here.
2010-12-08 15:38:28 -03:00
Thiago Santos
596422d19c
v4l2camerasrc: Fix image capture
...
Once a image is captured, v4l2camerasrc should return to the
preview mode and stop capturing.
2010-12-08 15:38:27 -03:00
Thiago Santos
6c7d7946f5
camerabin2: Keep mode definition at -enum file
...
Use 'mode' enum definition from gstcamerabin-enum file to avoid
conflicts between v4l2camerasrc and gstcamerabin2 modes.
For now there is a MODE_PREVIEW there that is only used on the
camerasrc, not sure if we are keeping it at the future, but for
now this works.
2010-12-08 15:38:27 -03:00
Thiago Santos
9095ee429a
v4l2camerasrc: Adds mode property
...
Adds mode property to v4l2camerasrc
2010-12-08 15:38:27 -03:00
Thiago Santos
dee167edc8
camerabin2: Adding debug categories
...
Adding debug categories to v4l2camerasrc and camerabin2, also
removing generic category from camerabingeneral.
2010-12-08 15:38:27 -03:00
Thiago Santos
6c72fed8b4
camerabin2: Adding basic property and signals
...
Adds mode property to camerabin2, allowing users to
select between video and stills capture. Also adds
start/stop capture actions to trigger and stop
capturing
2010-12-08 15:38:27 -03:00
Thiago Santos
a938fd9192
camerabin2: Set filesink's async to FALSE
...
In order to preroll, camerabin2 should have its filesinks in
the imagecapturebin and videorecordingbin with async=FALSE.
2010-12-08 15:38:27 -03:00
Thiago Santos
1887669d6e
camerabin2: Adding basic elements
...
Instantiating and linking basic elements on camerabin2
so it at least shows the viewfinder when running.
2010-12-08 15:38:27 -03:00
Thiago Santos
3db90e1d43
camerabin2: Adds a stub element for camerabin2
...
Adds camerabin2 element, it is now a pile of stubs.
2010-12-08 15:38:27 -03:00
Thiago Santos
39093d2199
camerabin2: v4l2camerasrc: Remove platform specific code
...
Remove platform specific code
2010-12-08 15:38:27 -03:00
Thiago Santos
7f41c2594d
camerabin2: Removing uneeded properties
...
Removing uneeded and unregistered properties.
2010-12-08 15:38:26 -03:00
Thiago Santos
3afa2c3a25
camerabin2: v4l2camerasrc: Fix property warning
...
Avoid setting a property that doesn't exist.
2010-12-08 15:38:26 -03:00
Thiago Santos
fcf80d0253
camerabin2: v4l2camerasrc: Remove unused variable
...
Removed unused leftover variable
2010-12-08 15:38:26 -03:00
Thiago Santos
0dce17a4e8
camerabin2: Adds video recording bin
...
Adds an bin that is responsible for encoding and saving video
streams to files.
For now it is simply a ffmpegcolorspace ! theoraenc ! oggmux !
filesink bin.
Still uncapable of recording audio.
2010-12-08 15:38:26 -03:00
Thiago Santos
94da473ba7
camerabin2: Adding v4l2camerasrc from robclark's branch
...
Adds 3-pad v4l2 camera source from Rob Clark's camerabin
branch on http://gitorious.org/robclark-gstreamer/gst-plugins-bad
2010-12-08 15:38:26 -03:00
Thiago Santos
12245366d8
camerabin2: Adds new imagecapturebin
...
Adds an bin that is responsible for image captures.
It is a simple ffmpegcolorspace ! jpegenc ! jifmux ! multifilesink
for now.
2010-12-08 15:38:26 -03:00
Thiago Santos
3a8ec18f96
camerabin2: Move plugin init to a separate file
...
Moves plugin init to gstplugin.c to allow multiple
elements to register themselves.
2010-12-08 15:38:26 -03:00
Thiago Santos
67415fc412
camerabin2: viewfinderbin: Adds viewfinderbin element
...
Adds viewfinder bin element, one of the modules of camerabin2
that is responsible for displaying the video from the camera.
For now it is only a bin with ffmpegcolorspace ! videoscale !
autovideosink
2010-12-08 15:38:26 -03:00
Alessandro Decina
5c097c447b
dvbsuboverlay: fix compiler warnings on OSX.
2010-12-08 19:36:48 +01:00
Mark Nauwelaerts
26877f66c9
mpeg4videoparse: re-use cleanup() in finalize()
...
... and also favor finalize() rather than dispose().
2010-12-08 16:30:12 +01:00
Arun Raghavan
5b442d0712
mpeg4videoparse: Set srcpad caps before forwarding newsegment
...
This holds all newsegement and most other events till there is enough
data to set srcpad caps, so that the downstream link is properly
negotiated before data starts flowing.
https://bugzilla.gnome.org/show_bug.cgi?id=635204
2010-12-08 16:30:12 +01:00
Arun Raghavan
8f30fca636
mpeg4videoparse: Use sinkpad caps as base for srcpad caps
...
This way, we don't lose additional fields that come from upstream (like
profile/level for now).
https://bugzilla.gnome.org/show_bug.cgi?id=635202
2010-12-08 16:30:12 +01:00
Mark Nauwelaerts
522f470883
mpeg4videoparse: minor fix to error handling
...
We weren't handling unparseable codec_data in some cases.
https://bugzilla.gnome.org/show_bug.cgi?id=635202
2010-12-08 16:30:12 +01:00
Sebastian Dröge
04eb581480
dvbsuboverlay: Implement nearest neighbour scaling for the subpictures
...
This becomes necessary when SDTV subtitles are used for HDTV videos.
2010-12-08 16:30:12 +01:00
Mark Nauwelaerts
de85aef333
h264parse: align code with comment
2010-12-08 16:30:12 +01:00
Mark Nauwelaerts
26d69e63d4
h264parse: re-use reset() in finalize()
2010-12-08 16:30:12 +01:00
Arun Raghavan
6f966febce
h264parse: Set srcpad caps before forwarding newsegment
...
This holds all newsegement and most other events till there is enough
data to set srcpad caps, so that the downstream link is properly
negotiated before data starts flowing.
https://bugzilla.gnome.org/show_bug.cgi?id=635205
2010-12-08 16:30:12 +01:00
Mark Nauwelaerts
74fb627a08
jpegparse: try to convert comment tag to UTF-8
2010-12-08 16:30:11 +01:00
Mark Nauwelaerts
49d7f207cb
jpegparse: discard incomplete image
...
... as determined when finding SOI next image before an EOI.
2010-12-08 16:30:11 +01:00
Mark Nauwelaerts
0a26e138dd
jpegparse: avoid infinite loop when resyncing
2010-12-08 16:30:11 +01:00
Arun Raghavan
7abe0a56af
audioparse: Allow implicit channel map for 1-/2-channel audio
...
This makes sure we don't set an empty channel map array for 1-/2-channel
audio, causing an assert later on.
2010-12-08 16:30:11 +01:00
Sebastian Dröge
8974371914
dvbsuboverlay: Revert some parts of last commit that shouldn't be committed
2010-12-08 16:30:11 +01:00
Sebastian Dröge
68b8fca047
dvbsuboverlay: Really choose the latest possible subpictures
...
And not the first subpictures that are still valid according to the
page timeout.
2010-12-08 16:30:11 +01:00
Sebastian Dröge
e25a1dc0cc
dvbsuboverlay: Refactor blending function and take average of all chroma values
2010-12-08 16:30:11 +01:00
Sebastian Dröge
2282a08890
dvbsuboverlay: Improve selection of current to be displayed subpictures
...
Drop all subpictures that are too old anyway and clear the currently
displayed subpictures if num_rects==0 happens.
2010-12-08 16:30:11 +01:00
Sebastian Dröge
01cf79ae59
dvbsuboverlay: Implement clipping of video buffers
...
Also don't clip subpicture buffers, they have no duration and
clipping them doesn't make much sense here.
2010-12-08 16:30:11 +01:00
Sebastian Dröge
672cb276be
dvbsuboverlay: Clean up locking some more
2010-12-08 16:30:10 +01:00
Sebastian Dröge
92109fdfbc
dvbsuboverlay: Flush subtitles and all internal state when needed
2010-12-08 16:30:10 +01:00
Sebastian Dröge
472cace08b
dvbsuboverlay: Set the global library log function exactly once
...
And don't use one of the possibly many renderer instances, this is only
calling for crashes.
2010-12-08 16:30:10 +01:00
Sebastian Dröge
2a976ae133
dvbsuboverlay: Remove lots of commented out and unused code and clean up locking
2010-12-08 16:30:10 +01:00
Mart Raudsepp
a203ad1aab
dvbsuboverlay: Fix more of the blending, so it looks quite good now
...
* libdvbsub gives us alpha channel already, not transparency level, so
don't do another "alpha = 255 - alpha", this is done by libdvbsub.
* Fix alpha channel handling in interpolation - assrender had an additional
1bpp alpha bitmap as a possible mask, we don't. So don't use the palette
index array as alpha values; bug from quick code porting long ago to
changing pixel colors (assrender has a single pixel color for whole
regions or something, unlike dvbsub, which has indexed colors).
* Don't forget to reassign our YUV and other local pixel color variables
after shifting to work on the bottom part of a 2x2 subsample block, or
it's obviously very blocky.
Remaining issues in blending:
* Should probably be interpolating or doing something else useful with the
resulting U and V channels, so that most of the source pixel UV values would
actually be actually cared about, except for just one out of possibly four.
* Don't convert AYUV to ARGB in libdvbsub, and then back from ARGB to AYUV in
dvbsuboverlay for no reason
* Re-factor the whole thing to something more like textoverlay blending
* Related to that, perhaps cache the current spu in a good format for quick
blending on each frame, after which the more often called blending parts
might become more straightforward
2010-12-08 16:30:10 +01:00
Mart Raudsepp
efa1e9a1fe
dvbsuboverlay: Fix blending bug regarding color channel addressing.
...
libdvbsub gives us ARGB ordered pixels right now, not RGBA.
2010-12-08 16:30:10 +01:00
Mart Raudsepp
21abf9c4a8
dvbsuboverlay: Do blending calls when appropriate
...
This gives us actually shown subtitles, however with bugs in the
current blitting code, resulting in very transparent subtitles.
2010-12-08 16:30:10 +01:00
Mart Raudsepp
84b52f6eb4
dvbsuboverlay: Implement fallback page_time_out honoring
...
The spec has a page_time_out in the page composition segment to ensure
subtitles don't get stuck on screen for too much longer than intended,
when future page composition segments get lost on bad reception, or other
problems. Honor it in the gst plugin side.
2010-12-08 16:30:10 +01:00
Mart Raudsepp
3d09a3b18a
dvbsuboverlay: Implement subtitle queueing and syncing with video
...
Push incoming subtitle pages in a FIFO queue (pending_subtitles)
and dequeue the head when it's time to show it (when video running
time reaches the subtitle page running time).
Keep the subtitle page, that is supposed to be blended on top of video
currently, in a separate object variable (current_subtitle). As a
next step we can then pre-render current_subtitle to a better to blend
format.
2010-12-08 16:30:10 +01:00
Mart Raudsepp
41c82583f5
dvbsuboverlay: Make the new dvb_subtitles_free() accept NULL
...
Don't crash if dvb_subtitles_free(NULL) gets passed, like most other
*_free functions are happy with.
2010-12-08 16:30:10 +01:00
Mart Raudsepp
7e2e52cab8
dvbsuboverlay: Pass page_time_out and pts with the DVBSubtitles structure
...
Eases holding onto the information in gst plugins side queue of
DVBSubtitles, so we won't need to create yet another temporary struct
to keep the pts and page_time_out too.
And this really logically belongs at the toplevel information set anyway
and in that struct...
2010-12-08 16:30:09 +01:00
Mart Raudsepp
aca7237878
dvbsuboverlay: Make the libdvbsub callback handler responsible for memory cleanup
...
We want to allow queueing of raw region image data in the gst plugin side,
and keep the data around until we pop the item from the queue. So make
the callback handler responsible for memory cleanup, if one is installed.
2010-12-08 16:30:09 +01:00
Mart Raudsepp
4a68decb52
dvbsuboverlay: Work with GstClockTime instead of PTS for subtitle timing
...
Abuse libdvbsub PTS tracking to just store our running time in it, to get
it back in the callbacks. As GStreamer does its own PTS handling behind our
back (especially for video), we should just sync with video per running time,
not try to do it with PTS, which doesn't seem well accessible for video chain.
We can later relabel dvb-sub.c pts naming convention if wanted, it's just
passing along guint64 values, which GstClockTime fortunately is too.
The current idea is to collect the regions returned by the callback into
a FIFO buffer and pop and pre-render the top one into a separate
quick-to-blend cached format, which is then appropriately blended in the
video chain until the next one on top of the stack reaches the video chains
running time (or the fallback timer hits).
2010-12-08 16:30:09 +01:00
Mart Raudsepp
316cd44c8d
dvbsuboverlay: Add FIXME note about non-constant PTS for a display set handling.
2010-12-08 16:30:09 +01:00
Mart Raudsepp
7cab41013e
dvbsuboverlay: Remove dvb_sub_feed() API
...
GStreamer will only use dvb_sub_feed_with_pts, as it has its own PES filter
to do the header parsing.
2010-12-08 16:30:09 +01:00