Tim-Philipp Müller
5d6bdf6052
Fix some unused-but-set-variable warnings with gcc 4.6
2011-04-15 00:24:47 +01:00
Wim Taymans
d0e2f7f2dc
meta: update for new API
2011-03-08 17:03:22 +00:00
Wim Taymans
a5c1e5fd86
meta: fix for new metadata api
2011-02-28 12:06:57 +01:00
Wim Taymans
c6859960fa
miniobject: port rsndvd
2011-02-28 12:06:57 +01:00
Jan Schmidt
7e3472d772
resindvd: Defer pushing tag updates until streaming.
...
Push tag/title info updates in the streaming thread, avoiding
spurious losses of the downstream events when flushing.
See: https://bugzilla.gnome.org/show_bug.cgi?id=594222
2010-12-12 02:21:53 +11:00
Jan Schmidt
4810fa4c51
resindvd: Attempt to use glib language setting for DVD menus/audio
2010-12-12 02:21:53 +11:00
Jan Schmidt
c12fc9edda
resindvd: Fix silly typo in button state tracking.
2010-12-12 02:21:53 +11:00
Stefan Kost
0387a89cad
various (ext): add missing G_PARAM_STATIC_STRINGS flags
...
Canonicalize property names as needed.
2010-10-19 17:13:26 +03:00
Tim-Philipp Müller
887fc8e6e7
resindvdsrc: improve error messages on read erros
...
Provide i18n-ed error messages when a read error happens,
and point out that the error could be happening because the
DVD is scrambled.
https://bugzilla.gnome.org/show_bug.cgi?id=613633
2010-09-26 20:43:43 +01:00
David Schleef
c3d4977761
Split out GST_PLUGINS_BAD_CFLAGS from GST_CFLAGS
...
Move include directives for gst-libs into GST_PLUGINS_BAD_CFLAGS,
and fix all the Makefiles that use it. This is so that all the
include directories are added in the proper order: first the
directories in srcdir/builddir, then gst-plugins-base dirs, then
gstreamer dirs. If the order is wrong, installed headers may be
used instead of local headers and/or uninstalled headers from -base.
2010-05-19 18:24:02 -07:00
Jan Schmidt
491a202d5c
resindvd: Apply caps to generated buffers
...
Avoid the new warning from the core about not being able to apply caps
to NAV packet buffers, where resindvdsrc holds a ref.
2010-05-06 22:39:05 +10:00
Sebastian Dröge
49a85930c5
resindvdbin: Use GST_FLOW_CUSTOM_SUCCESS instead of some integer
...
Fixes compiler warnings with gcc 4.5.
This is the same as commit 5a51dbd
.
2010-04-16 19:45:16 +02:00
Sebastian Dröge
cd890c6846
Revert "resindvdbin: Apply gcc 4.5 compiler warning workaround to the mpegpsdemux copy"
...
This reverts commit 65b0f75d1b
.
2010-04-16 19:41:46 +02:00
Sebastian Dröge
65b0f75d1b
resindvdbin: Apply gcc 4.5 compiler warning workaround to the mpegpsdemux copy
...
Same as a331228ecc
.
2010-04-15 21:40:19 +02:00
Benjamin Otte
33c2f5fb01
Add -Wwrite-strings
...
and fix its warnings
2010-03-22 13:16:33 +01:00
Benjamin Otte
f96e4f1581
Add -Wmissing-declarations -Wmissing-prototypes to configure flags
...
And fix all warnings
2010-03-21 21:39:18 +01:00
Benjamin Otte
775c7584fd
gst_element_class_set_details => gst_element_class_set_details_simple
2010-03-18 22:46:41 +01:00
Tim-Philipp Müller
c31559841a
resindvd: fix unaligned access in this copy of mpegdemux as well
...
See #606371 .
2010-01-11 01:03:38 +00:00
Jan Schmidt
2e4c26239e
resindvd: Remove local basesrc copy
...
Use the real version of basesrc instead of a local copy now that it
supports the seamless segment feature that resin needs.
2009-11-21 17:37:31 +01:00
Jan Schmidt
6b45854967
resindvd, dvdspu: Use new still-frame API from gst-plugins-base
...
Replace the current custom DVD still-frame events with new event
creation/parsing API from libgstvideo.
2009-11-18 03:10:32 +00:00
Jan Schmidt
c4fb624ad9
resindvd: Guard against a divide-by-zero error.
...
https://bugzilla.gnome.org/show_bug.cgi?id=600263
2009-11-18 01:58:20 +00:00
Tim-Philipp Müller
02c5942325
resindvd: printf format fixes
2009-11-05 21:47:05 +00:00
Jan Schmidt
7d53c39237
resindvd,autoconvert: Avoid depending on 0.10.26 API
...
Wait until after the next release to bump the core requirement.
Until then, don't use gst_plugin_feature_list_copy and
gst_pad_peer_get_caps_refed.
2009-11-04 23:17:33 +00:00
Jan Schmidt
3d3d131b0f
resindvd: Remove old code and obsolete comments
...
Remove some disabled code paths and obsolete FIXME comments
2009-11-04 23:10:16 +00:00
Jan Schmidt
f7b832d19b
resindvd: Fix an oversight from updating the copy of basesrc
...
Plugins need gst-i18n-plugin.h, not gst-i18n-lib.h
2009-11-02 10:22:41 +00:00
Jan Schmidt
bc331df7f5
resindvd: Use gst_base_src_new_seamless_segment()
...
When switching to a new seamless segment, use the new
gst_base_src_new_seamless_segment() function, because elements can't
send themselves seek events from the streaming thread.
2009-11-02 02:54:23 +01:00
Jan Schmidt
d0e4331648
resindvd: Add gst_base_src_new_seamless_segment() to GstBaseSrc copy
...
Add a new function to the internal copy of GstBaseSrc for starting a new
seamless segment.
2009-11-02 02:54:23 +01:00
Jan Schmidt
3e72e7b48b
resindvd: Update the base source copy
...
This breaks seamless segment updates, causing deadlocks,
to be fixed in subsequent commits.
2009-11-02 02:54:23 +01:00
Jan Schmidt
4a394cd8cf
resindvd: Remove extra new-segment in rsnstreamselector. Send discont.
...
All the input pads for the resin stream selectors have the same source,
and receive/send the same segment info, so there's no need to send a
segment when switching and activating a different pad. Removing it makes
on-the-fly audio track switching work properly.
After switching audio track, mark the next buffer discont.
2009-10-27 12:23:26 +00:00
Jan Schmidt
1b03e576e1
resindvd: Avoid a deadlock. Improve chapter seek.
...
Avoid a potential deadlock that happens when a call to
gst_clock_id_wait_async() immediately calls the callback.
Improve previous chapter seeking slightly by avoiding 'segment
start != -1' assertions when there is no previous chapter and
the seek therefore fails.
2009-10-27 12:23:26 +00:00
Jan Schmidt
0c7d5bb1d8
resindvd: lower a debug message to log level.
2009-10-27 12:23:25 +00:00
Jan Schmidt
b5caf70b41
resindvd: Add a keypress mapping for switching audio track
...
For debugging purposes, make keys 1-8 switch audio track.
2009-10-27 12:23:25 +00:00
Jan Schmidt
f33a906157
resindvd: Set the new initial-identity property on autoconvert
...
https://bugzilla.gnome.org/show_bug.cgi?id=599469
2009-10-27 12:23:24 +00:00
Jan Schmidt
68621dfa56
resindvd: Re-send audio stream select on re-configuration
...
When the layout of the audio streams changes, re-send the current
audio stream selection event, in order to trigger switching to the
new stream properly.
https://bugzilla.gnome.org/show_bug.cgi?id=575568
2009-10-16 11:09:14 +01:00
Jan Schmidt
53bc4d1803
resindvd: Fix a small flaw - if any audio stream exists, use it
...
Don't create a dummy audio stream if only non-AC3 tracks exist.
2009-10-16 11:09:14 +01:00
Jan Schmidt
cb2d8b984d
resindvd: Fix decoder pad template to allow LPCM
...
The pad template in the new switching decoder is too restrictive,
preventing the LPCM decoder from being selected.
https://bugzilla.gnome.org/show_bug.cgi?id=575568
2009-10-15 22:35:40 +01:00
Jan Schmidt
30845f1118
resindvd: Don't leak a reference to the parent in rsnaudiomunge
...
Don't leak a reference to the pad parent in the sink pad event handler
in rsnaudiomunge.
https://bugzilla.gnome.org/show_bug.cgi?id=598263
2009-10-13 15:10:09 +01:00
Stefan Kost
b7b8b7f407
build: fprintf, sprintf, sscanf need stdio.h
2009-10-07 15:26:12 +03:00
Sebastian Dröge
5df38440d0
resindvdbin: If no suitable audio decoder is found play the DVD without audio
2009-10-01 15:09:27 +02:00
Sebastian Dröge
5d74676294
resindvdbin: Also post missing element messages if any other element is missing
2009-10-01 14:54:43 +02:00
Sebastian Dröge
b67bc258c8
resindvdbin: Post missing decoder messages if one is missing
...
For video this is an error, for audio only a warning.
2009-10-01 14:52:06 +02:00
Sebastian Dröge
02fbd5b42a
resindvdbin: Use the new video decoder
...
This makes resindvdbin work with other MPEG video decoders than
mpeg2dec, for example the FFMPEG or Fluendo MPEG decoders.
2009-10-01 14:42:36 +02:00
Sebastian Dröge
157a6a7856
resindvdbin: Rename files
2009-10-01 14:37:43 +02:00
Sebastian Dröge
e998a22d0c
resindvdbin: Refactor audio decoder and add a (MPEG) video decoder
2009-10-01 14:36:23 +02:00
Sebastian Dröge
3fe4b2106d
rsnaudiodec: Get desired sink caps from the pad template
2009-10-01 13:29:03 +02:00
Sebastian Dröge
d96defb164
resindvdbin: Create external srcpads from the static pad templates
2009-09-30 15:49:02 +02:00
Sebastian Dröge
0171e32944
resindvdbin: Use gst_caps_can_intersect() because it's faster
2009-09-26 17:25:59 +02:00
Sebastian Dröge
bf1b64fab0
rsnaudiodec: Use ghost pads and always forward application/x-gst-dvd events immediately
...
Fixes bug #582779 .
2009-09-26 17:25:59 +02:00
Jan Schmidt
e6165520b9
resindvdbin: Use autoconvert in rsnaudiodec and build a list of possible decoders
...
Partially fixes bug #582779 .
2009-09-26 17:25:58 +02:00
Sebastian Dröge
07f9536476
rsnstreamselector: Use new single object iterator for the internally linked pads
...
This prevents an ugly deadlock.
2009-09-25 11:07:49 +02:00
Sebastian Dröge
a9e05725d2
resindvdbin: Don't block the external ghost pads but only their targets
2009-09-25 10:51:45 +02:00
Sebastian Dröge
07bd0d87aa
rsnstreamselector: Use iterate internal links instead of deprecated get internal links
2009-08-31 08:14:10 +02:00
Руслан Ижбулатов
09b2abf87b
resindvd, rawparse: fix LDFLAGS for gst-plugins-base libs
...
Fixes #593063 .
2009-08-25 23:55:41 +01:00
Jan Schmidt
6fd890d65f
resindvd: Don't send empty language code strings
...
Ignore empty language codes on some poorly coded DVDs, rather than
setting empty strings into our outgoing taglist.
2009-07-13 19:30:50 +01:00
Tim-Philipp Müller
6eb167a176
Make build without warnings with debugging disabled
2009-06-19 16:21:28 +01:00
Jan Schmidt
4d5a48db97
resindvd: Create all the audio streams of all formats
...
Enable creation of the demuxer pads for all audio streams, even types we
don't yet support. This means that unsupported types (LPCM, DTS) are output,
but not linked to anything yet. If only unsupported streams are available,
the user hears silence instead of having the pipeline not pre-roll correctly.
This is a prerequisite for hooking up the automatic decoder switching.
2009-05-27 22:57:03 +01:00
Jan Schmidt
8f70498c89
resindvd: LPCM streams are only from 0xa0 to 0xaf.
...
Fix the same bug as the previous commit, but in resindvd's copy of
mpegdemux.
2009-05-26 21:07:47 +01:00
Jan Schmidt
19d450a164
resindvd: Fix subpicture timing in some cases
...
Make sure we send events to all pads. Unmark the notlinked flag on
freshly selected pads to ensure they get data.
2009-05-26 15:31:53 +01:00
Jan Schmidt
59a3abfdf3
resindvd: Try a different approach to segment filling.
...
Restore the old segment update behaviour, and instead extend the
close segment stop time if the SCR (last_stop) overruns the calculated
stop position.
2009-05-26 15:31:52 +01:00
Jan Schmidt
462419f279
resindvd: Minor change to inline a function in the demuxer
2009-05-26 15:31:52 +01:00
Jan Schmidt
e62b64f1d3
resindvd: Fix the argument order in a debug statement
...
Make the debug statement correctly show the 'old' and 'new' button
coordinates, instead of the wrong way around.
2009-05-14 11:28:15 +01:00
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
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
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
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