Commit Graph

29 Commits

Author SHA1 Message Date
Lukas Prediger bb618efc5d Transcoder now accepts URLs for sources. 2022-01-10 16:39:58 +00:00
Lukas Prediger 5c8ca3754f Added overwrite_existing argument to Transcoder::AddJob 2021-08-31 10:19:32 +01:00
Jim Broadus 79d81283a8 transcoder: Add an enum for known codecs
Add CodecType to enumerate codecs available for settings and a MimeType
to provide the mime string.
2021-02-06 21:28:38 +00:00
Jim Broadus eb7a9bfa4c transcoder: Show options based on encode element
Instead of assuming a specific set of options based on a format,
determine which encoder element will actually be used in the pipeline.
2021-02-03 10:46:14 +00:00
Jim Broadus a98035d635 transcoder: Separate suitable element search from creation
Split best element type search from Transcoder::CreateElementForMimeType
into new FindBestElementForMimeType method. This will allow the setting
dialog to determine the encoder element type before the pipeline is
built.
2021-02-03 10:46:14 +00:00
Jim Broadus 18eef830a5 transcoder: Add ability to dump pipeline graphs
Add a "Dump Graph" menu option to the pipeline view if CLEMENTINE_DEBUG
is enabled.
2021-01-29 22:30:03 +00:00
Jim Broadus 8d11e9ffab transcoder: Remove unused slots
Transcoder::Start() and Transcoder::Cancel() were defined as slots but
never used as such.
2021-01-29 13:12:26 +00:00
Jim Broadus 8c2ab8fa05 transcoder: Add pipeline list to details dialog
List current running transcode pipelines when the details dialog is displayed.
This will be allow the addition of cancel and debug options.
2021-01-26 10:31:25 +00:00
Jim Broadus 4f5bf1cc6f gstengine: Give pipelines unique names
Currently, most pipelines are named "pipeline". Use a type string in combination
with the stream id to give each pipeline a unique name.
2021-01-13 22:59:49 +00:00
Jim Broadus 7b94309827 transcoder: Use GstPipelineBase class for pipeline
This allows the use of the DumpGraph method in transcoding pipelines. The call
can be added to Transcoder::StartJob for debugging. In the future, a trigger
may be added to the debug console ui.
2021-01-10 18:14:57 +00:00
John Maguire 341dc7326f Reformat all C++ 2020-09-22 14:56:06 +01:00
Jonas Kvinge d09c27f719 Remove extra ';' 2019-11-10 00:30:18 +01:00
Andreas 880308c205 Remove async bus callback from transcoder. This caused the UI to get unresponsive after a song was converted.
A bit more information:
Normal transcoding worked fine, the transcoder object was in the main thread. In the network remote, a new transcoder object is created which runs in the network remote thread. When a song was transcoded there, the UI became unresponsive.
Removing the async bus callback solved the problem, exactly the g_source_remove() method caused it. Since the bus callback returned FALSE (GST_BUS_DROP), the watch was already removed. (See http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html#gst-bus-add-watch)
2014-11-14 23:50:59 +01:00
Andreas ff172f6ed4 Network remote can now transcode lossless files before sending them to the remote.
- It is configurable in the settings.
- Any format can be chosen that is supported by the transcoder.
- The status of the transcoder is send to the remote.

- Transcoder format settings have now a postfix so we can define mutliple transcoder formats and use them separatly. Here one for the normal transcoder and one for the network remote transcode. You can pass the postfix in the constructor.
- Fixed Transcoder crash (was introduced with the gstreamer1.0 merge, decodebin doesn't have a "new-decoded-pad").
- Transcoder emits the output filename as well on "JobComplete" signal
- Transcoder can now convert a file to a temporary file ("AddTemporaryJob")
2014-11-13 22:31:49 +01:00
Mattias Andersson 98fd82a371 Use the TagReaderClient to tag the files in the CD ripper instead of
using Taglib directly.
2014-05-12 23:57:11 +02:00
John Maguire 5146bcdebc Some more NULL -> nullptr conversions. 2014-02-21 17:30:46 +01:00
John Maguire 192b60d965 Use nullptr as parent parameter default everywhere 2014-02-10 16:03:54 +01:00
John Maguire bebd781fdf Reformat all non-3rd-party C/C++/Objective-C++.
Command line:
find src ext -regex '.*\.\(h\|cpp\|mm\)' -exec clang-format -i
 -style='{BasedOnStyle: Google, DerivePointerBinding: false}' {} \;
2014-02-07 16:34:20 +01:00
John Maguire d309d4ab27 Use c++11 instead of boost where possible. 2014-02-06 16:51:39 +01:00
asiviero 215056e1b9 Added signal to catch transcoded name, altered duplicate format to avoid tagging problems 2014-01-11 02:47:49 -02:00
David Sansome 91b4cfcb68 Destroy gstreamer transcoding pipelines properly so the input and output files are closed, and can be read again on Windows. 2011-11-29 16:57:54 +00:00
David Sansome 5ed1fcd5e1 Add a load of options to the transcoders. Fixes issue 415. 2011-04-16 23:04:15 +00:00
David Sansome ed1a25693c Add missing licenses to debian/copyright, and add copyright information to each source file 2010-11-20 13:27:10 +00:00
David Sansome 728925097d Show progress information when transcoding files to copy to a device 2010-08-30 11:36:40 +00:00
David Sansome 4b381e00fd Transcode files when copying them to devices 2010-08-29 19:22:21 +00:00
David Sansome d8ea4660e7 Store the device's transcode preference in the database 2010-08-29 15:32:36 +00:00
David Sansome 3e1e880c19 Add more file formats to the transcoder, and add a function to get a preset by song filetype 2010-08-29 14:25:33 +00:00
David Sansome 160879327f Pick gstreamer codecs and muxers for transcoding automatically instead of having a hardcoded list 2010-08-22 00:27:14 +00:00
David Sansome 1aee5e4667 Split all the source files up into seven new directories. 2010-05-10 21:50:31 +00:00