You are here

media_sharestream.module in Media: ShareStream 7

Provides a stream wrapper and formatters appropriate for accessing and displaying ShareStream videos.

File

media_sharestream.module
View source
<?php

/**
 * @file
 * Provides a stream wrapper and formatters appropriate for accessing and
 * displaying ShareStream videos.
 */

// Load all ShareStream file formatters.
require_once dirname(__FILE__) . '/includes/media_sharestream.formatters.inc';

/**
 * Implements hook_media_internet_providers().
 */
function media_sharestream_media_internet_providers() {
  return array(
    'MediaInternetShareStreamHandler' => array(
      'title' => t('ShareStream'),
    ),
  );
}

/**
 * Implements hook_stream_wrappers().
 */
function media_sharestream_stream_wrappers() {
  return array(
    'sharestream' => array(
      'name' => t('ShareStream videos'),
      'class' => 'MediaShareStreamStreamWrapper',
      'description' => t('Remote videos hosted on a ShareStream video server.'),
      'type' => STREAM_WRAPPERS_READ_VISIBLE,
    ),
  );
}

/**
 * Implements hook_permission().
 */
function media_sharestream_permission() {
  return array(
    'configure sharestream' => array(
      'title' => t('Configure Media: ShareStream settings'),
    ),
  );
}

/**
 * Implement hook_menu().
 */
function media_sharestream_menu() {
  $items = array();
  $items['admin/config/media/media-sharestream'] = array(
    'title' => 'ShareStream settings',
    'description' => 'Configuration settings for Media: ShareStream.',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'media_sharestream_settings_form',
    ),
    'access arguments' => array(
      'configure sharestream',
    ),
    'file' => 'includes/media_sharestream.admin.inc',
  );
  return $items;
}

/**
 * Implements hook_theme().
 */
function media_sharestream_theme($existing, $type, $theme, $path) {
  return array(
    'media_sharestream_video' => array(
      'variables' => array(
        'uri' => NULL,
        'options' => array(),
      ),
      'file' => 'media_sharestream.theme.inc',
      'path' => $path . '/themes',
      'template' => 'media-sharestream-video',
    ),
  );
}

/**
 * Implements hook_media_parse().
 *
 * @todo This hook should be deprecated. Refactor Media module to not call it
 * any more, since media_internet should be able to automatically route to the
 * appropriate handler.
 */
function media_sharestream_media_parse($embed_code) {
  $handler = new MediaInternetShareStreamHandler($embed_code);
  return $handler
    ->parse($embed_code);
}

/**
 * Implements hook_file_mimetype_mapping_alter().
 */
function media_sharestream_file_mimetype_mapping_alter(&$mapping) {
  $mapping['mimetypes'][] = 'video/sharestream';
}