Commit graph

3786 commits

Author SHA1 Message Date
Sebastian Dröge
7858d65b4a segmentclip: Keep a reference of events until the event is parsed 2011-04-01 15:02:36 +02:00
Sebastian Dröge
b2c90da38e mpegaudioparse: Parse encoder delay and encoder padding from the LAME header if present 2011-04-01 15:02:36 +02:00
Tim-Philipp Müller
6edcf4fbe6 hlsdemux: update for media type was renaming from playlist/m3u8 to application/x-hls 2011-03-30 15:53:12 +01:00
Sebastian Dröge
e24a43c61b hlsdemux: Some minor cleanup
Use GST_DEBUG_FUNCPTR and G_PARAM_STATIC_STRINGS
2011-03-30 10:11:24 +02:00
Andoni Morales Alastruey
d5e4f8caf8 hlsdemux: fix indentation and docs sections 2011-03-30 09:19:24 +02:00
Andoni Morales Alastruey
91196418ea hlsdemux: don't leek the query 2011-03-30 09:19:23 +02:00
Andoni Morales Alastruey
77c0971b62 hlsdemux: check if the task's cond was signaled because it's the end of playlist 2011-03-30 09:19:23 +02:00
Andoni Morales Alastruey
42470cd313 hlsdemux: post a message in the bus when the playlist changes 2011-03-30 09:19:23 +02:00
Andoni Morales Alastruey
daeed217e5 hlsdemux: don't update the playlist if we stay in the same bitrate 2011-03-30 09:19:23 +02:00
Andoni Morales Alastruey
cd0aeb2403 hlsdemux: Add support for URI queries 2011-03-30 09:19:23 +02:00
Andoni Morales Alastruey
5daae4bb18 hlsdemux: Add support for duration queries 2011-03-30 09:19:23 +02:00
Andoni Morales Alastruey
18cd90e73f hlsdemux: m3u8: protect public methods properly 2011-03-30 09:19:23 +02:00
Andoni Morales Alastruey
09b2b31422 hlsdemux: m3u8: add support to get the duration from a playlist 2011-03-30 09:19:22 +02:00
Andoni Morales Alastruey
c599e4a9a1 hlsdemux: don't print an error if the download was cancelled 2011-03-30 09:19:22 +02:00
Andoni Morales Alastruey
4602b42dee hlsdemux: make sure the fetcher state change is complete before continuing 2011-03-30 09:19:22 +02:00
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