summaryrefslogtreecommitdiffstats
path: root/edl.c
diff options
context:
space:
mode:
authorUoti Urpala <uau@mplayer2.org>2012-01-19 06:49:47 +0200
committerUoti Urpala <uau@mplayer2.org>2012-03-09 20:48:54 +0200
commit7576885677764a71fe03cec5f697f8a28f9365c8 (patch)
treee93b5c8469cbfc1ac6fc60684f5564a8f6a95be8 /edl.c
parent8a6b0b813a1431ca50986c90d97b72fa6640dbea (diff)
downloadmpv-7576885677764a71fe03cec5f697f8a28f9365c8.tar.bz2
mpv-7576885677764a71fe03cec5f697f8a28f9365c8.tar.xz
core: remove old EDL mode (--edl option)
Remove the old EDL implementation that was activated with the --edl option. It is mostly redundant and inferior compared to the newer demux_edl support, though currently there's no support for using the same EDL files with the new implementation and the mute functionality of the old implementation is not supported. The main reason to remove the old implementation at this point is that the mute functionality would conflict with following audio volume handling changes, and working on the old code would be a wasted effort in the long run as at some point it would be removed anyway. The --edlout functionality is kept for now, even though after this commit there is no code that could directly read its output.
Diffstat (limited to 'edl.c')
-rw-r--r--edl.c158
1 files changed, 0 insertions, 158 deletions
diff --git a/edl.c b/edl.c
deleted file mode 100644
index 677a2efb24..0000000000
--- a/edl.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "config.h"
-#include "mp_msg.h"
-#include "edl.h"
-
-char *edl_filename; // file to extract EDL entries from (-edl)
-char *edl_output_filename; // file to put EDL entries in (-edlout)
-
-/**
- * Allocates a new EDL record and makes sure allocation was successful.
- *
- * \return New allocated EDL record.
- * \brief Allocate new EDL record
- */
-
-static edl_record_ptr edl_alloc_new(edl_record_ptr next_edl_record)
-{
- edl_record_ptr new_record = calloc(1, sizeof(struct edl_record));
- if (!new_record) {
- mp_tmsg(MSGT_CPLAYER, MSGL_FATAL, "Can't allocate enough memory to hold EDL data.\n");
- exit(1);
- }
-
- if (next_edl_record) // if this isn't the first record, tell the previous one what the new one is.
- next_edl_record->next = new_record;
- new_record->prev = next_edl_record;
- new_record->next = NULL;
-
- return new_record;
-}
-
-/**
- * Goes through entire EDL records and frees all memory.
- * Assumes next_edl_record is valid or NULL.
- *
- * \brief Free EDL memory
- */
-
-void free_edl(edl_record_ptr next_edl_record)
-{
- edl_record_ptr tmp;
- while (next_edl_record) {
- tmp = next_edl_record->next;
- free(next_edl_record);
- next_edl_record = tmp;
- }
-}
-
-/** Parses edl_filename to fill EDL operations queue.
- * Prints out how many EDL operations recorded total.
- * \brief Fills EDL operations queue.
- */
-
-edl_record_ptr edl_parse_file(void)
-{
- FILE *fd;
- char line[100];
- float start, stop;
- int action;
- int record_count = 0;
- int lineCount = 0;
- edl_record_ptr edl_records = NULL;
- edl_record_ptr next_edl_record = NULL;
-
- if (edl_filename)
- {
- if ((fd = fopen(edl_filename, "r")) == NULL)
- {
- return NULL;
- }
-
- while (fgets(line, 99, fd) != NULL)
- {
- lineCount++;
-
- if ((sscanf(line, "%f %f %d", &start, &stop, &action))
- != 3)
- {
- mp_tmsg(MSGT_CPLAYER, MSGL_WARN, "Badly formatted EDL line [%d], discarding.\n",
- lineCount);
- continue;
- }
-
- if (next_edl_record && start <= next_edl_record->stop_sec)
- {
- mp_tmsg(MSGT_CPLAYER, MSGL_WARN, "Invalid EDL line: %s\n", line);
- mp_tmsg(MSGT_CPLAYER, MSGL_WARN,
- "Last stop position was [%f]; next start is [%f].\n"\
- "Entries must be in chronological order, cannot overlap. Discarding.\n",
- next_edl_record->stop_sec, start);
- continue;
- }
-
- if (stop <= start)
- {
- mp_tmsg(MSGT_CPLAYER, MSGL_WARN, "Invalid EDL line: %s\n",
- line);
- mp_tmsg(MSGT_CPLAYER, MSGL_WARN, "Stop time has to be after start time.\n");
- continue;
- }
-
- next_edl_record = edl_alloc_new(next_edl_record);
-
- if (!edl_records) edl_records = next_edl_record;
-
- next_edl_record->action = action;
-
- if (action == EDL_MUTE)
- {
- next_edl_record->length_sec = 0;
- next_edl_record->start_sec = start;
- next_edl_record->stop_sec = start;
-
- next_edl_record = edl_alloc_new(next_edl_record);
-
- next_edl_record->action = action;
- next_edl_record->length_sec = 0;
- next_edl_record->start_sec = stop;
- next_edl_record->stop_sec = stop;
- } else
- {
- next_edl_record->length_sec = stop - start;
- next_edl_record->start_sec = start;
- next_edl_record->stop_sec = stop;
- }
-
- record_count++;
- }
-
- fclose(fd);
- }
-
- if (edl_records)
- mp_tmsg(MSGT_CPLAYER, MSGL_INFO, "Read %d EDL actions.\n", record_count);
- else
- mp_tmsg(MSGT_CPLAYER, MSGL_INFO, "There are no EDL actions to take care of.\n");
-
- return edl_records;
-}