mirror of
https://github.com/mapmapteam/mapmap.git
synced 2026-06-16 12:33:19 +02:00
Merge branch 'develop' of github.com:mapmapteam/mapmap into develop
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#include "MM.h"
|
||||
|
||||
const QString MM::VERSION = "0.1.1";
|
||||
const QString MM::COPYRIGHT_OWNERS = "Sofian Audry, Alexandre Quessy, Mike Latona, Vasilis Liaskovitis, Dame Diongue";
|
||||
const QString MM::FILE_EXTENSION = "mmp";
|
||||
const QString MM::VIDEO_FILES_FILTER = "*.mov *.mp4 *.avi *.ogg *.ogv *.mpeg *.mpeg1 *.mpeg4 *.mpg *.mpg2 *.mp2 *.mjpq *.mjp *.wmv *sock";
|
||||
const QString MM::IMAGE_FILES_FILTER = "*.jpg *.jpeg *.gif *.png *.tiff *.tif *.bmp";
|
||||
|
||||
@@ -30,6 +30,7 @@ class MM
|
||||
public:
|
||||
// General.
|
||||
static const QString VERSION;
|
||||
static const QString COPYRIGHT_OWNERS;
|
||||
static const QString FILE_EXTENSION;
|
||||
static const QString VIDEO_FILES_FILTER;
|
||||
static const QString IMAGE_FILES_FILTER;
|
||||
|
||||
+2
-3
@@ -532,8 +532,7 @@ void MainWindow::about()
|
||||
// Pop-up about dialog.
|
||||
QMessageBox::about(this, tr("About MapMap"),
|
||||
tr("<h2><img src=\":mapmap-title\"/> %1</h2>"
|
||||
"<p>Copyright © 2013 Sofian Audry, Alexandre Quessy, "
|
||||
"Mike Latona and Vasilis Liaskovitis.</p>"
|
||||
"<p>Copyright © 2013 %2.</p>"
|
||||
"<p>MapMap is a free software for video mapping.</p>"
|
||||
"<p>Projection mapping, also known as video mapping and spatial augmented reality, "
|
||||
"is a projection technology used to turn objects, often irregularly shaped, into "
|
||||
@@ -550,7 +549,7 @@ void MainWindow::about()
|
||||
"La Francophonie.</p>"
|
||||
"<p>http://mapmap.info<br />"
|
||||
"http://www.francophonie.org</p>"
|
||||
).arg(MM::VERSION));
|
||||
).arg(MM::VERSION, MM::COPYRIGHT_OWNERS));
|
||||
|
||||
// Restart video playback. XXX Hack
|
||||
videoTimer->start();
|
||||
|
||||
+18
-6
@@ -103,6 +103,19 @@ bool MediaImpl::_videoPull()
|
||||
// Pull current frame buffer.
|
||||
GstBuffer *buffer = gst_sample_get_buffer(sample);
|
||||
|
||||
// for live sources, video dimensions have not been set, because
|
||||
// gstPadAddedCallback is never called. Fix dimensions from first sample /
|
||||
// caps we receive
|
||||
if (_isSharedMemorySource && ( _padHandlerData.width == -1 ||
|
||||
_padHandlerData.height == -1)) {
|
||||
GstCaps *caps = gst_sample_get_caps(sample);
|
||||
GstStructure *structure;
|
||||
structure = gst_caps_get_structure(caps, 0);
|
||||
gst_structure_get_int(structure, "width", &_padHandlerData.width);
|
||||
gst_structure_get_int(structure, "height", &_padHandlerData.height);
|
||||
// g_print("Size is %u x %u\n", _padHandlerData.width, _padHandlerData.height);
|
||||
}
|
||||
|
||||
GstMapInfo map;
|
||||
if (gst_buffer_map(buffer, &map, GST_MAP_READ))
|
||||
{
|
||||
@@ -347,14 +360,14 @@ bool MediaImpl::loadMovie(QString filename)
|
||||
// Build the pipeline. Note that we are NOT linking the source at this
|
||||
// point. We will do it later.
|
||||
gst_bin_add_many (GST_BIN (_pipeline),
|
||||
_uridecodebin0, _queue0, _videoconvert0,
|
||||
videoscale0, capsfilter0, _appsink0, NULL);
|
||||
_isSharedMemorySource ? _shmsrc0 : _uridecodebin0, _queue0,
|
||||
_videoconvert0, videoscale0, capsfilter0, _appsink0, NULL);
|
||||
|
||||
// special case for shmsrc
|
||||
if (_isSharedMemorySource)
|
||||
{
|
||||
gst_bin_add (GST_BIN(_pipeline), _gdpdepay0);
|
||||
if (! gst_element_link_many (_uridecodebin0, _gdpdepay0, _queue0, NULL))
|
||||
if (! gst_element_link_many (_shmsrc0, _gdpdepay0, _queue0, NULL))
|
||||
{
|
||||
g_printerr ("Could not link shmsrc, deserializer and video queue.\n");
|
||||
}
|
||||
@@ -410,8 +423,8 @@ bool MediaImpl::loadMovie(QString filename)
|
||||
else
|
||||
{
|
||||
//qDebug() << "LIVE mode" << uri;
|
||||
g_object_set (_uridecodebin0, "socket-path", uri, NULL);
|
||||
g_object_set (_uridecodebin0, "is-live", TRUE, NULL);
|
||||
g_object_set (_shmsrc0, "socket-path", uri, NULL);
|
||||
g_object_set (_shmsrc0, "is-live", TRUE, NULL);
|
||||
_padHandlerData.videoIsConnected = true;
|
||||
}
|
||||
|
||||
@@ -448,7 +461,6 @@ bool MediaImpl::loadMovie(QString filename)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
qDebug() << "Pipeline started.";
|
||||
|
||||
//_movieReady = true;
|
||||
|
||||
@@ -35,6 +35,7 @@ Authors
|
||||
* Sofian Audry: lead developer, user interface designer, project manager.
|
||||
* Vasilis Liaskovitis: developer.
|
||||
* Mike Latona: user interface designer.
|
||||
* Dame Diongue: developer.
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
||||
Reference in New Issue
Block a user