summaryrefslogtreecommitdiffstats
path: root/src/multimedia/qmediaformat.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix crashes on Linuxwip/qt6Friedemann Kleint2021-05-261-3/+14
| | | | | | | Check for videosink and QPlatformMediaFormatInfo in QMediaFormat. Change-Id: I9603dae66fc4eb6a4433f43d2464e9f97916235f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Make QMediaFormat movableVolker Hilsheimer2021-05-121-3/+31
| | | | | | | | | | The d-pointer is only a reserved placeholder, but make it a QExplicitlySharedDataPointer anyway. The default constructor just initializes to zero, so the overhead is marginal, but makes it safe to extend in the future if needed. Change-Id: Ib6269f59b59af05647c0f9295ce634d5c327339e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Support WAV format recordings on macOSDoris Verria2021-05-121-1/+1
| | | | | | | | Apple supports recording to a wav file so we can add the WAV container and audio codec to the list of supported encoding formats for macOS/iOS. Change-Id: Ic161d8ef1184d2d6040da6c07995b51b821b7bf1 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of QMediaFormat::ModeDoris Verria2021-05-121-5/+3
| | | | | | | | | This is not needed as we can determine the mode from the encoder settings' codecs Change-Id: I1850494cad8fef1ce78f056bcbf8e8b6b0e98112 Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Rename canEncode/Decode to isSupported(ConversionMode)Volker Hilsheimer2021-05-071-13/+4
| | | | | | Change-Id: Id55d3fb9d608be1806b4d772b7b8109a414e362d Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix tst_qmediaencoderLars Knoll2021-04-271-0/+9
| | | | | | | | | Fix and re-enable all tests for QMediaEncoderSettings while at it. Change-Id: Ie15cd59a849412e02c6d38c91bf1bea16456cdd5 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Next steps in consistent class namingLars Knoll2021-03-021-7/+7
| | | | | | | | | | All platform interfaces should be named QPlatformMediaFoo. This is consistent with QPA in qtbase, where the backend for QFoo is called QPlatformFoo. Change-Id: I40e7b035638eb27e670210e149f6f8b717e21a63 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* More changes for QMediaFormat handling on the backendLars Knoll2021-02-091-310/+44
| | | | | | | | | | The codecs supported by a certain muxer/demuxer are actually something we need to determine from the backend. So a static mapping in QMediaFormat will not really work. Change-Id: I848c607ed222eba160a7c9c1c7b216b991e5ceba Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add support for retrieving a mimetype for a QMediaFormatLars Knoll2021-02-091-23/+49
| | | | | | | | | And remove WMA from the list of supported codecs, add ALAC instead as it's more widely used. Change-Id: I3c08f2d1871783dc1e15c948e2ec9a7a033cb917 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Use the new QMediaEncoderSettings in QMediaRecorderLars Knoll2021-02-091-25/+124
| | | | | | | | | | | | | Switch the backends for Android (compiles but untested), AFFoundation and GStreamer over to use the new QMediaEncoderSettings. Get rid of the old *EncoderControl classes and associated infrastructure. Change-Id: Ic75ff43eab55aeb0ab53d7248f7f5ff70b14c05f Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* New API for handling media formats and codecsLars Knoll2021-02-091-0/+479
Implement a new API for handling media formats and codecs. The API gives better control to discover supported file formats and codecs for encoding and decoding. QMediaRecorder will be moved over to use the new API in a subsequent commit. Android only has stubs implemented currently, as I can't test anything beyond simple compilation. Change-Id: Iff5f044f87c97f83d9151b10d7a78709822e077a Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>