Commit graph

1414 commits

Author SHA1 Message Date
Jan Schmidt
13694cd654 resindvd: Make segment updates less aggressive.
When updating a pad, send the update to half a second behind the SCR,
which avoids ever updating the start time for a pad to beyond the end of
the cell. Also, remember the last actual new-segment start time for each
pad, and use it when closing the segment.
2009-05-14 11:28:15 +01:00
Jan Schmidt
cae9db0d8c resindvd: Rework button highlight calculation slightly
When the current button number is higher than the number of available
buttons, switch to the highest numbered button rather than the lowest.

Also, don't throw errors when we fail to retrieve some button info
from libdvdnav, just reset the highlight.
2009-05-14 11:28:15 +01:00
Jan Schmidt
73f77c04aa resindvd: Send commands-changed on button change and handle commands query
Send the commands-changed navigation message when the set of available
DVD menu button actions changes, and handle the commands navigation
query so that (e.g.) Totem can know about the available navigation
commands.
2009-05-14 11:28:14 +01:00
Jan Schmidt
d9fef92ea0 resindvd: Fix a leak of the DVD title string 2009-05-14 11:28:14 +01:00
Jan Schmidt
b769f22404 resindvd: Fix raciness in rsndvdbin when initially creating pads
Protect pad exposure with a preroll lock to avoid situations
where no-more-pads is fired more than once, or fired just before
the last pad is actually added.
2009-05-14 11:28:14 +01:00
Jan Schmidt
11a7e37325 resindvd: Modify the segment update logic
Send segment updates to the audio and subpicture pads more frequently,
but less often to the video pad, where timestamps appear less often.
This helps with gap filling on some DVDs.
2009-05-11 17:50:41 +01:00
Jan Schmidt
d7cabb0801 resindvd: Increase the amount of filler audio generated
When creating a filler audio buffer in rsnaudiomunge, generate
a bit more, as audio sinks don't seem to preroll otherwise. This
needs a better algorithm in general, to intelligently fill the
gap, rather than hard-coding a value.
2009-05-11 17:04:10 +01:00
Jan Schmidt
4204b644ef resindvd: Manage timed still sequences better
Make timed still frames work better by extending the current segment
when needed, and restarting the still sequence with the correct
remaining duration when the wait it interrupted by activation of a
highlight NAV packet.
2009-05-11 17:04:10 +01:00
Jan Schmidt
79f653fde8 resindvd: Change the audiomunge debug output.
Make sure we always show information about the segment events passing through,
even when pre-roll audio buffers aren't going to be needed.
2009-05-11 17:04:09 +01:00
Jan Schmidt
64b6d247d4 resindvd: Rename the audio munger debug category
Rename a debug category: rsn_audiomunge -> rsnaudiomunge.
2009-05-11 17:04:08 +01:00
Jan Schmidt
c0854113a1 resindvd: Ensure we send a title tag in the first play section. 2009-05-11 17:04:08 +01:00
Jan Schmidt
f2f79cd410 resindvd: Simplify some stuff. Remove an unnecessary LOG message.
Skip attempting to schedule a nav block unless we're in PLAYING. Take a lock
slightly later, when we actually need it. Remove a noisy LOG message.
2009-05-11 17:04:07 +01:00
Jan Schmidt
9f01bd6434 resindvd: Remove per-menu description from the TITLE tag
The part number reported while in a menu doesn't reflect the selected
menu, so it's pointless to use it to report which menu we're in (Audio,
Angle etc). Just report "DVD Menu" in the title tag instead.
2009-05-11 17:04:07 +01:00
Jan Schmidt
86d908589c resindvd: Send title info message when current angle is switched.
Make sure we send an update title tag when the current angle or available
angles changes.
2009-05-11 17:04:07 +01:00
Jan Schmidt
270cd7c421 resindvd: Implement navigation command change message and query
Send messages when the available DVD navigation commands changes, and
handle navigation commands and angles queries.
2009-05-11 17:04:06 +01:00
Christian Schaller
028efb726c Remove wrong stuff from preset file 2009-05-09 23:47:39 +01:00
Christian Schaller
3c073e45c0 Add a more representative example preset file for x264 2009-05-09 12:43:15 +01:00
Christian Schaller
67dd3c11f4 Add ranks to various muxers and encoders in -bad 2009-05-07 17:53:42 +01:00
Jan Schmidt
77aefd5870 resindvd: Don't open all VTS ifo at the start
Load each VTS ifo the first time the disc enters that VTS,
rather than scanning them all at the start.
2009-05-06 21:48:30 +01:00
Jan Schmidt
a5fbb123ca resindvd: Send a title tag when we change chapter/menu/angle
Allow apps like Totem to display a nicer title that reflects the current
position on the disc.
2009-05-06 21:26:25 +01:00
Jan Schmidt
f7fad4a88b resindvd: Don't send highlight-reset messages when not needed
Fix a small bug that results in the SPU highlight being reset more often
than is necessary - ie, clearing it when it's already cleared.
2009-05-06 21:21:42 +01:00
Jan Schmidt
491583b648 resindvd: send angles-changed messages when appropriate
When the current angle changes, or the number of available angles changes,
send an angles-changed message to let the app know.
2009-05-06 21:21:37 +01:00
Jan Schmidt
874549b536 resindvd: Make the next/prev angle switching cycle at the ends
When the current angle is 1 and prev_angle is requested, loop to the
maximum angle and vice versa for next_angle
2009-05-06 20:19:48 +01:00
Sebastian Dröge
44f0d31ba3 celt: Implement preset interface 2009-05-04 12:37:31 +02:00
Sebastian Dröge
f3105eccd2 dirac: Implement preset interface 2009-05-04 12:36:17 +02:00
Sebastian Dröge
c53e4b8efc jp2kenc: Implement preset interface 2009-05-04 12:34:59 +02:00
Sebastian Dröge
e9e52d0a9d mpeg2enc: Implement Preset interface 2009-05-04 12:33:41 +02:00
Sebastian Dröge
296caf4660 xvid: Implement Preset interface 2009-05-04 12:31:58 +02:00
Sebastian Dröge
42d24ab5fb faac: Implement preset interface 2009-05-04 12:30:26 +02:00
Mark Nauwelaerts
c63fd7a123 mms: extend BaseSrc query handling rather than overriding 2009-05-03 14:46:59 +02:00
Tim-Philipp Müller
ac7cda4b3b dtsdec: cosmetic fix to header structure to make gtk-doc happy 2009-05-01 14:28:44 +01:00
Stefan Kost
d3ac465ec1 x264enc: add preset support
Add preset iface and a (dummy) preset file as a starting point.
2009-04-30 00:07:37 +03:00
Jan Schmidt
e62dc2c1ab resindvd: Convert some g_print to GST_LOG_OBJECT and friends, remove some others
Trim down the g_print verbosity.
2009-04-29 21:31:21 +01:00
Jan Schmidt
febe0c15d0 resindvd: Add DVDFASTSTART env var to making some testing easier 2009-04-29 21:02:16 +01:00
Jan Schmidt
243f58f2fc resindvd: Remove redundant modulo operation in the demuxer 2009-04-29 21:02:16 +01:00
Jan Schmidt
eedf313156 resindvd: Map audio and subpicture logical streams to physical.
The logical audio and subpicture stream number doesn't always correspond
with the physical substream it is coming from. When configuring the demuxer
pads, use the mapping table provided in each PGC to get the layout and
ensure the demuxer creates the correct pads.
2009-04-29 21:02:15 +01:00
Mark Nauwelaerts
9a0c38e01e x264enc: add some documentation on profile 2009-04-29 19:43:40 +02:00
LRN
d4ff7292fd modplug: Use correct header file
modplug's sndfile.h conflicts with libsndfile's sndfile.h, so
we'll access it directly using modplug/sndfile.h.  Fixes #573849

Signed-off-by: David Schleef <ds@schleef.org>
2009-04-21 18:55:05 -07:00
LRN
bc29123723 mpeg2enc: Get number of processors on win32
Fixes #573848.

Signed-off-by: David Schleef <ds@schleef.org>
2009-04-21 18:55:05 -07:00
Edward Hervey
a025f156a5 mmssrc: If the connection fails, emit a redirection msg to the rtsp equivalent.
This should help fix the issue with Windows Media Server using rtsp... but
still declaring the stream with mms://
2009-04-21 16:48:39 +02:00
Janin Kolenc
dde471ab49 x264enc: add force keyframe event handling
Use the GstForceKeyUnit event to force a keyframe.
Fixes #578112.
2009-04-09 23:53:39 +02:00
Tim-Philipp Müller
788fed202d bz2: fix some refcount mistakes and do some cleaning up
No need to unref buffers if pad_push returns something non-FLOW_OK.
In fact, this will cause assertions or crashes. However, we do need
to unref the input buffer whenever we don't pass it downstream. Also,
a non-OK flow return is not an error, so don't post error messages on
the bus - the pipeline may just be shutting down. Miscellaneous other
clean-ups and crack removal. Plenty of work left for those who feel
like it.
2009-04-04 19:00:18 +01:00
Tim-Philipp Müller
e55f069fe6 resindvd: require libdvdnav >= 4.1.2 for dvdnav_get_current_time()
Fixes #577864.
2009-04-03 18:13:00 +01:00
Jan Schmidt
70bdf00200 resindvd: Send both the logical and physical substream ID in the stream change.
When sending the stream change message(s) to the demuxer, also include the
logical stream id along with the physical ID, so that the demuxer can remap
logical->physical MPEG stream ID.
2009-04-02 14:49:54 +01:00
Jan Schmidt
0cf5e27b5b resindvd: Use new GstNavigation functionality.
Handle the new DVD commands, so that we can handle commands from a player
to change angle, jump to menus etc. Use the new GstNavigation event parsing
functions, instead of hand-rolled stuff.

Send GstNavigation notification messages when the mouse enters a button
or leaves it, so UI can turn the mouse cursor to a hand icon.
2009-04-02 14:49:39 +01:00
Jan Schmidt
97a1f14fc0 resindvd: Switch to using a hard-coded mpeg2dec, and change pad blocking a bit.
Change the pad blocking behaviour during startup, and use a hard-coded mpeg2dec (for the moment), in order to make things work with playbin2.
2009-04-02 14:49:24 +01:00
Jan Schmidt
1c6529e93e resindvd: Add newline to debug g_print statement 2009-04-02 14:49:20 +01:00
Jan Schmidt
b9c4db5d53 resindvd: Make highlights work when jumping into menus
Make the highlights re-appear correctly when jumping back into menus
by making sure to set the flushing_seek flag for user-action initiated
seeks.
Fiddle some debug related to tracking down the issue.
2009-04-02 14:49:20 +01:00
Jan Schmidt
85db327e82 resindvd: Support multiangle titles.
Add a workaround for an apparent libdvdnav bug where it loses nav packets
during multiangle titles, and add some keypress bindings to switch the angle.
2009-04-02 14:49:19 +01:00
Jan Schmidt
5f789d3075 resindvd: Add back in support for using hardcoded a52dec 2009-04-02 14:49:04 +01:00
Jan Schmidt
2e4c08fbbe resindvd: Add some debug when creating the output pads in the demuxer 2009-04-02 14:48:23 +01:00
Jan Schmidt
4a320ec12a resindvd: More hacking on the audio decoder. 2009-04-02 14:48:12 +01:00
Jan Schmidt
12625af8d8 resindvd: Trim back the g_print debug - convert to GST_DEBUG and GST_LOG 2009-04-02 14:48:09 +01:00
Jan Schmidt
09b41120e4 resindvd: Extend the Resin audio decoder element, and switch rsndvdbin to use it 2009-04-02 14:48:00 +01:00
Jan Schmidt
7d33cf22a9 resindvd: First part of the re-plugging audio decoder 2009-04-02 14:46:54 +01:00
Jan Schmidt
093f844640 resindvd: remove unused code path from the bin 2009-04-02 14:46:54 +01:00
Jan Schmidt
b6b2677857 resindvd: Indent some things 2009-04-02 14:46:53 +01:00
Jan Schmidt
15792ae809 resindvd: Switch GST_BOILERPLATE to G_DEFINE_TYPE for no real reason. 2009-04-02 14:46:53 +01:00
Jan Schmidt
8244a3d688 resindvd: Add faststart, and work around some multi-angle issues
Add a 'fast-start' property to the rsndvdsrc element, that attempts to
jump directly to the DVD menu when starting. Doesn't work correctly on all
titles yet.

Add workarounds for issues with multiple angles in libdvdnav: Use a heuristic
to avoid detecting discontinuities during multiple-angle titles, it seems
caused by libdvdnav losing some NAV packets in multiangle titles. Fix
seeking in multi-angle titles by aligning our sector calculation logic
with libdvdnav's. Also, use libdvdnav's dvdnav_get_current_time() method
to determine the logical position of the current cell when it changes, as the
cell_start value in the cell_change event provides a number that doesn't
compensate for angle cell blocks.
2009-04-02 14:46:35 +01:00
Jan Schmidt
160bf21e9d resindvd: Small debug output change in the source element 2009-04-02 14:46:23 +01:00
Sebastian Dröge
3eba30d509 jp2enc: Unref peer caps after usage to fix a memory leak 2009-04-02 13:05:11 +02:00
Mark Nauwelaerts
d2f9546369 mpeg2enc: fix bitrate property settings
Align bitrate property interpretation with usual mpeg2enc behaviour.
Fixes #575736.
2009-03-30 22:06:55 +02:00
Tim-Philipp Müller
a81d8ca777 jp2kdec: implement basic QoS
Don't try to decode frames that are going to be late anyway.
2009-03-27 19:55:19 +00:00
Sebastian Dröge
6f62242c5f Merge branch 'mxfmux' 2009-03-26 08:13:10 +01:00
Stefan Kost
ebefc41614 ladspa: comment signalprocessor class more and do minor code cleanups 2009-03-25 23:04:13 +02:00
Wim Taymans
13bc8b8c03 jack: Add new connection mode
Add a new connection mode to jacksrc and jacksink. In this new auto-force
connection mode jack will create as many ports as requested/needed in the
pipeline and will then connect as many physical ports as possible, possibly
leaving some ports unconnected.

Also get rid of some leftover g_print.

Fixes #575284.
2009-03-23 17:07:16 +01:00
Alessandro Decina
276228da80 celtenc: build with celt 0.5. 2009-03-23 12:16:52 +01:00
Stefan Kost
5540ec23ec metdata: more logging and code cleanups
Sprinkle more debug log statements into the code. Move some repeaded string
constant into header files and use sizeof instead of manually counted bytes. Add
comments.
2009-03-22 21:02:45 +02:00
Stefan Kost
4b3e2b6e4c metadata: fix muxing jfifless jpeg. Fixes #574401
Don't error out when to be muxed jpeg has no jfif, as we can easily
add it.
2009-03-22 21:02:45 +02:00
Stefan Kost
80caa6bf70 metadata: fix include guards 2009-03-22 21:02:45 +02:00
Stefan Kost
fd0f7487dd metadata: rework doc comment 2009-03-22 21:02:45 +02:00
Sebastian Dröge
86719f194f jp2kenc: Add width/height/fourcc to the pad template caps 2009-03-21 10:19:47 +01:00
Tim-Philipp Müller
375263c946 dfbvideosink: include stdlib.h for abs() 2009-03-10 21:39:00 +00:00
Jan Schmidt
ba53f2ff3b Moved twolame from Bad to Ugly 2009-03-10 01:03:41 +00:00
Stefan Kost
772f8f6a8a metadata: cleanup, fix the test, add comments
First do not build the plugin, if we have none of the backend, as it won't work
then. Fix the miniobject_unref error in the test. Sprinkle a first handful of
debug logs into the element code.
2009-03-06 23:38:45 +02:00
Edward Hervey
bdc9c5618a faad: Use the public headers if faad2 >= 2.7. Fixes #573369
Since faad2-2.7, the public function prototypes are in sync with the
actual function prototypes used internally in libfaad.
2009-03-06 12:42:50 +01:00
Wim Taymans
1546625294 ladspa: fix compilation when LRDF is missing
--
2009-03-06 11:08:18 +01:00
Stefan Kost
b31fa28906 ladspa: remove -ldl as we now use glibs gmodule. 2009-03-05 22:55:17 +02:00
Stefan Kost
eae238a125 ladspa: add initial liblrdf support.
Get classification from rdf metadata.
2009-03-05 22:37:52 +02:00
Stefan Kost
1b7a9ca6c5 mplex: fix required version
With this version it builds on opensuse 11.1.
2009-03-05 22:04:48 +02:00
Stefan Kost
070ffb6940 ladspa: add LIBDIR/ladspa to search path and make path more portable
Use glib defines for searchpath separators. Filter searchpath to avoid scanning
path entries twice. Fix the return in ladspa_plugin_directory_search to return
wheter we found a plugin.
2009-03-04 15:10:30 +02:00
Stefan Kost
86c5975ebe ladspa: rewrite the directory scanning, fixes first part of #573370
Move the two function from search.c into gstladspa.c and make them static.
Remove non needed arguments from function prototypes. Use glib api for
simplicity and portability.
2009-03-04 15:10:30 +02:00
LRN
ccaa8de5aa faad: use gint8 instead of int8_t
Use gint8 instead of int8_t to fix compilation.
Fixes #573851.
2009-03-04 11:14:18 +01:00
LRN
b5d4c2a7bf gsmdec: Use G_BYTE_ORDER to fix Windows compile
gstgsmdec relies on BYTE_ORDER, which is not available on Windows. Use
G_BYTE_ORDER instead.
Fixes #573850.
2009-03-04 11:07:52 +01:00
Olivier Crête
6dbf8906b5 Add Doc for mimic plugin 2009-03-03 16:55:12 -05:00
Olivier Crête
288c11c0ed Move mimic to -bad 2009-03-03 14:34:07 -05:00
Olivier Crête
bc4ef4ab62 Re-indent to GST style 2009-03-03 14:34:07 -05:00
Olivier Crete
2451f95e0f [MOVED FROM GST-P-FARSIGHT] Only output a newsegment if the incoming newsegment isnt a time segment
20080725224726-3e2dc-f82b993c0fbfe8bd487d2f1962fec1d0b6564ebc.gz
2009-03-03 14:34:07 -05:00
Olivier Crete
a6c725572e [MOVED FROM GST-P-FARSIGHT] Remove unused member variables
20080725222648-3e2dc-24649782a39462c7c3fef9d6270b3db4c4ace1bb.gz
2009-03-03 14:34:07 -05:00
Olivier Crete
9439baafec [MOVED FROM GST-P-FARSIGHT] Send out the right segment and use stored timestamps directly
20080725222448-3e2dc-e119bf09ede1cf187581d59176c8b35bafb731ae.gz
2009-03-03 14:34:07 -05:00
Olivier Crete
3e785ea2de [MOVED FROM GST-P-FARSIGHT] Skip non-keyframes before we get a keyframe
20080725194833-3e2dc-583df57c8ebce4b149a01768ed7d3737136a208f.gz
2009-03-03 14:34:07 -05:00
Olivier Crete
ca53565719 [MOVED FROM GST-P-FARSIGHT] Ignore upstream newsegment events in mimdec
20080725193358-3e2dc-7c0f22386e0208a45eae9c1d7eb62e86f61d14ba.gz
2009-03-03 14:34:07 -05:00
Olivier Crete
a66cd25919 [MOVED FROM GST-P-FARSIGHT] emit the right timestamp in the newsegment event
20080725192530-3e2dc-a3cc0ce73fca181caee323d699d8576df916e8d3.gz
2009-03-03 14:34:07 -05:00
Olivier Crete
4e2d96596d [MOVED FROM GST-P-FARSIGHT] Use video/x-mimic as the caps type
20080725190849-3e2dc-38e4acc9d4ad8231ed22f6cc4d7d8c2a8b5668e9.gz
2009-03-03 14:34:07 -05:00
Olivier Crete
50d366b0f5 [MOVED FROM GST-P-FARSIGHT] Add proper locking to mimenc
20080704220713-3e2dc-6a22d1a423716e8b84bc3bda9986a1b4ff0c0d37.gz
2009-03-03 14:34:06 -05:00
Olivier Crete
6c6a95130b [MOVED FROM GST-P-FARSIGHT] Remove useless implementation of getcaps from mimdec
20080704220318-3e2dc-d81bc59b2308c5ad0d3144030c5650295e99f3c6.gz
2009-03-03 14:34:06 -05:00
Olivier Crete
c57073ea3d [MOVED FROM GST-P-FARSIGHT] Add proper locking to mimdec
20080704220243-3e2dc-71c157d82999dfb41bd62b4064b1887ab22e84c1.gz
2009-03-03 14:34:06 -05:00
Olivier Crete
7b80bac3ab [MOVED FROM GST-P-FARSIGHT] Remove leak
20080704215936-3e2dc-22d992f98c9931f062662fc05f1ce65bc97f619a.gz
2009-03-03 14:34:06 -05:00
Olivier Crete
7d52a6fc1a [MOVED FROM GST-P-FARSIGHT] Reset the gst timestamp if the time different is too large
20080704215550-3e2dc-76eb3f600f2b977e916f7e1f654529ddaff06ac9.gz
2009-03-03 14:34:06 -05:00
Olivier Crete
9e7cada4a9 [MOVED FROM GST-P-FARSIGHT] Use the timestamp from the first buffer as the base
20080704215208-3e2dc-5822771f2694deda4a7cd5cdd3c38ab9eff7fa2d.gz
2009-03-03 14:34:06 -05:00