Commit graph

3572 commits

Author SHA1 Message Date
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
Tim-Philipp Müller 08c355823b dvbsuboverlay: more TODO 2010-12-08 16:30:09 +01:00
Mart Raudsepp 1db547f0b6 gstmpegtsdemux: add temporary **HACK** for dvb subs testing so dvbsuboverlay gets whole packets
<tpm> leio, what's the mpegts demux hack about?
<leio> my libdvbsub code can't handle cut packets
<leio> so the hack instructs the demuxer to gather full packets before pushing down, but it applies that to more PES packet types than just dvbsub, but I'm not sure if that's a bad thing
<leio> either way, needs a cleaner solution, either in demuxer, or I need to handle cut packets
<tpm> ok, but really it should be fixed in the overlay, right?
<tpm> or a parser be inserted
<leio> the problem is that I don't know from the first packet beforehand if it is a cut one or no
<leio> not
<leio> err, first buffer
<leio> just when I receive the next one I see if it has a valid timestamp on it or not
<leio> so I can't very well queue it up in the chain either, I might be blocking the very last subtitle for no reason or something
<tpm> but you could just drop/ignore packets until you find one, right?
<leio> find what?
<tpm> a complete packet?
<leio> the problem isn't that they aren't complete
<leio> the problem is that they are cut across multiple GstBuffers by the demuxer without the hack
<tpm> sure, I understand that
<tpm> but you can't easily determine if a GstBuffer contains he start fragment of a packet or not?
<leio> I guess I could parse the packet and see if its length is enough, just like the libdvbsub code eventually does too
<leio> I can, it has a timestamp if it's the first chunk
<leio> I just never know if I need to wait for more, without some parsing
<tpm> ah ok
<leio> while the demuxer could just give me an uncut one in the first place
<leio> like it always does for program streams
<leio> that gather_pes is always set in gstmpegdemux, but not in gstmpegtsdemux
2010-12-08 16:30:09 +01:00
Mart Raudsepp a8d891dc5e dvbsuboverlay: initial version, work in progress 2010-12-08 16:30:09 +01:00
Mark Nauwelaerts f64f03264f audioparsers: update some documentation 2010-12-03 18:23:20 +01:00
Mark Nauwelaerts 8f0e2346c7 mpegaudioparse: add to documentation 2010-12-03 18:23:17 +01:00
Mark Nauwelaerts fa0dea3fdc dcaparse: add to documentation 2010-12-03 18:23:14 +01:00
Mark Nauwelaerts f4e916f882 qtmux: add documentation 2010-12-03 18:23:12 +01:00
Mark Nauwelaerts 26feb26fc1 baseparse: increase keyframe awareness
... which is not particular relevant for audio parsing, but more so
in video cases.  In particular, auto-determine if dealing with video (caps).
2010-12-03 18:23:06 +01:00
Stefan Kost 6e9763a090 camerabin: smal api doc update 2010-12-02 15:51:16 +02:00
Lasse Laukkanen e96b8a7b5f camerabin: Avoid assertion on image finishing
As imgbin_finished() is scheduled from g_idle_add, it might
be run a little later than expected, this can lead to the application
setting camerabin to ready before imgbin_finished() runs. In this case,
the processing counter goes to 0 and an assertion happens.

This patch relaxes the imgbin_finished() check on the processing
counter.
2010-12-02 05:42:08 -03:00
David Schleef 0e129b05f5 chopmydata: Add new element
This element splits up a stream into randomly-sized buffers.
Useful (maybe) for testing parsers.
2010-12-01 23:24:24 -08:00
Alessandro Decina aae72680bd Fix compiler warnings with gcc 4.2.1 on OSX. 2010-12-01 23:20:36 +01:00
Mark Nauwelaerts ce6d8b6d93 ac3parse: use proper EAC-3 caps 2010-12-01 15:29:55 +01:00
David Hoyt c79aba9e1e qtmux: handle msvc ftruncate incompatibility
Fixes #636185.
2010-12-01 10:48:51 +01:00
David Schleef 159e2768d6 Fix pad template memleaks
Pad templates returned by gst_static_pad_template_get() were not
being unreffed.
2010-11-30 18:54:46 -08:00
Mark Nauwelaerts aa93b5b458 baseparse: avoid unexpected stray metadata 2010-11-30 16:23:26 +01:00
Mark Nauwelaerts 145e041af5 baseparse: use proper _NONE output value when applicable 2010-11-30 16:23:24 +01:00
Sebastian Dröge 5df40a727c jp2kdecimator: Add a JPEG2000 decimator element
This element drops information from JPEG2000 images without reencoding.
2010-11-30 12:39:46 +01:00
Alejandro Gonzalez 0930f0645f qtmux: gst_qtmux_check_difference verify before subtract
Avoid negative overflow by checking the order of operands
on subtraction of unsigned integers.

https://bugzilla.gnome.org/show_bug.cgi?id=635878
2010-11-29 09:21:39 -03:00
David Schleef 7e8081c89e mpegtsmux: Fix some memleaks 2010-11-27 19:09:58 -08:00
Edward Hervey 3a507f9ef9 videomeasure: Remove dead assignments 2010-11-25 19:31:03 +01:00
Edward Hervey ba40212297 tta: Remove dead assignments and useless variable 2010-11-25 19:25:27 +01:00
Edward Hervey a4c4debf5d stereo: Remove dead assignments 2010-11-25 19:24:56 +01:00
Edward Hervey 63251255a9 sdp: Remove useless variables 2010-11-25 19:21:23 +01:00
Edward Hervey f69ee5ca33 rtpmux: Remove dead assignments 2010-11-25 19:21:11 +01:00
Edward Hervey bebfa4d50a real: Remove dead assignments 2010-11-25 19:21:01 +01:00
Edward Hervey 59ec2bff48 ivfparse: Remove dead assignments 2010-11-25 19:20:51 +01:00
Edward Hervey 6507312e46 freeze: Remove dead assignments 2010-11-25 19:06:49 +01:00
Edward Hervey 8356184967 dvdspu: Remove dead assignments 2010-11-25 19:06:38 +01:00
Edward Hervey 0d7ba7dc1a dtmf: Remove dead assignments 2010-11-25 19:06:27 +01:00
Edward Hervey 7905c19e4e dccp: Remove dead assignments 2010-11-25 19:01:42 +01:00
Edward Hervey 15cd318ada audioparsers: Remove dead assignments 2010-11-25 18:56:42 +01:00
Andoni Morales Alastruey bc3917bb04 audioparse: fix possible division-by-zero
https://bugzilla.gnome.org/show_bug.cgi?id=635786
2010-11-25 17:28:16 +01:00
Robert Swain 0de362f248 interlace: Fix buffer timestamp and duration
The field rate is twice the frame rate of the src pad and so the duration of
one output buffer is src_fps_d / (2 * src_fps_n).
2010-11-24 12:09:16 +01:00
Robert Swain 341b0c2d62 interlace: Rename pattern property to field-pattern
This is mostly for clarity of what the property means and, I believe, makes the
pattern-offset property more comprehensible.
2010-11-24 12:09:16 +01:00
Robert Swain bea13ef43b interlace: Add pattern offset property
This property allows one to start at any point within the field pattern after
a discontinuity (whenever gst_interlace_reset () is called). Thus with the
2:3:3:2 pattern, for example, one can start at offset 2 and achieve 3:2:2:3
or offset 1 and achieve 3:3:2:2.
2010-11-24 12:09:16 +01:00
Lasse Laukkanen 5c2f805199 camerabin: Create imagebin elements when image mode is set in camerabin NULL state
This patch refactors imagebin element creation and linking into separate functions,
and adds re-using also for imagebin internally created elements.

So this refactoring allows creating imagebin elements already in NULL state when
application sets the image mode, and next state change from NULL to READY will be faster.
This reduces first capture latency.

Earlier the elements were both created and linked in NULL to READY state change.
2010-11-23 10:04:24 -03:00
Andoni Morales Alastruey e307bfe6e6 mpegtsparse: Create a sub-buffer with the section length 2010-11-23 11:26:56 +01:00
Thiago Santos 7622328aab jpegparse: Small optimization on tags parsing
Optimize a little avoiding copying a taglist when parsing xmp/exif
data.
2010-11-22 17:43:53 -03:00
Thiago Santos 8d5cfc6511 outputselector: Avoid losing the last_buffer when switching
This patch makes outputselector take an extra ref when pushing
the last_buffer to avoid it losing it during the switch function.

This makes resend-latest properly work if the active-pad is changed
during the switch function buffer pushing (on a pad probe, for example).

https://bugzilla.gnome.org/show_bug.cgi?id=629917
2010-11-22 17:34:02 -03:00
Thiago Santos 0451adeabd outputselector: Recheck pending switch after pushing buffer
This patch makes output-selector always recheck if there's a
pending pad switch after pushing a buffer, preventing that
it pushes a buffer on the 'wrong' pad.

https://bugzilla.gnome.org/show_bug.cgi?id=629917
2010-11-22 17:29:17 -03:00
David Schleef edc392fcc8 colorspace: remove incorrect check 2010-11-21 23:13:30 -08:00
Mark Nauwelaerts d7a9452a6e qtmux: remove remnant of obsolete property 2010-11-19 19:21:38 +01:00
Marc-André Lureau a4b93bb95d qtmux: allow specifying trak timescale
This is mainly because Smoothstreaming client are broken and don't
take the TimeScale property into account.
2010-11-19 19:21:38 +01:00
Mark Nauwelaerts 5abdd9ab03 qtmux: include sdtp atoms for ismv fragmented files
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts 083c26aca8 qtmux: enable default fragmented file for ismlmux 2010-11-19 19:21:37 +01:00
Marc-André Lureau b5f6f94d54 qtmux: add ismlmux, for fragmented isml major brand 2010-11-19 19:21:37 +01:00
Mark Nauwelaerts 46e2186fd9 qtmux: finalize sinkpads list 2010-11-19 19:21:37 +01:00
Marc-André Lureau 8f84cbd620 qtmux: add moov in streamheader 2010-11-19 19:21:37 +01:00
Marc-André Lureau 3ae5297660 qtmux: add streamable property to avoid building fragmented mfra index 2010-11-19 19:21:37 +01:00
Mark Nauwelaerts f03dc57faf qtmux: add mfra to fragmented file
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts 68d5ab1a1d qtmux: optionally create fragmented file
In this mode, an initial empty moov (containing only stream metadata) is written,
followed by fragments containing actual data (along with required metadata).
New fragments are started either at keyframe (if such are sparse) or when
property configured duration exceeded.

Based on patch by Marc-André Lureau <mlureau@flumotion.com>

Fixes #632911.
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts bd46298ca6 qtmux: use helper to set atom flags from given uint 2010-11-19 19:21:37 +01:00
Mark Nauwelaerts 857efb4917 qtmux: refactor configuring and sending of moov
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts e361a0b3ce qtmux: refactor extra top-level atom handling
Also check a bit more for possible errors, and free proper items in such case.
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts 261df7636e qtmux: refactor slightly using buffer helper 2010-11-19 19:21:37 +01:00
Mark Nauwelaerts 3fea86fa60 qtmux: fix misinforming comment 2010-11-19 19:21:37 +01:00
Mark Nauwelaerts 1a279a9466 qtmux: delegate mvex handling to atoms
... which keeps qtmux simpler.
2010-11-19 19:21:36 +01:00
Marc-André Lureau 78d2d8598d qtmux: add mvex/trex in header if fragmented
One "trex" is added per "trak". We don't support default values,
but the "trex" box is mandatory.
2010-11-19 19:21:36 +01:00
Marc-André Lureau 84d8b33d1a qtmux: add a couple of fourcc for fragmented mp4 2010-11-19 19:21:36 +01:00
Mark Nauwelaerts 7e4c96359f qtmux: avoid removing temp file when error occurred 2010-11-19 19:21:36 +01:00
Marc-André Lureau 401fb0a09b qtmux: truncate buffer file after each send 2010-11-19 19:21:36 +01:00
Marc-André Lureau 055a1a3b0a qtmux: remove temp file when reset/finalize 2010-11-19 19:21:36 +01:00
Arun Raghavan 8ca66f336e jpegformat: Push tags after setting srcpad caps
This patch defers emission of tag events till caps are set on the source
pad of jpegparse, so that these tags can be seen downstream.

https://bugzilla.gnome.org/show_bug.cgi?id=627211
2010-11-19 14:57:59 -03:00
Alessandro Decina b005ed2197 mpegtsparse: fix compiler warning 2010-11-19 18:51:32 +01:00
Andoni Morales Alastruey fb9234de78 mpegtsparse: fix thinko 2010-11-19 18:33:10 +01:00
Andoni Morales Alastruey b11f737096 mpegtsparse: fix handling of TOT and TDT sections. Fixes #635281.
TDT and TOT sections, with PID=0x14, doesn't extend to several packets
and the section filter is not needed here and shouldn't be used at all
for these tables because the have a different structure.
For example, TDT tables were not parsed for odd hours because this bit
is the 'current_next_indicator' bit for the other sections, and the table
was discarded.
2010-11-19 18:11:50 +01:00
Andoni Morales Alastruey 2611b12970 mpegtsparse: don't calculate the CRC for TOT tables. Fixes #635281.
TOT tables, with table_id=0x73, don't have a CRC, so don't calcute it
2010-11-19 18:10:47 +01:00
Víctor Manuel Jáquez Leal e5728ebcb1 jpegparse: add gst_jpeg_parse_skip_marker ()
https://bugzilla.gnome.org/show_bug.cgi?id=626618
2010-11-19 16:30:18 +02:00
Víctor Manuel Jáquez Leal 285c32e01f jpegparse: use byte reader accessors
https://bugzilla.gnome.org/show_bug.cgi?id=626618
2010-11-19 16:27:24 +02:00
Víctor Manuel Jáquez Leal e11fdf67f0 jpegparse: inline gst_jpeg_parse_sof ()
No functional changes (hopefully).

https://bugzilla.gnome.org/show_bug.cgi?id=626618
2010-11-19 16:25:39 +02:00
Víctor Manuel Jáquez Leal d0dc44db02 jpegparse: fix typo
https://bugzilla.gnome.org/show_bug.cgi?id=626618
2010-11-19 16:25:35 +02:00
Aleksey Lim d66ef4dea8 camerabin: Do not use audio clock after stopping video capture
Adda provide clock function to camerabin to make it not
provide the audio clock of the record bin when no video
recording is happening

Fixes #613379
2010-11-18 10:58:06 -03:00
Mark Nauwelaerts 68dca2e704 baseparse: use correct offset when adding index entry
... bearing in mind that BUFFER_OFFSET is media specific and may not
reflect the basic offset after having been parsed.
2010-11-17 16:24:13 +01:00
Mark Nauwelaerts 9b6439a36c baseparse: enhancements for timestamp marked framed formats
That is, as such formats allow subclass to extract position from frame,
it is possible to extract duration (if not otherwise provided)
from (near) last frame, and a seek can fairly accurately target the required
position.

Fixes #631389.
2010-11-17 15:36:41 +01:00
Mark Nauwelaerts 08cab00b8b baseparse: refactor frame scanning peformed by _loop 2010-11-17 15:36:38 +01:00
Mark Nauwelaerts 587106f1cf baseparse: slightly optimize sending of pending newsegment events 2010-11-17 15:36:36 +01:00
Mark Nauwelaerts f82f330537 baseparse: minor fixes and enhancements
Arrange for upstream as well as downstream flushing when seeking.
Also determine upstream size as well as seekability.  Adjust some comments
to reality and employ debug statement in proper order.
2010-11-17 15:36:23 +01:00
Mark Nauwelaerts b65da8e775 aacparse: minor cleanups 2010-11-17 15:36:20 +01:00
Mark Nauwelaerts 0fdc68cd46 aacparse: fix regression in ADIF src caps setting 2010-11-17 15:36:18 +01:00
Mark Nauwelaerts 36cbbd94c6 flacparse: parse seektable
Fixes #631389 (partially).
2010-11-17 15:36:02 +01:00
Mark Nauwelaerts 551f9707fa flacparse: minor refactor and enable default baseparse segment clipping 2010-11-17 15:35:59 +01:00
Mark Nauwelaerts 896c4b71af mpegaudioparse: fix silly leak in _reset 2010-11-09 20:52:10 +01:00
Sebastian Dröge 9ac7950d2c colorspace: Update generated ORC sources 2010-11-05 10:57:22 +01:00
Thiago Santos 60a6eca2a1 camerabin: Adds 'idle' property
Adds 'idle', a read-only boolean property that tells applications
if there is any capturing/saving/encoding going on in camerabin. If
not, it is safe to set it to NULL and release resources without
losing data.
2010-11-04 22:48:02 -03:00
Lasse Laukkanen bc1b09c1c4 camerabin: Add "ready-for-capture" property
Add "ready-for-capture" property to indicate if preparing a new
capture is possible.

"ready-for-capture" changes before the 'image-done' signal, so
the application can be notified that it can do a new capture
even before the previous one has finished encoding/saving.
2010-11-04 21:41:07 -03:00
Sebastian Dröge a1994b59f5 colorspace: Inverse -base version check logic to actually make sense 2010-11-04 14:19:09 +01:00
Olivier Crête 7ad651c3ff pcapparse: Add support for Linux Cooked Capture (SLL) frames 2010-11-03 18:50:51 -04:00
Olivier Crête 16ec12371a pcapparse: Fail on unknown version or linktype
The element only knows about major version 2 and only decodes linktype ethernet
2010-11-03 18:23:27 -04:00
Olivier Crête ec16c22f54 pcapparse: Send error GstMessage if stream doesn't have the expected magic 2010-11-03 18:02:49 -04:00
Andoni Morales Alastruey 891e08f220 mpegtsparse: send TDT tables messages in a serialized event downstream
https://bugzilla.gnome.org/show_bug.cgi?id=633917
2010-11-03 04:48:00 +00:00
Sebastian Dröge 6723122127 colorspace: Add support for IYU1 2010-11-03 15:39:27 +01:00
Sebastian Dröge dec9b54698 colorspace: First version of YUV9 and YVU9 implementation 2010-11-03 15:39:27 +01:00
Sebastian Dröge eccb88afb0 colorspace: Use GST_CHECK_PLUGINS_BASE_VERSION() instead of other hacks 2010-11-03 15:39:27 +01:00
Thijs Vermeir 2271608c43 mpegvideoparse: fix timestamp generation
Use information from the gop header and picture
header to calculate the picture timestamp. (time_code
and temporal_reference) and adapt to upstream timestamps if
provided.

https://bugzilla.gnome.org/show_bug.cgi?id=632222
2010-11-03 11:12:38 +01:00
Tim-Philipp Müller ff0a34ce3d colorspace: fix build with current git of gst-plugins-base
ifdef tests don't work so well if we define them in the code
above in case they aren't defined.
2010-11-02 17:01:01 +00:00
Sebastian Dröge 50fa9610b1 colorspace: Add support for 8 bit paletted RGB
This needs the 8 bit paletted support from -base
which will be committed after release. Without this
the 8 bit parts are disabled.
2010-11-02 16:07:07 +01:00
Thiago Santos d96964e391 camerabin: Add missing change to previous commits
Forgot to add this change to the latest commits. This fixes the build.
2010-11-02 10:24:49 -03:00
Thiago Santos 7ae195788a camerabin: Fix leaks in the preview handling
Remember to unref the bus after adding the watch.
Remember to unref the element after getting it with
gst_bin_get_by_name.
2010-11-02 09:39:49 -03:00
Lasse Laukkanen 5a5fca2689 camerabin: Do not leak a caps
gst_caps_replace doesn't take ownership, but refs the caps. So we
unref the remaining caps.
2010-11-02 09:39:40 -03:00
Thiago Santos 618f32ad8d camerabin: Reset pre-night-mode stored fps when mode changes
When switching between video/still modes the pre-night-mode fps
should be reset to prevent it being used in the incorrect mode, causing
the videosource to fail configuring itself
2010-11-02 09:16:45 -03:00
Thiago Santos 6ee256d462 camerabin: Store app preferred capture parameters separately
Store width/height/fps for video captures in a separate variable
than the one that stores the currently used value.

This prevents the user preferences to be lost when resetting
the currently used dimensions for night mode, for example
2010-11-02 09:16:44 -03:00
Thiago Santos 73a909c0e3 camerabin: cleanup used caps when going to NULL
Resets used caps so that camerabin doesn't try to use them
when restarting, where elements/properties might have changed
and the old caps be incompatible
2010-11-02 09:16:44 -03:00
Teemu Katajisto ca16d951ba camerabin: fix priority for idle_add function
Adds a higher priority to the idle_add function for when
the image bin finished the image capture. This reduces the
delay for the application to be notified about this.
2010-11-02 09:16:44 -03:00
Stefan Kost dad82be640 inputselector: log times in human readable form 2010-11-01 23:05:42 +02:00
Stefan Kost 380fd56938 inputselector: move reoccuring logs to LOG and remove a double info
Less debug spew in DEBUG category. No need to log pad again if we use
GST_LOG_OBJECT(pad,...).
2010-11-01 22:47:21 +02:00
Tim-Philipp Müller c627604ea9 cog, colorspace: update orc backup functions for latest changes
Should fix build on systems without the latest orc.
2010-11-01 15:54:18 +00:00
Sebastian Dröge e8186a45a1 colorspace: Add support for RGB15 and BGR15 2010-10-31 23:46:27 +01:00
Sebastian Dröge a2eb43fade colorspace: Add support for RGB16 and BGR16 2010-10-31 23:44:20 +01:00
Sebastian Dröge 3c8e0286dc colorspace: Add support for Y16 2010-10-31 23:25:57 +01:00
Sebastian Dröge 52f3e1351a colorspace: Fix Y800 ORC getline implementation 2010-10-31 23:25:40 +01:00
Sebastian Dröge d29423fd76 colorspace: Add support for A420 2010-10-31 23:08:39 +01:00
Sebastian Dröge cd135c24e4 colorspace: Add support for Y41B 2010-10-31 23:00:07 +01:00
Sebastian Dröge eb2a295316 colorspace: Add support for SDTV/HDTV YUV conversions 2010-10-31 22:47:35 +01:00
Sebastian Dröge c1027a72fe colorspace: Add comment for the A420 getline/putline table row 2010-10-31 22:21:35 +01:00
Sebastian Dröge d8027b4e67 colorspace: Add const to the source arrays and the getline/putline table 2010-10-31 20:40:09 +01:00
Sebastian Dröge 58949450b5 colorspace: Make fast-path transform table const 2010-10-31 19:42:30 +01:00
Sebastian Dröge e49aa545d0 colorspace: Only do the I420->YUY2 conversion once per scanline in the fast path 2010-10-31 19:40:01 +01:00
Mark Nauwelaerts ba35b17b98 baseparse: use only upstream duration if it provides one 2010-10-29 14:11:47 +02:00
Mark Nauwelaerts 61cf6f2ffa baseparse: reflow update_bitrate code
... which makes local variables represent real state better, and avoids
triggering unneeded updates/actions.
2010-10-29 14:11:44 +02:00
Mark Nauwelaerts 841e09e234 baseparse: add some debug statements 2010-10-29 14:11:42 +02:00
Sebastian Dröge 4c48e791b3 gaudieffects: Include gstcontroller header and add the required CFLAGS 2010-10-28 18:52:07 +02:00
Luis de Bethencourt cadfe13839 gaudieffects: made filter parameters dynamic and controllable 2010-10-28 18:52:07 +02:00
Sebastian Pölsterl 13431420eb mpegtsparse: Add tag event emission. Fixes #627253 2010-10-28 11:45:46 +01:00
Thiago Santos 0999fdb82a camerabin: Check the source scene mode when creating it
As camerabin only gets notified of the changes from the
video source element, it should query the initial value
once the source is created so it initializes itself
correctly.
2010-10-21 16:43:45 -03:00
Tim-Philipp Müller 05cec96949 dcaparse: init variable to make osx build bot happy
gstdcaparse.c: In function 'gst_dca_parse_check_valid_frame':
gstdcaparse.c:246: warning: 'best_sync' may be used uninitialized in this function
2010-10-19 23:25:54 +01:00
Tim-Philipp Müller d5a008b9ee audioparsers: add very basic dts/dca parser
Still some issues, e.g. with seekable queries in totem, but also
processing already-chunked input (created with matroskademux ! gdppay).
2010-10-19 18:00:14 +01:00
Stefan Kost 90e90fd368 videoanalyse: fix copy'n'paste off by one for param spec flags change 2010-10-19 16:25:00 +03:00
Stefan Kost 0c22e1b954 various (gst): add missing G_PARAM_STATIC_STRINGS flags
Canonicalize property names as needed.
2010-10-19 15:47:17 +03:00
Stefan Kost 92634ff92a various: wrap property registration and add a single fixme for long desc. 2010-10-19 15:36:18 +03:00
Stefan Kost 8ab60bd7cd pnmenc: remove stray " in doc comment 2010-10-19 15:08:06 +03:00
Stefan Kost 1b23f7719a dtmfsrc: remove DEBUG_FUNCPTR from gobject vmethods 2010-10-19 13:46:57 +03:00
Thiago Santos 744a1d1542 camerabin: Remove unused entry
Remove camerabin unused enum entry
2010-10-14 14:09:39 -03:00
Thijs Vermeir 96a7f9c8b1 mpegvideoparse: accelerate search for start code
As the startcode always starts with 0x000001 some iterations
can be skipped if values > 1 are detected.

~ 70% faster on HD video stream.

https://bugzilla.gnome.org/show_bug.cgi?id=632130
2010-10-14 18:52:27 +02:00
Mark Nauwelaerts 9f4339c059 ac3parse: properly parse e-ac3 frame header
Also add a few debug statements.
2010-10-14 16:53:01 +02:00
Mark Nauwelaerts 231d4d9bdc qtmux: prevent infinite loop when adjusting framerate
Fixes #632070.
2010-10-13 17:48:34 +02:00
Thiago Santos 461db47e87 geometrictransform: Adds rotate element
Adds a new rotate element to geometrictransform. It still
needs some work. But this is a good starting point.

Based on patch from Bert Douglas <bertd tplogic com>
2010-10-13 12:14:36 -03:00
Mark Nauwelaerts 697419b755 flacparse: tweak setting buffer metadata; avoid timestamp jitter
Fixes #631993.
2010-10-13 11:01:13 +02:00
Mark Nauwelaerts 9b9d8a516b aacparse: streamline src caps setting
In particular, also set src caps whenever changes in stream warrant doing so.
2010-10-12 18:19:49 +02:00
Sebastian Dröge f576c3f128 flacparse: Don't drop the last frame if it is followed by garbage
See bug #631814.
2010-10-12 10:31:41 +02:00
Mark Nauwelaerts 6e1d65d788 baseparse: perform bitrate handling and posting after newsegment sending 2010-10-11 17:50:21 +02:00
Mark Nauwelaerts 30feca6966 baseparse: immediately post subclass provided bitrate 2010-10-11 17:42:09 +02:00
Mark Nauwelaerts 11bdf1def1 flacparse: fix parsing with unknown framesizes
Fixes #631814 (mostly).
2010-10-11 17:13:27 +02:00
Sebastian Dröge 812075dc5d flacparse: Simplify frame header parsing by using lookup tables
Based on a patch by Felipe Contreras.

See bug #631200.
2010-10-07 23:38:26 +02:00
Sebastian Dröge 64407ca94b flacparse: Don't parse the complete FLAC frames but only look for valid frame headers
Thanks to Felipe Contreras for the suggestion. This is partially
based on his patches and makes flacparse more than 3.5 times faster.

Looking for valid frame headers is unlikely to give false positives
because every frame header is at least 9 bytes long, contains a
14 bit sync code and a 8 bit checksum over the first 8 bytes.

Fixes bug #631200.
2010-10-07 23:38:25 +02:00
Mark Nauwelaerts 1617616516 sdpdemux: workaround internal rtspsrc failing state change
Fixes #630046.
2010-10-07 12:00:38 +02:00
Sebastian Dröge 77c05b5419 audioparse: Add support for setting the channel-positions 2010-10-07 10:34:48 +02:00
Sebastian Dröge 396501784c flacparse: Really post tags only after the initial newsegment event
The first newsegment event will be send by the first call to
gst_base_parse_push_buffer() if necessary, posting the tags
before that is not a good idea. Instead do it from the
GstBaseParse::pre_push_buffer vfunc.
2010-10-06 18:32:51 +02:00
Sebastian Dröge 59720fd42a chromahold: Fix hue calculation for red colors
Also make the calculation much more accurate...
2010-10-06 16:54:16 +02:00
Sebastian Dröge 10e0187df1 chromahold: Make everything greyscale if the target color is grey 2010-10-06 15:21:09 +02:00
Sebastian Dröge fa2a4af5bb chromahold: Add chromahold color effect
This effect converts all colors except a single one to
grey. The color is selected by an RGB triple and a
tolerance for the color matching in hue degree can be specified.
2010-10-06 11:57:12 +02:00
Mark Nauwelaerts e0cb15cea0 sdpdemux: fix and reflow some exits 2010-10-05 17:21:22 +02:00
Mark Nauwelaerts 216887d599 sdpdemux: error out if no streams found in sdp message 2010-10-05 17:08:21 +02:00
Mark Nauwelaerts 6c96f8cf1e sdpdemux: unbreak standard manager setup 2010-10-05 17:08:19 +02:00
Tim-Philipp Müller 716e430fd5 Revert "baseparse: add skip property"
This reverts commit b5a3d60363.

Reverting this for now, since no one really seems to remember why this
property exists or what it could possibly be good for. It seems to have
been in the original mp3parse since the beginning of time and was back-
ported from there.
2010-10-05 11:17:52 +01:00
Sebastian Dröge 7e581aebe2 flacparse: Fix uninitialized variable compiler warnings
These warnings are wrong, the variables are only used if they were
initialized by the bit reader.
2010-10-04 10:41:52 +02:00
Felipe Contreras b6f1e8aa68 flacparse: fix picture parsing
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2010-10-04 08:09:57 +02:00
Sebastian Dröge 65f620af8e flacparse: Push tags before the header buffers are pushed 2010-10-04 08:09:57 +02:00
Felipe Contreras 1a49b4de63 flacparse: trivial caps fix
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2010-10-04 08:09:56 +02:00
Thiago Santos 4697cffbee qtmux: Add G_PARAM_STATIC_STRINGS
Add G_PARAM_STATIC_STRINGS to qtmux properties
2010-10-03 23:47:29 -03:00
Sebastian Dröge 26b2c4a1b3 audioparser: Let the format string agree with the parameters to fix compiler warning 2010-10-03 23:50:29 +02:00
Sebastian Dröge 4903e140e2 ac3parse: Use unchecked versions of the bitreader get functions
We didn't check the return values anyway...
2010-10-03 15:42:17 +02:00
Stefan Kost 7ae63847a8 valve: no need to ref the object in _chain
Don't ref the pad in chain, like elsewhere
2010-10-02 18:27:14 +03:00
Arun Raghavan 2d699010e9 baseparse: Fix debug output
We lose the reference to the buffer after gst_pad_push(), so the debug
print should happen before.

https://bugzilla.gnome.org/show_bug.cgi?id=622276
2010-10-01 13:31:36 +02:00
Mark Nauwelaerts ad1304dcf1 baseparse: support reverse playback
... in pull mode or upstream driven.
2010-10-01 12:15:52 +02:00
Mark Nauwelaerts 603d6ba183 baseparse: remove done TODOs and update documentation 2010-10-01 12:15:52 +02:00
Mark Nauwelaerts fdff382686 baseparse: use determined seekability in answering SEEKING query 2010-10-01 12:15:52 +02:00
Mark Nauwelaerts b5a3d60363 baseparse: add skip property 2010-10-01 12:15:52 +02:00
Mark Nauwelaerts 8d7720eb93 mpegaudioparse: initial version
... adequately equivalent to mp3parse, so lets boldly set it
to higher rank.
2010-10-01 12:15:51 +02:00
Mark Nauwelaerts d7b31821ea aacparse: set minimum frame size at _start
... rather than one time at _init.
2010-10-01 12:15:51 +02:00
Mark Nauwelaerts 36165d8d44 baseparse: use _set_frame_props to configure frame lead_in and lead_out
... provided a corresponding decoder with sufficient leading and following
frames to carry out full decoding for a particular segment.
2010-10-01 12:15:51 +02:00
Mark Nauwelaerts 13f85c8f11 baseparse: use _set_duration to configure duration update interval
... as it logically belongs there as one or the other; either subclass
can provide a duration, or an estimate must be made (reguarly updated).
2010-10-01 12:15:51 +02:00
Mark Nauwelaerts eb9ba9e115 baseparse: localize use of provided fps information 2010-10-01 12:15:50 +02:00
Mark Nauwelaerts def0aadb81 baseparse: seek table and accurate seek support 2010-10-01 12:15:50 +02:00
Mark Nauwelaerts 174d2d46fc baseparse: proper and more extended segment and seek handling
That is, loop pause handling, segment seek support, newsegment for gaps, etc
2010-10-01 12:15:50 +02:00
Mark Nauwelaerts ec195ab2e5 baseparse: add index support 2010-10-01 12:15:50 +02:00
Mark Nauwelaerts 80646f5555 baseparse: refactor state reset 2010-10-01 12:15:49 +02:00
Mark Nauwelaerts ad95a79de3 baseparse: prevent indefinite resyncing 2010-10-01 12:15:49 +02:00
Mark Nauwelaerts 1c14fd0a31 baseparse: specific EOS handling if no output so far 2010-10-01 12:15:49 +02:00
Mark Nauwelaerts a1c072e0aa baseparse: adjust _set_frame_prop documentation and set default as claimed 2010-10-01 12:15:49 +02:00
Mark Nauwelaerts cf159041a7 baseparse: fix bitrate copy-and-paste and update heuristic 2010-10-01 12:15:49 +02:00
Mark Nauwelaerts 80ba9a1a3e baseparse: post duration message if average bitrates is updated 2010-10-01 12:15:48 +02:00
Mark Nauwelaerts 4dff7c81d6 baseparse: remove is_seekable vmethod and use a set_seek instead
Seekability, like duration, etc is unlikely to change (frequently), and
the default assumption covers most cases, so let subclass set when needed.
At the same time, allow subclass to indicate if it has seek-metadata (table)
available, and possibly have it provide an average bitrate.
2010-10-01 12:15:48 +02:00
Mark Nauwelaerts c516bf8679 ac3parse: remove redundant default is_seekable 2010-10-01 12:15:48 +02:00
Mark Nauwelaerts 582b756bc1 baseparse: add another hook for subclass prior to pushing buffer
... and allow subclass to perform custom segment clipping, or to
emit tags or messages at this time.
2010-10-01 12:15:48 +02:00
Mark Nauwelaerts ea7e051827 baseparse: 0 converts to 0 by default 2010-10-01 12:15:47 +02:00
Mark Nauwelaerts 2e7de32849 basepase: refactor conversion using helper function and export default convert 2010-10-01 12:15:47 +02:00
Mark Nauwelaerts 420121705d baseparse: streamline query handling 2010-10-01 12:15:47 +02:00
Mark Nauwelaerts a1f51f3d17 baseparse: cleanup struct and remove unused member 2010-10-01 12:15:47 +02:00
Mark Nauwelaerts b0d62f4182 audioparsers: increase ranks to enable auto-plugging
Because we can, and should, have some shakedown testing before having
these make it into -good later on ...
2010-10-01 12:15:46 +02:00
Arun Raghavan 2978216db1 baseparse: Allow chaining of subclass event handlers
This allows the child class to chain its event handler with
GstBaseParse, so that subclasses don't have to duplicate all the default
event handling logic.

https://bugzilla.gnome.org/show_bug.cgi?id=622276
2010-10-01 12:15:46 +02:00
Olivier Crête 9246ed081e valve: Make the drop variable into an atomic.
Using an atomic allows us to avoid locking the whole object all time time.
As suggested by Stefan Kost.
2010-09-30 16:26:19 -04:00
Olivier Crête 0af7cc8ba7 valve: Correctly set the DISCONT flag after dropping buffers 2010-09-30 16:22:04 -04:00
Olivier Crête 18ed4bafb9 valve: Remove superflous checking casts 2010-09-30 16:16:47 -04:00
Olivier Crête 5656523162 valve: Fix style, improve comments
Minor improvements to the comments and break a few overly long lines
2010-09-30 16:13:23 -04:00
Olivier Crête 51887b934f rtpmux: Improve documentation
Add an example pipeline, and try to explain a bit more what it does.
2010-09-30 16:07:29 -04:00
Thiago Santos 5cb8164938 camerabin: Do not wrongly fail when starting a capture
If the elements are in NULL/READY and changing state to
PAUSED/PLAYING while a capture is started
camerabin might not set the active_bin properly causing the
capture start to fail.

This patch fixes it by checking the current and pending state
of the branches instead of only the current one
2010-09-29 18:42:27 -03:00
Sebastian Dröge 4e43e8bc67 frei0r: Use static caps instead of converting strings to caps all the time 2010-09-28 16:20:50 +02:00
Sebastian Dröge 498620d16c frei0r: Fix crashes if plugins don't provide correct property information
The vertigo plugin for example claims to have 3 properties but
the 3rd property does nothing and has a NULL name.

Fixes bug #630783.

Thanks to Martti Kühne for debugging this.
2010-09-28 16:16:31 +02:00